本体论为什么对 AI Builder 有用
本体论规定对象、关系与何者为真;边界不清时,模型用概率填缝,你在付隐性技术债。
哲学家争论「存在」时,工程师的地板在漏水:你的系统到底在操作哪些对象,它们如何合法地连在一起。
本体论(ontology)不是论文装饰,是共享现实的可编译描述。
一句话
本体论回答四问:
有哪些对象?
允许哪些关系?
哪些状态合法?
什么叫同一、什么叫更新?
答不清楚的地方,模型会用统计相关性替你答——答案不一定错,但不可审计。
为什么这和 AI 强相关
LLM 的默认世界观是软:词向量里什么都「有点像」。
工程事故集中在:
- 实体混淆:把「项目名」当「客户名」推理下去。
- 关系胡编:A 相关 B 被说成 A 拥有 B。
- 约束缺席:动作应该在「已付款」后执行,系统却从不检查状态机。
- 跨模块同名:
role在权限表与 HR 表里是两个宇宙。
对 builder 最有用的四块(按落地顺序)
1. 实体清单(Extensions of objects)
写出一等公民:能被创建、查询、归档、授权的东西。
不是名词表,是生命周期对象。
2. 关系白名单
允许哪些边:owns、assigned_to、depends_on……
基数与方向写死:多对多要不要连接表,删除时是否级联。
3. 约束与守卫
哪些三元组非法:「未认证用户 → admin 角色」应编译失败,而不是运行时随缘。
4. 语义一致性契约
同一概念在 RAG、工具 schema、业务代码里同名同义;版本升级要有迁移策略。
本体论不是为了学术完整
目标不是画满 UML,而是减少四类成本:
- prompt 语义漂移
- agent 任务误解
- 数据层概念冲突
- 合规解释链断裂
开放世界 vs 封闭世界(一句)
封闭世界:没说的就当假(常见数据库假设)。
开放世界:没说的只是未知(语义网传统)。
混用而不标注,会在「为什么检索没命中」问题上吵一辈子。
一个简单判据
若团队常说「它理解得差不多,但总有点偏」——优先怀疑本体松,其次才怀疑模型笨。
跨域锚:本体 ≈ 编程语言类型系统 + 不变式
没有类型,靠测试补;测试盖不住组合爆炸。
一句话结论
本体论让系统从**「好像知道自己在说什么」变成「处理链上的每一步可被类型检查」**。
今晚花二十分钟列:核心实体、关键关系、三条绝不能违反的不变式——明天你的 prompt 长度通常会变短,而不是变长。