Ontology 到底是什么?
这篇文章的源头,是今天早上 8:23 一树空山往群里丢的一篇文章:《agent 进阶——文件系统:AI 的读写能力与边界》(蘑菇云 AI 学苑,作者灵均)。它的第二节标题就是「核心原理:FDE Ontology 思维与三种操作模式」。
四个小时后,中午 12:34,群里有条很实在的自述:
「学习 AI 的过程中,频繁出现 Ontology(本体论)。今天晚点我发一篇文章,介绍一下什么是 Ontology。」 —— Arthur
两分钟后 Jeff 接了话,说他之前写的东西里也有涉及。我先猜错了篇目,他纠正:
「不是,是我之前发的两个 PDF,一个是《驾驭苍龙》,一个是《缚住苍龙》。」 —— Jeff
这两份长文是 Jeff 给中国的制造型企业做 AI 启蒙时写的,他当时在群里说过缘由:企业方「纷纷表示 AI 术语层出不穷,没有一个清晰的脉络把相关的概念串起来」。《缚住苍龙》讲纯数字世界里怎么约束大模型——向量化、RAG、Function Calling、Agent;《驾驭苍龙》讲把它牵进真实工厂之后的事,其中第三章整章就叫「赋予工业之眼——Ontology 与 Graph RAG 的全感知映射」。
于是同一个概念,在同一天里从两个完全不同的尺度撞了上来:一边是一个人整理 53 张发票,一边是一座零容错的化工厂。这篇就顺着这个巧合写——从最小的那头讲起,一路放大到最大的那头,你会发现它们说的是同一件事。
最短的入口:发票不是 PDF
一树空山发的那篇文章,开场是个很具体的痛:一张 4300 元的发票因为手工录入漏掉,年底对账才发现,多交了税。作者的处理是把 53 张发票拖进文件夹,跟 AI 说一句「提取日期、金额、品类、开票单位,生成 Excel 台账」。
但真正值钱的不是这个操作,是它后面那段解释——这是我见过对 Ontology 最短、最不玄的说法:
「文件不只是文件。发票不是 PDF,是一个「日期+金额+品类+对方单位」的数据对象。合同不是 Word 文档,是一组「甲方义务+乙方权利+付款条件+违约条款」。报表不是 Excel,是对应某个时间段的「经营数据矩阵」。」
「操作文件之前,先定义你面对的是什么「业务对象」。AI 不是替你「操作文件」——AI 是替你「处理业务对象」。这个认知转变能让你写指令时精准十倍。」 —— 《agent 进阶——文件系统》,蘑菇云 AI 学苑
把这两段读第二遍。「发票不是 PDF,是一个数据对象」——这就是 Ontology 的全部种子。剩下的一切(三元组、知识图谱、Graph RAG、Palantir)都只是把这个念头往上盖楼。
为什么这个转变有用?因为你一旦承认发票是「日期+金额+品类+对方单位」,你就同时得到了三样东西:你知道该向 AI 要什么(属性列表)、你知道结果对不对(每个属性都能核)、你知道这批发票怎么和别的东西连起来(对方单位可以连到供应商,品类可以连到成本科目)。而你如果只把它当成「一个 PDF」,这三样一样都没有。
顺带一提,那篇文章说这个概念来自 FDE 课程——这不是巧合,下文会说到为什么 FDE 和 Ontology 本来就是一件事的两面。
先给一句话
就这么一句。剩下的篇幅,是解释这句话里每个词为什么必要,以及为什么这件听起来像废话的事,做起来那么难、价值又那么大。
为什么中文叫「本体论」,听着这么玄
因为这个词是从哲学借来的。哲学里的 ontology 是形而上学的一个分支,问的是最根本的问题:什么东西算「存在」?存在的东西可以分成哪几类?
计算机科学在上世纪九十年代把这个词借了过来,不是为了显得高深,而是因为要做的事结构上真的一样:在写任何一行代码之前,先规定清楚「在我这个系统里,世界由哪些东西组成」。1993 年,Tom Gruber 给了工程界一个流传至今的定义——ontology 是「概念化的显式规约」(an explicit specification of a conceptualization)。
翻译成人话:你脑子里本来就有一套「我这行是怎么回事」的默认认知,把它明明白白写下来,写到机器能读。「显式」是重点——不是写在员工的经验里,不是写在老师傅的直觉里,而是写成机器能查询、能推理、能执行的东西。
后来这个词沿着两条线走进了今天:一条是 W3C 的语义网(RDF、OWL 那一套),把它变成了 Web 上的标准;另一条是企业软件,把它变成了给公司业务建模的方法。今天在 AI 语境里听到的 Ontology,基本都是第二条线。
放大一级:从一张发票到一座工厂
发票那个例子解决的是「一个对象是什么」——它有哪些属性。但真实业务的难点通常不在这,而在「对象之间怎么连」,以及连起来之后能推出什么。
把尺度放大一万倍,就是 Jeff《驾驭苍龙》第三章的场景。先看现象:
车间最前端的「3 号冷却水泵」发生机械故障,水压下降。几分钟后,车间后端的「5 号反应釜」因为得不到足够冷却水,触发了异常升温报警。
在老师傅脑子里,这两件事之间连着一条长达 50 米的地下管道,是同一件事。但如果你把「反应釜异常升温」这句话丢给一套标准 RAG 系统,会发生什么?
RAG 检索靠的是语义相似度——把文字变成高维空间里的坐标,找距离最近的那些点。在这个坐标系里,「水泵」和「反应釜温度」在文本语义上毫无关系,隔着十万八千里。于是系统会精准地检索出《反应釜温度控制原理》《什么是热力学升温》这类科普手册,却永远找不到那本《3 号冷却水泵维修手册》。
Jeff 在书里把这一层说得很直白:
「大模型在语义空间中寻找答案,而工厂的危机却在物理空间中蔓延。」 —— 《驾驭苍龙》第三章
这就是整个问题的分水岭,也是理解 Ontology 唯一必须先想通的一句话:
换成新西兰这边的场景
别被「反应釜」吓到,这件事跟工厂没关系。把水泵和管道换成工单和零件,同一件事就落到了本地:一家做维修的公司,客户报修「厨房漏水」。
语义检索会给你《水管维修指引》。而真正有用的信息是:这个地址上个月装的那批水龙头是哪个批次、哪位师傅装的、同一批次在另外三户是不是也报过修。这三条信息分别躺在工单系统、采购单和排班表里,彼此在文字上毫不相干——把它们连起来的不是语义,是结构:工单挂在地址上,地址挂在客户上,工单用了某个零件批次,批次又串起另外三张工单。
这张「什么挂在什么上」的图,就是 Ontology。
三个最容易混的词:Schema、知识图谱、Ontology
这三个词经常被混着用,但它们回答的是完全不同的问题。分清楚这一节,这篇就没白读。
规定有哪些表、哪些字段、字段是什么类型。它保证格式不出错——日期栏里不会塞进一段人名。但它不知道意思:它知道 customer_id 是个整数,不知道「客户」是什么,更不知道客户和工单之间有什么关系值得推理。
用「实体—关系—实体」的三元组记录一条条具体的事:张三任职于 A 公司,A 公司是 B 集团的子公司。它是填进去的数据,是当前这盘棋的局面。
规定这个领域里有哪些类型的对象、哪些类型的关系、什么样的连法是合法的、以及能对它们做什么。它是棋盘规则和棋子定义,知识图谱是按这套规则摆出来的棋局。
用一句话串起来:Schema 管数据怎么存,Ontology 管世界怎么理解,知识图谱是按 Ontology 这张网格填进去的具体事实。三者不是三选一,是三层——上一层塌了,下一层再漂亮也没用。
在图数据库里,Ontology 的表达形式极其朴素,就是一串三元组:
看起来简单得像小学生画的图,但它做到了一件 RAG 做不到的事:它把「A 和 C 有关系」这件不写在任何一份文档里的知识,变成了可以被程序沿着边走过去的路径。
有了这张图,AI 怎么用它
光有图还不够——一张几百万节点的企业图谱,直接塞进模型会瞬间撑爆上下文窗口。所以真正干活的是 Graph RAG,《驾驭苍龙》把它比作探照灯:
「反应釜 C」发出异常升温信号,系统不再做语义向量搜索,而是把它当成图上的一个节点。
调用图遍历算法(BFS 广度优先、或评估节点影响力的 PageRank),沿「冷却」「水流向」这些关系逆流而上,很快摸到语义上毫无关联的「水泵 A」。
算法把这条关联路径转成一段结构化文本,连同相关设备状态,一起塞进发给大模型的提示词里。
拿到带拓扑路径的上下文后,模型的注意力被锁死在真实的物理链条上——它「看」清了遥远的冷却泵才是温度飙升的源头。
注意这里的分工:找到关联的不是大模型,是图算法。大模型负责的是拿到关联之后的解释和决策。这是 Jeff 两篇长文反复强调的同一件事——真正在幕后主导的始终是软件工程,大模型只是流水线末端那个「文字处理器」。
Palantir 那条线:为什么它总被提起
7 月 26 日 Jeff 在群里那段长文的结尾,埋了一句当时很容易被划过去的话:
「要想理解知识库、LORA 在特定领域知识的精准掌握和输出,建议关注 Palantir 这家公司,目前方法论层面做的最好的,通过 ontology 来对企业私有知识或者数据库建模,建立思考链。」 —— Jeff,2026-07-26
为什么是它?因为 Palantir 的做法反过来照出了 RAG 这条路的短板:它不先想「怎么检索」,而是先想「怎么把这家公司的世界描述清楚」。在它的体系里,一个企业的 Ontology 由四样东西构成——这四个词值得记住,因为它是目前最成熟的一套落地词汇:
- 对象类型(Object Types)
- 这家公司的世界里有哪些「名词」:客户、工单、设备、零件批次、师傅、发票。
- 属性(Properties)
- 每种对象身上带什么信息:工单有状态、有地址、有开单时间。
- 关系类型(Link Types)
- 名词之间怎么连:工单 属于 客户;工单 使用了 零件批次;零件批次 来自 供应商。
- 动作类型(Action Types)
- 能对这些对象做什么:改派工单、补下采购单、冻结某个批次——而且带权限校验,执行完会写回源系统。
第四样是分水岭。前三样让 AI「看得懂」,第四样让 AI「动得了手」。一个只有前三样的 Ontology 是一张漂亮的地图;加上第四样,它才变成方向盘。这也正好接上《驾驭苍龙》里 Skill(技能)那一章讲的事——把每个动作用严格的 JSON Schema 包起来、用枚举值把非法操作的可能性直接归零,让「非法状态无法被表达」。
顺带说一句:FDE(前沿部署工程师)这个岗位最早就是 Palantir 发明的——工程师钻进客户业务里,把这层模型和真实流程对上。俱乐部之前那篇《为什么用了 AI,企业效率还是上不去?》讲的是同一件事的另一面:落地的两大阻力都不是技术。
那我该不该做?先看这三个信号
Ontology 不是每家公司都该现在动手的事。它前期投入实打实,做歪了就是在混乱之上再加一层混乱。下面三个信号里中了两个,才值得认真考虑:
「上个月这个供应商的货,一共牵连了多少张返修单」——这种问题没有任何一份文档能命中,只能靠结构。如果你的问题都是「公司报销流程是什么」这类单点查询,普通 RAG 就够了,别折腾。
客户在 CRM 叫「Auckland Property Ltd」,在会计系统叫「AKL PROP」,在工单表里是老板的手机号。这是最脏、最不性感、但最必须先干的活——没有统一标识,图连不起来。
「这个报警要不要紧」只有干了二十年的那位说得准。Ontology 的真正价值在这里:把他脑子里那张关系图变成公司资产,而不是等他退休时一起带走。
动手的五步(从小做起)
把公司里真实存在的东西写下来。抗住「要不要把这个也加上」的冲动——第一版越小越好。
让每个客户、每台设备在所有系统里有且只有一个 ID。这一步通常占掉整个项目一半的工作量,跳过它后面全是白干。
「理论上可能相关」的边不要连。每多一条无意义的边,图遍历就多一分噪音。
这一步会逼你把权限和流程想清楚——很多公司做到这里才发现,问题从来不在 AI。
前四步做完,接不接 AI 你都已经赚到了。接上 AI 只是让这套结构多一个使用者。
三个常见误区
Ontology 是长出来的,不是设计出来的。先覆盖一条业务线跑通,再往外长。企图一次建模整个公司的项目,绝大多数死在第一版还没上线的时候。
写在 Confluence 里没人查询、没有程序读的「本体设计文档」,只是一张 PPT。它必须能被机器查询、被动作执行,才叫 Ontology。
它是业务建模,AI 只是它最新的一个消费者。这套方法论在大模型出现之前就成立,这也正是 Jeff 说 Palantir「方法论层面做得最好」的分量所在——先有对世界的建模,才谈得上让 AI 在上面推理。
先搞懂几个词
- Ontology(本体 / 本体论)
- 把一个领域里有哪些对象、有哪些属性、对象之间是什么关系、能对它们做什么,明确写成机器可读的形式。相当于给业务画一张「世界的结构图」。
- 业务对象
- Ontology 落到日常工作上最实用的说法:发票不是一个 PDF,是「日期+金额+品类+对方单位」;合同不是一个 Word,是一组权利义务和条款。先想清楚你面对的是什么对象,再去写给 AI 的指令。
- 三元组(Triple)
- 知识的最小单位:主语—谓语—宾语,例如「水泵 A —水流向→ 管道 B」。整张图谱就是几百万条这样的短句连成的网。
- 知识图谱(Knowledge Graph)
- 按 Ontology 定义的规则,填进去的具体事实构成的网络。Ontology 是规则,图谱是数据。
- Graph RAG(图检索增强生成)
- 不靠语义相似度检索,而是在图谱上沿着关系「走」,把找到的关联路径转成文字塞进提示词。专治普通 RAG 的跨文档盲区。
- 图遍历(BFS / PageRank)
- 在图上找路的算法。BFS 是从一个点向外一圈圈扩散;PageRank 用来判断哪些节点更重要、值得优先看。
- RDF / OWL
- W3C 制定的两套语义网标准,用来书写和交换 Ontology。学术和政府数据领域用得多,企业落地更常见的是各家自己的建模方式。
- 让非法状态无法被表达
- 软件工程的一条原则:与其事后校验,不如在类型和结构层面让错误的输入根本写不出来。用在 AI 上,就是用枚举值把模型可能的胡编直接堵死。
写在最后:一场还没写完的讨论
回头看今天这一天,有意思的地方在于三个来源撞在了一起:早上一树空山转的那篇文章,从一个人处理 53 张发票的角度说「文件不只是文件」;Jeff 的两本书,从一座零容错工厂的角度说「语义空间答不了物理空间的问题」;而 Palantir 那条线说的是怎么把这两者变成能执行的系统。三个尺度,一个概念。
对话的结尾也很有意思。大瑞在群里说他把这些都收藏了,「每天起床睡觉都要温习一下」,Jeff 的回应是:
「看来我要写续集了。」 —— Jeff
「看看大家有什么地方比较迷糊的,征题目。」 —— Jeff
所以这篇也算是一次投稿:Ontology 就是那个「比较迷糊的地方」。它是这一年里从工业控制到企业知识库、从 Graph RAG 到 Agent 工程反复出现的同一个底层概念,而它之所以难懂,不是因为技术复杂,而是因为它要求你先把自己这行想清楚——那从来都是最难的一步。