一个退款 Agent 收到用户请求:
我的包裹晚到了,帮我把这笔钱退掉。
模型很容易理解这句话,也能生成一段听起来合理的处理计划。但真正执行前,系统至少要回答:用户说的是哪张订单?订单是否完成支付?退款应退回哪一笔支付?是否已经退过?当前渠道允许自动退款多少金额?这个用户、订单与支付账户之间是什么关系?
这些问题的答案不藏在模型参数里,也不只是“多塞一点上下文”就能稳定解决。它们共同指向一个更基础的缺口:Agent 能说人话,却未必理解组织内部各种对象的精确定义、关系和行动边界。
Latent.Space 的文章 Ontologies Are So Back: Why AI Agents Are Reviving the Semantic Web 把这个缺口重新带回“本体(Ontology)”这个有些古老的概念。文章的核心判断很有启发:概率型模型需要逻辑护栏,开放式循环需要一组有边界的规则。但如果只把它读成“给 LLM 接一个知识图谱”,就会错过真正的工程问题。
我的结论是:Agent 需要的不是一张更大的知识图谱,而是一套可执行的世界模型。它至少要同时表达“世界里有什么”“数据在哪里”“什么动作被允许”“刚才实际发生了什么”。本体负责其中关键的一层,但不能独自承担全部责任。
先搭一张心智地图
这套东西存在,是为了解决 Agent 从“生成答案”走向“改变世界”时的语义漂移:同一个词在不同系统里含义不同,同一个对象散落在多份数据里,一次看似合理的动作可能违反隐含业务约束。
它位于 Agent 循环和企业系统之间:上接模型的理解与规划,下接数据库、API、权限系统和审计日志。读下去只需要跟踪四个部件:
| 部件 | 回答的问题 | 改动这个杠杆会怎样 |
|---|---|---|
| 业务本体 | 世界里有哪些对象、关系和概念? | 影响 Agent 能否用统一语义理解任务 |
| 技术映射 | 这些对象的数据在哪里、如何关联? | 影响 Agent 能否拿到正确事实 |
| 执行约束 | 哪些状态和动作合法、谁有权执行? | 影响错误动作能否在落地前被拦住 |
| 运行轨迹 | Agent 看到了什么、推断了什么、做了什么? | 影响审计、评测和系统能否持续修正 |
四层中任何一层太弱,系统都会出现不同的失败:本体弱,Agent 会混淆概念;映射弱,会拿错数据;约束弱,会把合理语言变成危险动作;轨迹弱,出了问题也找不到是哪一步漂了。
flowchart LR
U["用户目标"] --> A["LLM 理解与规划"]
A --> O["业务本体<br/>对象、关系、语义"]
O --> M["技术映射<br/>数据源、API、实体解析"]
M --> C["执行约束<br/>校验、权限、审批"]
C --> T["工具执行"]
T --> V["结果验证与运行轨迹"]
V -->|"继续 / 修正 / 终止"| A
本体不是“换了名字的知识图谱”
原文引用了一个很易懂的压缩定义:本体就是“图形式的数据”。作为入门直觉没问题,但作为工程定义还不够。
一张图只说明数据可以表示为节点和边;本体还要回答节点和边是什么意思。它会定义领域里的类、属性、关系,以及这些概念之间可以推导的逻辑。例如:
PremiumCustomer是一种Customer;- 每个
Refund必须关联一笔Payment; refundedFrom与hasRefund表达同一关系的两个方向;PaymentAccount和Customer是不同类型的对象,不能因为名称相似就混为一谈。
把几个常被混用的词分开,会清楚很多:
| 概念 | 它主要描述什么 | 它不自动保证什么 |
|---|---|---|
| 数据 Schema | 字段、类型、必填项、表结构 | 跨系统的业务含义一致 |
| 本体 | 概念、关系、语义和可推导知识 | 数据一定完整、动作一定安全 |
| 知识图谱 | 现实对象及其关系实例 | 图中的分类与关系一定正确 |
| 规则 / 策略 | 在特定条件下允许、拒绝或升级什么动作 | 规则依赖的事实一定取对了 |
| Agent 记忆 | 过去的交互、观察和阶段性结论 | 记忆与当前业务事实始终同步 |
因此,“本体 + 实例数据”可以形成知识图谱,“本体 + 推理器”可以推出隐含关系,但生产 Agent 仍然需要数据校验、权限控制、事务和结果验证。本体是共享语义,不是万能护栏。
用退款 Agent 走一遍完整循环
假设用户要求退掉一张延迟送达的订单。一个只有工具描述的 Agent,可能先查订单,再凭自然语言判断调用退款 API。只要计划听起来通顺,它就会继续行动。
接入可执行世界模型后,流程会发生几个变化。
第一步是实体对齐。系统把“我的包裹”“这笔钱”分别解析到某个 Shipment、Order 和 Payment,并用关系确认这三者确实属于同一笔交易,而不是从相似订单里拼出一条看似完整的记录。
第二步是语义补全。图中未必直接存着“该用户可以申请延迟退款”,但可以从订单、履约状态、承诺送达时间和客户身份推出一个候选资格。模型负责处理模糊语言,本体与推理器负责把已知事实放进稳定的概念关系里。
第三步是动作前校验。系统检查:退款申请是否关联已捕获的支付;是否存在已成功退款;金额是否超过自动处理阈值;当前操作者是否拥有该订单的退款权限。需要注意,这些检查不一定都应该写进本体语言,更多时候应落在数据约束、策略引擎、数据库约束和工具权限中。
第四步是动作后验证。API 返回 200 不等于业务成功。系统还应确认退款记录已创建、金额与币种正确、订单状态符合预期,并把输入事实、采用的规则、工具调用和最终状态写入运行轨迹。
这个例子说明,本体的价值并不是代替 LLM 做规划,而是让计划中的名词可以落到真实对象,让动作可以在一个共同世界模型里被检查。模型继续负责不确定性高的部分:理解意图、提出候选计划、处理例外;符号系统负责定义、推导、约束和留痕。
这就是“神经符号 AI”在工程上的朴素版本:神经网络扩大系统能理解的输入范围,符号层缩小系统可以随意行动的范围。
原文最值得补的一刀:OWL 不等于业务校验器
Latent.Space 的文章把 OWL(Web Ontology Language)描述成可以由机器执行的公理,用来把 Agent 留在轨道内。方向是对的,但容易让人产生一个危险误解:只要写了 OWL,本体就会像输入校验器或权限系统一样拒绝非法数据。
W3C 的 OWL 2 Primer 明确区分了几件事:OWL 是声明式知识表示语言,不是编程语言,也不是用来强制文档结构合规的 Schema 语言。更关键的是,OWL 通常采用开放世界假设:图里没有某条事实,意味着“不知道”,而不是“事实为假”。
举个极简例子。业务系统规定“退款申请必须带支付编号”。数据库校验的自然理解是:没带编号就不合格。但在开放世界里,编号缺失也可能只是当前图中没有记录,不能据此断言它不存在。OWL 擅长回答“根据这些公理还能推出什么”“这些陈述是否彼此矛盾”,却不天然等价于“这份输入是否满足所有必填条件”。
这也是为什么 W3C 后来定义了 SHACL:它用 Shapes 描述 RDF 图必须满足的条件,专门承担验证工作。真正的 Agent 护栏通常要分工:
- 用 RDFS / OWL 表达共享语义与可推导关系;
- 用 SHACL、JSON Schema 或数据库约束检查数据形状和完整性;
- 用策略与权限系统判断“谁在什么条件下可以做什么”;
- 用事务、幂等键和动作后校验保证执行结果;
- 用评测与运行轨迹发现规则没有覆盖的新失败。
所以,“概率 Agent 外面套一圈确定性边界”仍然只是近似说法。推理器在给定公理和事实后可以是确定的,但公理可能写错,数据可能过期,实体映射也可能带着概率。确定执行错误的世界模型,并不会比模型幻觉更安全;它只会让错误更稳定。
语义网当年没有成功,为什么 Agent 又把它捡回来?
语义网的旧愿景是让整个 Web 都发布机器可理解的数据,Schema.org、FOAF、Dublin Core、RDF、RDFS、OWL 都来自这条技术谱系。问题不只是技术复杂,而是经济结构不成立。
发布者要花成本标注语义、对齐词汇、持续维护;收益却往往流向搜索引擎和下游聚合者。跨组织统一“客户”“订单”“作者”这些概念还会碰到真实的利益和语境差异。一个想覆盖全世界的宏大本体,越完整越昂贵,也越容易在现实变化后陈旧。
Agent 改变了三件事。
第一,机器可读语义终于有了高频消费者。过去,结构化标注主要服务搜索和数据集成;现在每一次工具选择、实体解析、计划校验都可能消费它。
第二,LLM 降低了建模和映射的启动成本。它可以从文档、表结构和 API 描述中提出候选概念,帮助把 cust_id、buyer、account_owner 对齐到共同词汇。它也能从失败轨迹中发现遗漏的边界案例。这里的关键词是“提出候选”,不是“自行改宪法”:Agent 可以辅助维护本体,但高影响语义变更仍应由领域负责人审查、版本化和回放测试。
第三,目标从“统一整个 Web”缩小到了“给一个组织或一条高价值流程建立共享语义层”。这让收益和维护责任落在同一个边界内。一套映射可以被多个 Agent 复用,不必让每个 Agent 都手工接一遍每个数据源。原文借 Neo4j CEO Emil Eifrem 的说法,把这种架构概括为“更薄的 Agent,配更聪明的共享底座”。这个判断比“语义网复活”更重要:真正复活的不是旧格式,而是把领域语义从单个 Agent 提示词里抽出来,变成共享基础设施的思路。
从三层本体到四层可执行语义栈
原文援引 Neo4j 的划分:面向业务的本体、面向技术的数据本体,以及 Agent 的执行轨迹。这三层已经把“概念—数据—运行”串了起来。我会在业务系统中再显式加一层:执行契约。
flowchart TB
B["1. 业务本体<br/>客户、订单、支付、退款意味着什么"]
D["2. 技术映射<br/>表、字段、文档、API 如何映射到业务对象"]
P["3. 执行契约<br/>约束、权限、审批、事务与可回滚动作"]
R["4. 运行轨迹<br/>观察、推断、决策、调用、结果"]
B --> D --> P --> R
R -. "失败样本与新边界" .-> B
R -. "数据漂移与接口变化" .-> D
R -. "策略命中与误杀" .-> P
把执行契约单列出来,是因为“理解一个动作”与“有权执行一个动作”不是一回事。本体可以告诉 Agent Refund 和 Payment 的关系,却不应该顺便成为资金系统的最终授权边界。语义、校验、授权、执行各有责任,才能独立测试和替换。
运行轨迹也不只是日志。它是这套系统的反馈传感器:哪些实体经常映射错?哪些约束拦住了真实风险?哪些规则误杀太多?哪些异常每次都要人工处理?没有轨迹,本体会慢慢变成没人敢改的静态文档;有了轨迹,维护才可能从“凭专家感觉”变成“根据失败样本演化”。
别把本体变成新的银弹
本体很适合 Agent,但它也会带来一组传统且顽固的问题。
第一,维护成本没有消失,只是可能被重新分配。 LLM 能辅助抽取和对齐,却不能替组织决定概念边界。销售眼里的“客户”和财务眼里的“付款主体”可能本来就不该合并。
第二,错误会被制度化。 提示词里的错误可能影响一次请求,本体里的错误会影响所有复用它的 Agent。共享层提高了复用,也放大了变更半径,因此需要所有者、版本、兼容策略和回归样本。
第三,表达能力越强,推理和理解成本通常越高。 W3C 甚至为不同计算需求定义了 OWL 2 EL、QL、RL 等子语言。生产系统不该因为“更正式”就默认选择最复杂的表示;能用类型和简单关系解决,就不要先建一套哲学体系。
第四,本体不能制造真实。 数据源里如果身份证号错了,图上的关系再漂亮也只是在精确传播错误。语义质量、数据质量和执行安全是三条不同的工程链路。
第五,共享语义层会成为新的关键基础设施。 权限穿透、敏感关系泄露、错误映射和提示注入都可能借它扩大影响。Agent 能查询什么、推断什么、执行什么,仍然要分别授权。
因此,最健康的定位不是“本体保证 Agent 正确”,而是:本体把原本散落在提示词、代码和人脑里的业务假设显式化,让它们有机会被复用、测试、审查和演化。
一条克制的落地路线
不是每个 Agent 都需要本体。单一数据库、概念清晰、动作固定的短流程,类型良好的 API、JSON Schema 和普通策略规则往往已经足够。当系统同时出现多个 Agent、多个数据源、跨部门概念冲突,或者动作错误代价较高时,共享语义层才开始显著回本。
如果要做,可以从一条决策链开始,而不是从“建企业知识图谱”开始:
- 选一个有行动后果的流程。 例如退款、授信、供应商准入,而不是泛化问答。
- 列出最小领域词汇。 只定义这条流程需要的对象、关系、状态和同义词,并给每个概念指定业务所有者。
- 先写高风险不变量。 哪些关系必须成立,哪些动作必须拒绝,哪些情况必须升级给人。
- 映射真实数据和工具。 每个概念来自哪张表、哪份文档、哪个 API;如何处理冲突、缺失和时效性。
- 把语义推理和执行授权分开。 推理结果可以成为策略输入,但不能绕过权限、审批和事务边界。
- 在影子模式里跑。 先让系统只给判断、不执行,对比人工决策,积累误判和遗漏样本。
- 让轨迹反哺版本迭代。 每次本体、映射或策略变更都要用历史轨迹回放,观察拦截率、误杀率、人工升级率和规则变更成本。
已有公共词汇也值得复用。原文提到 Schema.org、FOAF、Dublin Core 等,它们的优势不只是“模型训练时见过”,还包括已有定义、工具和社区共识。但复用的前提是语义真的相近。为了让模型熟悉而强行把内部“账户”塞进一个不匹配的公共类型,只会把歧义藏得更深。
最后:给 Agent 的不是地图,而是宪法、海关和行车记录仪
把本体称为 Agent 的“世界模型”仍不够完整。地图告诉它世界里有什么,却不决定谁可以过境,也不记录一辆车刚才撞了什么。
一个可生产的 Agent 语义底座应该同时拥有:像地图一样的本体,像地址索引一样的技术映射,像宪法和海关一样的执行约束,以及像行车记录仪一样的运行轨迹。LLM 在这套设施里不再被期待“记住所有规则”,而是负责它真正擅长的事:理解开放语言、提出候选解释、在不完整信息中规划下一步。
语义网没有按当年的宏大叙事接管整个 Web。但它留下的核心问题——机器怎样知道我们说的是同一个东西——在 Agent 开始调用工具、花钱、改数据之后,反而从学术问题变成了生产事故问题。
这才是本体重新变得重要的原因。
读完可以用三个问题检查自己的 Agent 系统:
- 同一个业务概念是否在提示词、数据库和 API 里有三种互不相通的定义?
- Agent 的计划在执行前,是否能被独立于模型的约束和权限系统拒绝?
- 一次失败发生后,能否还原它当时看到的事实、采用的语义版本、命中的规则和真实执行结果?
如果三个答案里有两个是否定的,问题多半不在模型还不够聪明,而在系统还没有一套可执行、可审计、可演化的世界模型。
延伸阅读
- Richard MacManus, Ontologies Are So Back: Why AI Agents Are Reviving the Semantic Web, Latent.Space, 2026.
- Frank Coyle, Ontologies for Agentic AI, AI Engineer World’s Fair 2026.
- Emil Eifrem, Neo4j keynote at AI Engineer World’s Fair 2026.
- W3C, OWL 2 Web Ontology Language Primer (Second Edition).
- W3C, Shapes Constraint Language (SHACL).
- Schema.org, Getting Started.