Data Agent技术介绍(下)
📌 技术干货 · 共四个阶段
本文为系列下篇,涵盖阶段三:从 Skill 到本体语义层与阶段四:团队技术进展。上篇已介绍阶段一(语义层接入探索)与阶段二(从查数到决策)。
系列上篇在这里:Data Agent 技术介绍(上)
在上篇中,我们介绍了指标语义层如何解决"查得准"的问题,以及 Skill 体系如何让 Agent 从"查数"走向"决策"。然而,随着 Skill 数量的增长,一个更深层的问题浮出水面:当业务规则散落在数十个 Skill 的 Prompt 中时,谁来保证这些规则的一致性?
本文将从 Skill 体系的边界出发,深入探讨本体化语义层的必要性——它不仅是语义层的升级,更是 Agent 从"能干活"走向"值得信赖"的关键一跃。
阶段三:从 Skill 到本体语义层
1、Skill 能力边界:为什么"会查数"不等于"懂业务"
阶段二中,我们通过 Skill 让 Agent 从"初级分析师"走到了"策略师"。Agent 能做异常检测、趋势预测、四象限诊断,甚至能给出最后的决策建议。但这里有一个不能回避的问题:Skill 的天花板,本质上是"它能拿到什么材料"。
如果把Data Agent比作一个医生,Skill相当于诊断流程(望闻问切 → 开处方),语义层相当于化验报告。如果化验报告本身——指标口径、维度关系、业务规则——散落在各个Skill的Prompt里各自维护,那么:同一个"销售额",metric-query用的口径和inventory-strategy用的口径可能不一致;新增一个"渠道",要同时改5个Skill的Prompt;业务规则(如"到店超过1000天的商品算滞销")只在某个Skill里硬编码,换一个Skill就不知道。
Skill越做越多,口径管理和知识复用就会越来越重要。这便是从"Skill探索"自然走向"本体语义层"的动因。
2、两类语义层:指标语义层 vs 本体化语义层
今天行业里都在讲"语义层",但大家讲的并不是同一件事。我们可以将语义层分为两类:
2.1 指标语义层(阶段一、二所用)
核心问题:"这个数到底怎么算?"以指标、维度、口径为核心单位。解决的是:
- "销售额"含不含税、退不退货;
- "新客"按注册还是按首单算;
- "华东区"包含哪些省市;
- "同比"对齐到哪个时间窗口。
优势:对于标准化、高频的问数场景(统一口径、固定报表、管理驾驶舱),投入产出比极高。阶段一的NL→MQL→SQL链路和阶段二的六个Skill,本质上都建立在指标语义层之上。
边界:当问题从"看什么"走到"为什么",指标语义层开始吃力。例如问"为什么华东区女装销售额下降",系统需要知道:
- 销售发生在什么业务事件里(下单、退款,还是缺货?);
- 女装是产品对象上的哪层分类属性;
- 销售额下降是订单量下降、客单价下降,还是退款/折扣/渠道变化造成的;
- 哪些对象和事件值得继续被追问。
这些内容,单靠指标公式是表达不出来的。

2.2 本体化语义层
核心问题:"这个数背后的业务世界是什么样的?"以对象、事件、关系、规则为核心单位。它的主张是:企业不是由一堆指标组成的,而是由对象、事件和关系构成的业务世界。
- 客户、订单、商品、门店、渠道、仓库、组织——是对象;
- 下单、支付、发货、签收、退款、入库、出库——是事件;
- 客户"下"订单、订单"包含"商品、商品"参与"活动、活动"投放于"渠道——是关系;
- 事件改变对象状态,状态影响指标,指标反映运行结果。
指标语义层回答了"这个数怎么算",本体化语义层还要回答:
- 这个数对应的是哪个业务事实;
- 这些事实涉及哪些对象和关系;
- 某个变化是沿哪条业务链路传导出来的;
- 如果往下分析,该看哪些对象、哪些事件、哪些规则。
2.3 六维对比
|
维度 |
指标语义层 |
本体化语义层 |
|
建模单位 |
指标、维度、口径 |
对象、事件、关系、规则 |
|
表达能力 |
聚合分析 |
聚合分析 + 跨对象筛选 + 事件链路 + 状态变化 + 动态分组 |
|
问题覆盖 |
标准化问数 |
问数 → 归因 → 解释 → 建议 → 动作 |
|
系统可解释性 |
"这个指标怎么算出来的" |
"为什么是这些对象和事件共同导致了这个结果" |
|
维护重心 |
指标池、维度池、公式、别名映射 |
业务对象建模、事件链路、关系网、规则显性化 |
|
天花板 |
取决于能把多少问题收敛成指标表达 |
取决于能把业务世界表达得多完整 |
关键认知:本体化语义层不是不要指标层,而是把指标层纳入更大的业务世界表达中。指标仍然重要,口径仍然要统一,只是它们不再是语义层的全部。
3、为什么本体化语义层是 Agent 时代的数据基建"新地基"
3.1 行业共识:2026年主流厂商的路线殊途同归
|
厂商 |
动作 |
|
微软 Fabric IQ |
将 Ontology 作为 Fabric 预览能力,entity/property/relationship 与数据资产绑定 |
|
Snowflake Cortex Analyst |
强调 Semantic Views |
|
Databricks Genie |
要求领域专家维护 datasets、sample queries、text guidelines、knowledge store |
|
dbt Semantic Layer |
继续把指标定义、semantic graph、MetricFlow 往统一语义层推进 |
|
Google Looker |
把 Looker semantic layer 通过 MCP 接给 Gemini CLI 和其他 Agent |
方向一致:大模型要进入企业数据生产,不能只靠模型自己猜,模型之外必须有一层机器可读、可治理、可复用的业务语义基座。
3.2 传统数仓为什么能用?因为人在替系统"补洞"
过去十几年,分析师靠经验知道哪个表是月结口径,业务同学靠默契知道"新客"默认按首单算。人是会脑补的,隐性知识填补了系统的语义缺失。
但 Agent 不会继承这些默契。如果系统没告诉它某字段虽叫amount却已扣过退款、某宽表只能用于日报不能用于月结、某客户标签市场部能用风控部门不能用——Agent就会在这些缺口上产生幻觉。
3.3 只做 Prompt 和 Harness,本质上是在用胶带修地基
很多项目的做法:Schema扔进去 → 补一段Prompt → 答错了继续加Prompt → 某部门口径特殊再加规则 → 角色权限不同再加约束。
短期Demo能跑,长期生产大概率失控。因为Prompt和Harness解决的是"过程控制"(你应该怎么做),但解决不了"输入材料本身对不对"。
3.4 本体化语义层真正解决的:Agent 的"世界模型"
当对象、事件、关系、规则被显性化以后,Agent拿到的就不再是一堆表和字段,而是一套业务世界的地图。这张地图的价值:
降低幻觉源
材料本身更明确、更可信、更结构化。
收敛推理空间
模型在已定义的对象、关系、指标、权限和动作空间里做规划,不用在无限Schema里乱猜。
支撑角色差异
财务、运营、销售需要不同口径、不同路径、不同权限,放进语义模型里比写进超长Prompt更可维护。
支持归因与行动
只看指标只能回答"掉了多少",理解对象和事件,才能回答"为什么掉、影响了谁、下一步能做什么"。
与RBAC、审计、数据血缘形成工程闭环
每次回答都可追溯到哪些对象、哪些关系、哪些指标、哪些权限约束。
4、技术路线的演进:NL2SQL → NL2MQL2SQL → NL2LF2SQL
直接让模型在复杂Schema上生成SQL(NL2SQL),一旦Schema变大、Join变多、口径变杂,准确率和稳定性会急剧下降。
阶段一我们走的 NL2MQL2SQL(指标语义层方案)是在中间加一层MQL抽象——LLM负责将自然语言转为指标查询描述(MQL),确定性引擎再把MQL编译成SQL。这一跳已经大幅提升了稳定性,但它仍然以"指标+维度+条件+时间"为表达单元,难以表达对象关系和事件链路。
本体化语义层的技术路线进一步升级为 NL2LF2SQL:

关键设计:把"语言理解"和"结构化执行"拆开。模型负责意图理解,语义层负责约束和映射,引擎负责稳定翻译。一旦结果不对,企业能知道错在意图理解、语义映射、指标口径、Join路径还是底层数据质量——而不是面对一个"也不知道为什么错"的黑盒。
5、企业落地的现实路径
不建议一上来就搞全集团、全域、全流程的超级本体工程。更现实的路径是从一个高价值业务域切入:
第一步:梳理领域内的核心对象、事件、关系和指标
- 销售经营域:客户、订单、商品、活动、渠道、组织是对象;下单、支付、发货、退款是事件;GMV、毛利、复购率、客单价是指标。
- 明确财务/运营/销售分别用什么口径,哪些数据能看哪些不能看。
第二步:沉淀成可维护的语义模型
- 表字段和业务概念绑定,指标公式和口径版本化。
- 对象关系显性化,角色权限联动。
- 关键业务规则能被查询链路和Agent运行时读取。
第三步:建立中间逻辑表达(Logical Form)
- 让模型先把问题翻译成可检查的业务逻辑表达
- 再由确定性引擎映射到查询和动作。
第四步:建立评估体系
- 沉淀黄金问题集、标准答案、典型追问、异常样例和回归测试。
- 参考Snowflake verified examples、Databricks Inspect的做法。
第五步:在可信语义基座上接入Harness工程
- Plan、Tool Calling、MCP、Skill、Prompt、Guardrail——这些站在可靠材料上才能真正发挥作用。
6、三层架构总览
结合阶段一到阶段三的探索,Data Agent的完整架构演化为:
7、一句话总结
指标语义层让AI会查数,本体化语义层让AI开始理解业务。Skill将领域认知编码为可执行方法论,但若没有本体化语义层作为统一的事实基座,Skill体系迟早会陷入"口径分散、规则重复、知识不可复用"的维护黑洞。从Skill到本体语义层,不是换一个更高级的词,而是让Agent从"能干活"走向"值得信赖"。
团队技术进展
已上线
|
模块 |
状态 |
说明 |
|
指标语义层版 Data Agent |
✅ 已上线 |
阶段一的 NL→MQL→SQL 全链路已在生产环境运行,支持智能问数、口径统一、权限校验、结果可解释 |
|
Skill 体系 |
✅ 已上线 |
查数、归因、异常检测、趋势预测、分析报告、定时调度等 Skill 已在实际业务中投入使用 |
|
本体化语义平台 |
✅ 已上线 |
对象模型、事件模型、关系模型、规则引擎等核心能力已完成搭建,支持 Logical Form 中间表达与确定性映射 |
进行中:渐进式演进路线
当前团队正推进一条渐进式演进路线,而非一次性推倒重来:

核心思路:已将本体化语义平台作为"新地基"搭建完成。后续业务规则的表达逐步从 Skill Prompt 迁移到本体语义层。
今天:部分规则写在 Skill 的 Prompt 里,部分硬编码在代码里
明天:业务规则逐步收敛到本体化语义层中的规则模型,Skill 变为编排器,不再自己携带口径
最终:Skill 本身被大幅简化甚至消解,语义层从"查数接口"升级为 Agent 可直接理解的"业务世界模型"
不是一夜之间停掉 Skill、切换本体层。而是让本体层先把 Skill 里的领域知识"吃进去"——每收敛一条规则,Skill 就轻一点;每建模一类关系,Agent 就准一点。最终状态是:本体的归本体、编排的归编排、执行的归执行,各层职责清晰、不再互相"补洞"。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)