当AIAgent开始走进业务系统,如何把“客户”“有效订单”这些概念讲清楚,就比接入更多工具更先值得解决。这篇文章将带你认识本体(Ontology):它不是什么高深技术,而是一种把业务概念、关系和规则明确表达、统一复用的方法,以及它为什么在Agent时代重新变得重要。

打开网易新闻 查看精彩图片

现在的大模型已经很聪明了,不仅能理解自然语言,还能写代码、分析数据,甚至调用工具完成任务。

但如果你问它:“我们公司上个月新增了多少客户?”

即使它能够访问公司的业务数据,也不一定能给出正确答案。因为它虽然知道什么是客户,却不一定知道你们公司如何定义“新增客户”。

最近研究AIAgent时,我经常看到一个概念:本体(Ontology)。

有的文章把它和知识图谱放在一起讨论,有的将它作为企业AI的语义层来介绍。

AI能听懂人话,为什么还需要“本体”?

01本体究竟是什么?

先从一个简单的业务场景说起。

假设我们要开发一套客户管理系统,需要管理客户、订单、合同等信息。

在开发之前,首先要明确几个问题:什么是客户?客户和订单之间是什么关系?什么情况下,一笔订单才算有效?

这些问题看起来很简单,但实际业务中,不同部门可能有不同的理解。

例如,市场部关注留下联系方式的潜在线索,销售部关注有明确购买意向的客户,财务部则更关注已经产生交易的客户。

订单也是一样。一笔订单创建成功,算不算有效订单?已经付款但后来全额退款的订单,还要不要计算?这些都需要企业根据自己的业务规则进行定义。

假设某家公司规定,成交客户是至少完成过一笔有效订单的客户,而有效订单必须满足支付成功、未被全额退款等条件。

我们不仅定义了“成交客户”和“有效订单”这两个概念,还建立了客户与订单之间的关系,并明确了相关业务规则。

这就接近本体所做的事情了。

本体是一种知识建模方法,它将特定领域中的概念、属性、关系及其逻辑含义明确地表达出来,让不同系统能够使用相同的语义理解这些知识。

例如,“客户”“订单”是概念,客户编号和订单金额是属性,客户拥有订单是一种关系,而有效订单的判定条件则涉及业务规则。

需要注意,并不是所有业务规则都必须写进本体,也不是把几个概念整理成文档就等于完成了本体建模。正式的本体还会强调概念与关系的形式化表达,以及相应的逻辑约束。

但理解它的基本思想,并不需要先掌握这些技术细节。

简单来说,本体关注的不只是系统存储了什么数据,还关注这些数据究竟代表什么。

02大模型已经很聪明了,为什么还需要本体?

因为大模型掌握的通用知识,不等于企业内部的业务知识。

还是刚才的例子。

假设老板让AI统计上个月新增的成交客户。

大模型知道如何编写SQL,也知道怎么统计数量,但它可能不知道,这家公司规定的成交客户必须完成过有效订单。

即使它知道成交客户的定义,也不代表它知道“新增”应该如何计算。

是按照客户注册时间统计,还是按照首次成交时间统计?如果客户上个月首次付款,这个月又发生全额退款,该怎么算?

这些问题没有统一适用的答案,需要企业根据自己的业务规则明确。

如果没有准确的定义,Agent即使能够访问数据库,也可能选择错误的字段或统计条件,最终生成一份看起来合理、实际上却不符合要求的报表。

所以,问题不一定是模型能力不足,而是它缺少完成当前任务所必需的业务知识。

我们可以把相关定义写进提示词,也可以通过知识库、接口文档或者Skill提供给Agent。

例如,明确告诉它:新增成交客户按照首次有效成交时间统计,具体筛选条件遵循企业的客户指标定义。

这样,Agent就有了完成任务所需的业务上下文。

而本体提供了另一种思路:将领域中的概念、关系和语义规则明确组织起来,使不同应用能够复用这些知识。

不过,说到这里,我又产生了一个疑问。

这些事情,不就是传统数据建模一直在做的吗?

03本体和知识图谱、数据建模有什么区别?

研究本体时,经常会遇到另外几个概念:知识库、知识图谱、数据建模,有时还会涉及数据治理。

它们确实存在联系,但关注的重点不同。

还是用客户管理系统举例。

如果我们把企业的客户管理制度、销售规范、业务操作手册等资料整理起来,供员工或AI检索使用,就可以构成一个知识库。

如果进一步把具体客户、订单、合同等对象连接起来,例如“客户A拥有订单001”“订单001对应合同B”,就可以形成一张知识图谱。

而本体更关注这些事实背后的概念与语义。例如,什么是客户、什么是订单,客户和订单之间可以存在什么关系。

至于数据建模,传统软件开发同样需要梳理业务对象、属性和关系,再将其设计为具体的数据结构。

例如,通过客户表、订单表以及关联字段,将客户和订单的数据组织起来。

不过,数据建模并不只是设计数据库表,还包括概念建模、逻辑建模等不同层次。本体与其中的概念建模高度重合,但通常更强调形式化的语义表达、知识共享和逻辑推理。

打开网易新闻 查看精彩图片

最后是数据治理。

同一个客户在不同系统中可能拥有不同编号,如何确认它们属于同一主体?客户数据存在错误,应该如何处理?哪些人员可以访问这些数据?

这些问题涉及数据标准、质量、来源和权限等管理工作。

所以,我们可以简单理解为:知识库侧重组织知识,知识图谱侧重关联具体事实,本体强调概念与语义,数据建模关注数据的抽象和组织,而数据治理则关注数据资产的质量和规范管理。

当然,这只是各自典型关注点的区别,它们在实际应用中也会相互结合。

其中,我最感兴趣的还是本体与传统数据建模的关系。

因为研究到这里,我越来越觉得:

本体讲的很多东西,传统软件工程不是早就在做了吗?

04本体是不是传统技术换了个名字?

一个设计良好的业务系统,本来就应该明确有哪些业务对象、对象具有什么属性、彼此之间有什么关系,以及需要遵循哪些规则。

传统的领域驱动设计(DDD)、概念建模等方法,也一直在处理这些问题。

本体并没有发明业务建模,它与传统领域建模确实存在大量重合。

那为什么还要专门讨论本体?

我觉得,一个重要原因是:有数据模型,不代表不同系统已经建立了统一的业务语义。

过去很多业务系统都是围绕自己的需求建设的。销售系统有自己的客户定义,财务系统有自己的统计口径,运营系统也有自己的业务规则。

这些定义各自可能都合理,但当多个系统需要共享数据、协同完成任务时,就容易产生理解上的差异。

本体提供了一种思路:将共用的业务概念、关系和语义规则明确表达出来,让不同系统可以复用这些定义。

不过,这种能力并不是本体独有的。如果企业已经通过领域模型、数据标准或指标平台解决了这些问题,也就没必要再建设一套重复的体系。

所以,与其纠结本体是不是一项新技术,不如关注它到底能解决什么实际问题。

而随着AIAgent开始进入业务系统,这些原本由传统应用使用的业务知识,又多了一类新的使用者。

05为什么AIAgent开始关注本体?

过去,企业的业务定义主要通过数据库、代码和接口提供给不同应用使用。

现在,AIAgent也开始直接查询业务数据、调用工具,甚至跨系统执行任务。这意味着,Agent同样需要准确理解企业内部的业务概念和规则。

假设企业只有一个销售Agent,接入了查询客户、查询订单、生成报表三个Skill。

这时候,我们完全可以把客户定义、查询条件和业务规则写进Skill或API中。只要能够满足业务需求,就没有必要专门建设本体。

但如果企业逐渐增加了销售Agent、财务Agent、运营Agent,情况可能就不一样了。

这些Agent都需要理解客户、订单、收入等业务概念。如果每个Agent都维护一套自己的定义,不仅会产生重复工作,还可能出现规则不一致的问题。

例如,企业调整了“有效订单”的计算规则,销售Agent已经更新,财务Agent却仍然采用旧口径。

这样一来,即使两个Agent都能够正常执行任务,最终的统计结果也可能不同。

这时候,就可以考虑把共用的业务知识抽象出来,形成统一的语义层。

打开网易新闻 查看精彩图片

不同Agent可以共享相同的业务定义,再通过数据映射和查询服务访问实际数据。

本体可以用来构建这套语义层,但并不是唯一选择。如果企业已经有成熟的领域模型或数据标准,同样可以考虑直接复用。

而且,是否需要统一语义层,也不完全取决于Agent的数量。真正需要考虑的是业务复杂度、知识复用需求,以及统一维护能否降低成本。

结语

所以,我认为本体在AIAgent时代的价值,不是让大模型突然变得更聪明。

而是当越来越多的Agent需要使用相同的业务知识时,让这些知识能够被统一定义、管理和复用。

回到最开始的问题:AI能听懂人话,为什么还需要本体?

因为听懂“客户”这个词,不代表知道一家企业如何定义客户。本体提供了一种明确表达和共享业务知识的方法,但它不是唯一的解决方案。

以前我们总想着给AI接入更多工具,让它能够完成更多任务。但在此之前,或许应该先想想,我们有没有把工具背后的业务知识讲清楚。