本体 × DDD × AI
ONTOLOGY · DOMAIN-DRIVEN DESIGN · AI // 把概念说清楚的力量
> 1993 年知识工程师 Gruber 说:本体是"概念化的明确规范";2003 年 Evans 在 DDD 里说:让开发者与领域专家共用一套统一语言、按限界上下文切分边界。两条路其实是同一件事的两个精度档位——给真实世界建共享的概念模型:本体走形式化路线(OWL 公理可推理),DDD 走工程化路线(代码可执行)。LLM 时代它们突然合流:说清楚概念的回报率暴涨——CLAUDE.md/AGENTS.md 是统一语言的 prompt 化身,JSON Schema 是轻量本体,Bounded Context 是 agent 的上下文边界,本体接地的 RAG(GraphRAG/OG-RAG 一族)把"幻觉"从祈祷问题变成架构问题。模型越强,越贵的是没说清楚的那部分。
Principle — 原理与来源
本体(Ontology):词借哲学("存在的系统化说明"),计算机语义由 Tom Gruber 1993 一锤定音:"概念化的明确规范"——用类(Class)、属性(Property)、关系(ObjectProperty)、公理(Axiom:如传递性、不相交性)显式定义一个领域里"有什么、什么关系、受什么约束"。W3C 语义网栈(RDF 三元组 / OWL / SPARQL)让它可序列化、可推理:新实例喂进公理系统能推出你没写的事实、查出你没看见的矛盾。
DDD(领域驱动设计):Eric Evans 2003《Domain-Driven Design》。两大支柱:统一语言(Ubiquitous Language——开发者与领域专家共用一套词汇,代码、文档、对话全用它," Within a bounded context, you will have a coherent dialect of the ubiquitous language")与限界上下文(Bounded Context——同一个词在不同边界内含义不同,模型只在自己边界内求一致,边界之间用上下文映射(Context Map)协作:防腐层、共享内核、客户-供应商)。Evans 本人 20 年回顾:战略设计这半部(语言/边界/映射)老化得最好,战术模式(Entity/Repository 等)反而是次要半部。
为什么在 AI 开发里合流:LLM 的输出质量由输入的概念清晰度决定——模糊进,幻觉出。于是三个传统工具被重新定价:① 统一语言 → 上下文工程:CLAUDE.md/AGENTS.md 本质是写给 agent 的术语表与规约,是 Ubiquitous Language 的 prompt 形态;② 本体 → 结构化输出与接地:JSON Schema/Pydantic 是轻量本体(类型+约束+枚举),GraphRAG(微软 2024)用 LLM 抽知识图谱做检索接地、OG-RAG(2024)更进一步用预定义本体约束生成——幻觉率显著下降;③ 限界上下文 → agent 边界:每个 agent 的上下文窗口就是一个 bounded context,agent 间的协议就是 context map,防腐层 = prompt 适配器(隔离外部模型的词汇污染)。
Apply — 用在哪里
Simulate — 三层映射实验室 × 接地收益沙盘
Personal Takeaways — 个人启示 · 03
歧义是复利的成本项
一个没定义的术语,被写进规约、复制进 prompt、放大进每次生成、再被人审时各自理解——歧义按交互次数复利。术语表不是文档洁癖,是全链路的降息操作;先把十个核心词定死,胜过调一百次 prompt。
模型越强,概念越贵
LLM 把"写清楚"的回报率拉高了一个数量级:同一份 schema,强模型能兑现到接近公理级的一致性——瓶颈从"实现能力"转移到"定义能力"。投资方向相应改变:建模功夫(本体思维 + DDD 边界感)现在是 AI 团队回报率最高的技能。
边界先于模型
限界上下文教的事在 agent 时代加倍成立:每个 agent 只在自己的概念边界内求一致,跨边界必须走显式协议——先划清谁管什么词,再决定用什么模型。多数"多 agent 混乱"的根源不是模型弱,是 bounded context 没画。