很多企业以为,把指标口径统一好、把指标层做厚,就等于为 AI 备好了数据。可一旦 AI 被追问「为什么下降、接下来看哪里、这事谁来处理」,只有指标和维度的语义层立刻就不够用了。这篇写给数据负责人和架构师:让 AI 真正进入经营分析,到底还差哪一层。
过去很多企业做 AI 数据应用,讨论的重点还停留在模型、Prompt、NL2SQL、报表生成、BI 对话框。现在大家开始认真讨论:企业业务世界到底应该怎样被建模,AI 才能真正理解、分析、解释,甚至进入经营动作。
但我们也想坦率讲一个判断:
如果我们把语义层只定义成指标、维度和统计分析对象,这个定义不是错,而是太窄。它更像是 BI 时代、指标分析时代的语义层定义。它能够解释很多问数、看板、自助分析场景,但不足以解释 Data Agent 时代真正需要的语义基础。
问题不在于要不要用"本体论"这个词,也不在于谁的概念更大。
真正的问题是:把语义层只定义成指标和维度,这是不是 Data Agent 真正需要的语义层?
我们的答案是:不是。
先说清楚,我并不认为指标语义层过时了。
恰恰相反,指标语义层非常重要。
没有统一指标口径,没有维度定义,没有时间粒度,没有汇总规则,没有权限边界,企业的数据分析一定会混乱。
比如:
这些问题不解决,任何 ChatBI、NL2SQL、自动报表都站不住。
所以,指标语义层不是低级东西。它是企业数据治理和自助分析的基础工程。
但是,指标语义层解决的主要是:
它天然更接近统计分析对象,而不是完整业务世界。
企业经营不是由一堆指标和维度构成的。指标是业务世界的投影,不是业务世界本身。
企业经营是由客户、门店、商品、订单、合同、线索、商机、库存、渠道、活动、组织、人员、流程、状态变化、业务事件、规则约束共同构成的。
如果语义层只停留在指标和维度层面,AI 确实可以更准确地回答"某个指标是多少"。
但当用户继续问:
系统很快就会发现,仅靠指标定义不够了。
因为归因、解释和行动,依赖的不是单个指标,而是业务对象之间的关系、事件发生的顺序、状态变化的路径,以及规则约束下的可执行动作。
这就是今天讨论语义层时必须扩展的地方。
过去 BI 系统的核心用户是人。
系统提供报表、看板、字段、指标、维度,人负责理解上下文,负责把数字和业务联系起来,负责判断这个波动是不是异常,负责决定下一步看什么。
也就是说,传统 BI 时代有一个隐含前提:
在 BI 时代,系统只要把数据组织好,人可以把分析链条接上。
但 Data Agent 的核心变化在于:
AI 开始承担一部分原本由人完成的语义补齐和分析推理。
这时候,语义层就不能再只是给人看的指标字典,也不能只是给 SQL 生成器看的字段注释。
它要成为 Agent 理解业务世界的基础设施。
它需要告诉 Agent:
这已经不是传统意义上的"指标语义层"能完整覆盖的范围。
所以,真正的分歧不在于语义层和本体论谁高级,而在于我们到底把语义层理解为一个静态的统计分析口径层,还是理解为企业业务世界进入 AI 系统的建模层。
服务的是更好的 BI。
服务的是可落地的 Data Agent。
有一种说法看起来很完整:
"语义层可以通过实体建模和维度建模定义实体、属性和关联关系,再形成指标和维度,最终完成经营决策的数字化映射。"
这句话的问题在于,它把"实体"放进来了,但最后又把实体收束回了指标和维度。
实体在这里更像是统计分析中的主语,而不是业务运行中的对象。
作为维度时,客户用于切分收入、订单、复购、客单价。它回答的是:按客户类型、客户等级、客户区域看,指标有什么差异。
作为业务对象时,客户有生命周期,有触点,有状态,有行为事件,有关系网络,有风险信号,有可触达动作。它回答的是:这个客户为什么流失、下一步该如何挽回、谁负责跟进、跟进动作是否有效。
作为维度,商品用于分析销售额、毛利、库存、动销率。
作为业务对象,商品有上新、定价、促销、缺货、补货、滞销、替代关系、组合关系、供应商关系、区域适配性。它不是一个切片字段,而是经营动作围绕的对象。
作为维度,门店用于看区域业绩和门店排名。
作为业务对象,门店有地理位置、客流结构、人员配置、库存状态、活动执行、周边竞争、经营周期和异常事件。
同样叫"实体",在指标语义层里,它常常是统计切片;在本体化语义层里,它是业务世界里的对象。关键要看这些实体、属性和关系最终是被压扁成指标维度体系,还是被保留为 Agent 可理解、可推理、可追踪、可行动的业务世界模型。
为什么这个差别重要?
因为企业 AI 数据应用最容易失败的地方,不是 SQL 语法错,而是业务意义错。
这就是企业数据 AI 常见的"信任缺陷"。
这需要的语义能力,至少包括五个层次。
也就是指标定义、维度口径、时间规则、聚合逻辑、筛选条件。这是问数的基础。
也就是客户、商品、订单、门店、合同、线索、员工、渠道等业务对象,以及它们的属性、层级和关系。这是理解业务主语的基础。
也就是下单、退款、访问、转化、流失、补货、调价、促销、拜访、审批、交付等业务事件,以及事件发生的时间、顺序、对象参与关系和状态变化。这是解释变化的基础。
也就是业务定义、归因规则、异常判断、权限约束、组织边界、质量规则、审计要求。这是稳定输出和可信治理的基础。
也就是系统可以触发什么流程、生成什么报告、调用什么 API、通知什么角色、打开什么页面、进入什么任务流。这是从分析走向行动的基础。
如果语义层只覆盖第一层,最多再覆盖一部分第二层,它当然能支撑很多 ChatBI 场景。但它很难支撑完整 Data Agent。因为 Data Agent 不是"指标问答机",而是要在业务世界里工作。
很多人讨论 NL2SQL 时,会把问题归因于大模型不够强、Prompt 不够好、样本不够多。
这些当然会影响效果。
但在真实企业环境里,更根本的问题是:自然语言和物理数据库之间缺少稳定的业务语义中间层。
用户问:「最近华东大客户的复购为什么下滑?」
这句话里面包含很多隐含语义:
如果让模型直接从这句话跳到 SQL,它要同时完成意图理解、对象识别、指标匹配、时间归一、权限判断、表关系推断、SQL 生成、数据库方言适配。
任何一步错了,最后都可能得到一个"能运行但不可信"的答案。
所以更稳的路径,不是让模型直接猜 SQL,而是让模型先表达业务意图。
也就是:
自然语言 → Alisa(自研语义模型引擎)→ LogicForm → SQL / API / URL / 其他执行路径自然语言进入系统后,先进行意图识别,明确用户到底在问什么对象、什么指标、什么时间、什么约束、什么分析动作。
然后由稳定的语义基础设施把自然语言拆解为 LogicForm,再由 LogicForm 翻译成 SQL、API、URL 或其他执行路径。
这就是 NL2LF2SQL 的意义。
LogicForm 不是一个中间 JSON 格式那么简单。它结合于语义理解引擎和语义数据库,把"业务意图表达"和"物理执行生成"分开。
模型负责理解问题,但不直接赌博式生成最终 SQL。
语义基础设施负责把已经结构化的意图映射到稳定的数据、规则、权限和执行路径上。
具体来说,LogicForm 的基础算子集合是固定的——查询、筛选、聚合、归因、对比、排序这些分析动作是通用的。但具体的语义槽位(对象、指标、时间、约束等)是由每个企业的 SemanticDB 语义模型动态定义的。可以理解为语法是通用的,词汇表是每家企业自己的。这样既保证了引擎的通用性,又能适配不同企业的业务差异。
这背后需要的,也不是薄薄的一层指标字典。从语义意图识别到生成 LogicForm 整个流程背后,是更完整的自研语义数据库 SemanticDB:
否则精准的语义理解和 LogicForm 生成也会变成一个概念空壳。
有些人一听到"本体化语义层",会觉得这是把简单事情复杂化,是概念包装。
这种警惕是有必要的。
市场上确实存在很多把旧能力换个名字重新包装的情况。任何新概念都应该被追问:
但不能因为有人滥用概念,就把概念本身的边界压窄。
"本体化语义层"真正要表达的,不是说企业必须立刻上一套庞大的本体系统,也不是说所有企业都要复制某些大型平台的复杂架构。
它要表达的是:语义层不再只是回答"这个数怎么算",还要回答:
如果一个系统能够围绕这些问题建立稳定模型,那么它即使不使用"本体"这个词,也已经在走本体化语义层的路线。
反过来,如果一个系统只是在指标和维度之上加一些描述、样例问法和 Prompt 规则,那么即使它用了再大的概念,也还没有真正进入这条路线。
所以,讨论不应该停留在"谁用了什么词"。
应该回到工程和产品问题:
这个语义系统到底能不能让 Agent 更稳定地理解业务、解释原因、追踪证据、生成报告、连接动作。
当然,本体化语义层也不应该被讲成一种一上来就必须全企业铺开的重工程。
这是另一个误区。
如果一个企业只是希望统一几个核心指标,让销售、运营、财务能在同一套口径下问数,那么指标语义层就足够重要,也足够有价值。
没有必要一开始就把所有业务对象、流程和动作都建成完整模型。
但如果目标是让 AI 进入经营分析会,承担持续分析、归因解释、异常预警、报告生成和任务推进,那么语义层就必须往更深处走。
这不是概念偏好,而是任务要求。
不同任务需要不同语义厚度:
需要稳定指标和维度
需要指标口径、字段语义、查询约束和权限控制
需要对象关系、事件链路、时间窗口和分析路径
需要主题结构、证据引用、指标解释和结论追溯
需要业务规则、组织角色、流程接口和动作边界
Data Agent 如果只停在前两层,就会变成一个更会聊天的 BI 入口。它可以回答一些问题,但很难成为经营分析助手。真正的路线应该是渐进式的:从指标语义起步,先把高频问数做稳;再随着归因、报告、行动的需求,逐步补齐对象、事件、规则和动作语义。
过去语义层更像是数据消费层的一部分。
它夹在数据库和 BI 工具之间,帮助人用业务语言理解数据表、字段、指标、维度。
但在 Agent 时代,语义层的位置会发生变化。
它不只是给前端展示用,也不只是给 SQL 生成用,而会成为 Agent 运行时的一部分。
Agent 每次理解问题、拆解任务、选择工具、生成查询、解释结果、判断异常、调用动作,都要依赖语义层提供约束。
Agent 只能靠模型参数和 Prompt 猜
Agent 可以更准确地查数
Agent 才有机会理解业务世界
Prompt 可以组织流程,不能替代事实建模。大模型可以生成表达,不能替代企业对业务对象、关系、规则、权限和动作的稳定定义。
这也是为什么今天很多数据平台、BI 产品、AI 数据应用都在重新讨论 semantic layer、semantic model、business graph、knowledge store、metrics layer、governed semantics。
大家方向不同,术语不同,产品形态不同,但共同趋势很清楚:
如果语义层只被理解为"指标和维度的统计分析对象",它就无法承担 Agent 运行时基础设施的角色。
我觉得这场讨论最应该避免的是两种姿态。
一种是用大词压人,好像只要说了本体、语义、Agent,就天然更先进。
另一种是用旧定义守门,好像语义层只能停留在指标和维度,凡是往对象、事件、状态、动作扩展,都是噱头。
这两种都不够诚实。
更好的讨论方式是回到可验证能力。
一个面向 Data Agent 的语义系统,至少应该能接受这些问题的检验:
从这个角度看,争论"它到底叫不叫本体"其实没那么重要。
真正重要的是:它有没有把企业业务世界建模到 Agent 能用的程度。如果没有,那就是更好的指标语义层。如果有,那就是更接近本体化语义层。名字可以商量,能力不能含糊。
语义层不是一个固定在 BI 时代的狭义概念。
它是一类把企业数据、业务语言、分析逻辑和执行约束连接起来的基础设施。
在 BI 时代,它主要表现为指标语义层,帮助人更一致地看数。
在 Data Agent 时代,它必须扩展为更强的业务语义系统,帮助 AI 更稳定地理解、分析、解释和行动。
所以,把语义层定义为实体、属性、关联关系,再形成指标和维度等统计分析对象,这个说法可以成立,但只能覆盖语义层的一种形态。
它适合解释指标治理和分析消费,却不足以解释 Data Agent 所需要的业务世界建模。
企业真正要避免的,不是用了"本体化语义层"这个词,而是误以为把指标和维度管理好,AI 就自然能理解经营。
这中间差着一整套对象、事件、状态、关系、规则、权限和动作的语义建模。
也差着从 NL2SQL 到 NL2LF2SQL 的技术路线转变。
更直白地说:把指标和维度管好,不等于 AI 就能理解经营。这才是语义层讨论真正应该往前走的地方。
不需要。本体化语义层是在现有数据资产之上叠加一层业务语义定义,不动底层表结构和已有指标体系。已有指标治理越完善,接入速度越快。亿问 Data Agent 的 SemanticDB 支持语义模型热更新,新增对象、事件、规则定义不需要停机重建。
LogicForm 的基础算子集合是固定的——查询、筛选、聚合、归因、对比、排序这些分析动作是通用的。但具体的语义槽位(对象、指标、时间、约束等)由每个企业的 SemanticDB 语义模型动态定义。可以理解为语法是通用的,词汇表是每家企业自己的,既保证引擎通用性,又适配不同企业的业务差异。
不需要一步建满。实际项目中,第一阶段通常只建指标语义和核心业务对象,先让问数和基础分析跑通。事件语义和规则语义跟着客户的实际分析场景逐步补充——比如客户开始用归因分析了,再把相关的事件链路建进去。核心是节奏问题而不是工程量问题。
本体化语义层关注的是企业业务世界的结构化建模——对象、事件、状态、关系、规则、权限、动作,目的是让 Agent 在运行时能稳定理解业务、约束输出。知识图谱是一种可能的底层实现手段,但本体化语义层不等于知识图谱,它还包括执行路径、权限边界、动作定义等知识图谱通常不覆盖的部分。亿问的 SemanticDB 是专门为 Data Agent 运行时设计的语义基础设施,不是通用知识图谱。
目前在指标语义、对象语义、事件语义、规则语义四层已有完整落地能力。动作语义在部分客户场景中已跑通,例如异常触发后自动生成分析报告并推送给对应角色。具体到不同行业(零售、制造等)的场景拆解,后续会有专题文章展开。
★ 为亿问自有技术术语。词条详见「技术词典」栏目。