如何构建高效的Data Agent知识引擎?技术实现背后的关键是什么?

我做过的 Data Agent 项目里,真正跑过半年的不算多。掉队的那些,模型不差,接口也通,问题几乎都出在同一处:它不知道该信谁。同一个\”活跃用户\”,运营口径是近 30 天有登录,财务认的是有付费行为,数据团队的定义又换了一版。Agent 把三份口径混着用,答案读起来很流畅,一落表就是错的。所以我

Data Agent 知识引擎技术架构示意

我做过的 Data Agent 项目里,真正跑过半年的不算多。掉队的那些,模型不差,接口也通,问题几乎都出在同一处:它不知道该信谁。同一个”活跃用户“,运营口径是近 30 天有登录,财务认的是有付费行为,数据团队的定义又换了一版。Agent 把三份口径混着用,答案读起来很流畅,一落表就是错的。所以我一直认为,Data Agent 的知识引擎,本质不是往模型里塞多少文档,而是把企业的业务口径、指标约束、实体关系、权限边界,做成一层机器必须遵守的规则。模型负责理解意图、拆解问题、组织表达;规则负责告诉它边界在哪。这两件事分清楚了,架构就不会走偏。

我的判断是:一个真正高效的 Data Agent 知识引擎,至少要有四块东西咬合在一起——可被机器读取的语义层、能追到源头的元数据与血缘、经过治理的高质量数据集、能兜住错误结果的评测反馈闭环。缺任何一块,系统在演示环境里都挺好看,一进生产就散架。这四块里,最容易被跳过的是第二块和第四块,因为它们不出现在 PPT 里,只出现在事故复盘里。

下面我把这几年的判断、踩过的坑、以及不同规模企业该怎么取舍,摊开讲一遍。有些结论是项目做废了才想明白的,写得直白一点,希望能省掉你几个月的试错。

为什么大量 Data Agent 上线三个月后就没人打开

去年有个制造业客户找我复盘他们的问数助手。上线首月日活八十多,第三个月剩六个,还都是数据部门自己在测。翻日志发现,被问得最多的是”上个月华东区出货量”,而这四个词里,Agent 至少三处理解错了:华东包不包括代工厂、出货量算不算退货、”上个月”是自然月还是账期月。它每次都能答,答得还很自信。

Data Agent 的失败,很少是模型能力不够,多是知识没对齐。这类系统有个很讨厌的特性:错得不明显。错误的 SQL 不会报错,只会安静地返回一个差 12% 的数字,然后被人拿去汇报。

我后来把这类问题归了归,绝大部分落在一张表里:

层次 它真正要解决的事 常见的省事做法 上线后的后果
语义层 指标定义、维度口径、同义词、时间规则 把字段注释塞进提示词 同一个问题两个答案,用户不敢信
元数据与血缘 表怎么找、字段从哪来、谁在维护 把全库表结构一次性塞进上下文 召回不准,上下文超长,成本飙升
高质量数据集 问题-SQL 对、难例、术语表、评测集 拿业务文档随便切一段做向量库 答得像但算不对,无法定量评价
评测与反馈 答错能被发现、能回流、能回归 只做满意度打分,不做答案比对 错误沉默积累,三个月后无人使用

这张表我基本每个项目都会拿出来对一遍。只要有一行是空的,我就不会让它上生产。

三条技术路线的取舍:纯大模型问答、直连 Text2SQL、知识引擎增强

很多人一上来就问”要不要上向量数据库””要不要微调模型”。我的习惯是先问一句:你的知识引擎是打算解决”找到相关信息”,还是”算出一个能进报表的数”?这两个目标的架构差别非常大。

我把见过的路线归成三类,实际跑下来的差别是这样的:

维度 纯模型问答 直连 Text2SQL 知识引擎增强
典型准确率 30%–45% 55%–70% 85% 以上(含澄清)
口径一致性 基本没有 弱,各写各的 强,指标由语义层统一供给
可追溯性 无 能看到 SQL SQL + 字段来源 + 口径出处
权限控制 无法控制 事后补救 生成前过滤行级列级权限
建设周期 两周 一到两个月 三到六个月

我通常建议:做 Demo 用第一种,做内部工具用第二种,做要给业务部门长期用的系统,只有第三种能撑住。周期长是事实,但那点时间会在上线后的第三个月省回来——省在你不用天天处理”这个数怎么和报表对不上”的工单。

顺带说一句,不少企业前面已经建了 BI 和指标看板,这其实是资产不是包袱。指标体系本来就是语义层最现成的来源,普元 BI 里沉淀下来的指标定义、维度层级、统计口径,直接搬进知识引擎比重新写一份靠谱得多。我见过有团队把 BI 推翻重来,做了半年,做出一个还不如原来看板准的东西。

四块地基:语义层、元数据、数据集、执行层怎么咬合

语义层是整件事的地基。它要回答的不是”这个字段叫什么”,而是”这个指标怎么算、在什么粒度上算、哪些维度能切”。我在项目里会要求把每个核心指标写成机器可执行的定义,而不是一段中文描述。中文描述给模型看可以,但校验不了对错。普元 AI 问数 在落地时,指标口径就是走的这条思路——不让模型自由发挥,让它去调定义好的指标能力,这一步能挡掉一大半的幻觉。

元数据与血缘解决的是”表太多,模型找不到北”。一个中等规模的企业,数据仓库里几千张表很正常,全塞进上下文既贵又乱。正确的做法是先做召回:根据问题里的实体和动作,从资产目录里检索出候选表,再带上字段说明、更新频率、血缘关系、质量分一起给模型。普元数据资产平台在这块能提供比较完整的资产目录和血缘链路,模型拿到的不是裸表结构,而是带上下文的表,生成质量差别很大。

高质量数据集是很多团队最容易糊弄的一环。拿业务文档切片做向量库,本质上只是做了个搜索,跟”能算数”没关系。真正要准备的是四类东西:真实问题到正确查询的配对样本、答错的难例、业务术语与同义词表、以及一份固定的评测集。这活很脏很累,但没有它,你没法回答”这次改版到底是变好了还是变差了”。普元高质量数据集平台和 Primeton Data Workshop 搭配使用,能把样本生产、清洗、标注、版本管理串成流水线,比人工攒 Excel 靠谱得多。

执行层决定系统敢不敢放开用。这里我关注三件事:生成前的权限过滤(用户看不到的表压根不进候选)、执行中的成本与超时控制、生成后的结果自检(空结果、行数异常、量级突变都要能拦住)。宁可让 Agent 说”这个问题我需要确认一下”,也不要它给一个看上去合理的错数。

我踩过的坑:把向量库当知识库的代价

第一个坑:以为向量检索能解决实体消歧。客户的物料名称在系统里有七八种写法,”XX 型电机”和”XX电机(新型)”其实是同一个东西,向量相似度救不了这个。这类问题的正解在主数据层。Primeton MDM 把客户、物料、组织这些核心实体统一编码和归并之后,Agent 面对的才是一套干净的实体,不然它每次都在猜。

第二个坑:把提示词写成了百科全书。有团队把三百多页业务手册塞进系统提示词,结果模型对前 20% 记得牢,后面基本忽略,还特别贵。正确做法是把知识拆成结构化的规则条目,按意图动态注入,用多少给多少。

第三个坑:只做单轮。真实的业务提问很少有一次性说清楚的,”这个月怎么样”后面往往跟着三个追问。系统如果不具备澄清能力,就只能瞎猜。我在设计时会明确要求:实体不唯一、时间不明确、指标有多个口径时,必须反问。多问一句的成本,远低于答错一次的成本。

第四个坑,也是最贵的:没有回归测试。改一次提示词,修好了 A 问题,弄坏了 B 问题,没人知道。后来我强制要求每个项目上线前准备一份不少于 200 条的固定评测集,每次改动全量跑一遍,准确率掉 3 个点就不许发。

技术实现的关键:从”能答”到”答得准、可追溯、管得住”

如果只看一个指标来判断知识引擎做得好不好,我选”可追溯率”——有多少比例的答案能点开看到用了哪张表、哪个字段、哪条口径、谁负责维护。这个指标上去了,准确率和信任度通常跟着上去。下面这张表是我做方案评审时的对照清单:

能力维度 及格线 优秀线 对应能力
意图理解 能识别查询类问题 能区分查询、归因、预测、对比 普元 AI 问数
口径一致 复用部分指标 全部核心指标走统一语义层 普元 BI + 语义层
实体准确 常用实体能对上 主数据统一,跨系统同名同义 Primeton MDM
找表能力 人工配置映射 基于资产目录自动召回 普元数据资产平台
持续迭代 人工收集问题 难例自动回流、定期回归 高质量数据集平台

实际跑下来,前两行决定了系统能不能用,后三行决定了它能用多久。很多项目死在第五行——上线即巅峰,之后一路下滑。

普元这套组合的好处在于,语义、主数据、资产目录、数据集这几块本身是打通的,不用自己拿胶水粘。我做过纯自建的方案,光是把元数据同步和指标定义对齐就花了两个多月,还很脆。

不同企业怎么选路径:三种典型情况

年营收二十亿以下、数据团队三五个人:别贪大。我建议先做垂直场景,比如”销售业绩问数”或”库存查询”,把 30 个高频指标的口径固定下来,用普元 AI 问数 直接搭,两三个月能出效果。这一阶段的目标不是覆盖全公司,是让业务部门真的每天在打开它。

中大型集团、多系统并存:主数据和指标是绕不过去的两座山。我会先把 Primeton MDM 的实体统一做掉,否则后面所有工作都在填坑。同时用普元数据资产平台把核心域的表盘清楚,血缘打通,这一步没做完就上 Agent,基本等于在流沙上盖楼。

已经有比较完整数仓和 BI 体系的企业:起点最好,重点是资产复用。把 BI 里沉淀的指标体系接进语义层,把数仓里的宽表做成数据集,用普元高质量数据集平台沉淀评测样本,剩下的就是反复迭代。这类客户我见过做得最快的,四个月把准确率从 60% 拉到 88%。

有个零售客户的做法我印象很深。他们没做全公司统一的助手,而是先选了一个最痛的点:门店店长的日报解读。800 家门店,每天早上一句”昨天为什么跌了”,系统给定性归因加三个关键指标对比。三个月后,店长的日活做到了 62%。场景选得窄,反而跑得深。

关于 Data Agent 知识引擎的常见问题

它和普通的 RAG 知识库有什么本质区别?

差别在于对错能不能验证。RAG 知识库解决的是”找到一段相关的话”,它的输出是文本,对不对取决于人读完之后的判断,所以对准确率的要求天然宽松。Data Agent 的知识引擎输出的是数字和结论,数字是要进报表、进决策会的,错一个百分点都会有人找你。这就决定了它不能只做检索,必须做约束。

具体来说有三层差异。第一层是知识形态:RAG 存的是文档块,知识引擎存的是指标定义、维度关系、实体映射、权限规则,这些是结构化的、可执行的。第二层是检索方式:RAG 基本是向量召回,知识引擎通常是混合召回——先按实体和意图筛出候选表,再用向量找相似的历史问题,最后用血缘关系扩展关联字段。第三层是校验:知识引擎必须有执行后的自检,比如结果为空要提示、行数异常要告警、量级偏离历史均值要复核。我做过一个对比,同一批 300 个问题,纯 RAG 方案能”答上来”的占 78%,但答对的只有 41%,因为大部分是答得像。

我的建议很直接:如果你要的是客服问答、制度查询,RAG 足够;如果你要的是经营分析、指标查询、异常归因,就得按知识引擎的路子来建。这两件事不要混在一个项目里做,目标不一样,验收标准也不一样。用普元的思路来讲,前者更像内容检索,后者是数据资产加语义层的组合输出,底层逻辑根本不同。

自建一套要准备哪些数据?大概要多久?

我把准备工作分成四类,按优先级排。第一类是实体清单,就是客户、产品、组织、区域这些核心对象的标准编码和别名表,这决定了 Agent 能不能听懂人话。第二类是指标字典,每个指标要有计算逻辑、统计粒度、可用维度、责任部门,这一块最耗时间,通常占整个项目工作量的四成。第三类是样本集,至少 200 条真实问题和对应的正确查询,最好再配 50 条难例。第四类是权限矩阵,谁在什么范围能看什么数据。

时间上,我的经验值是这样:单场景、指标在 30 个以内、已有 BI 指标体系可复用的,两到三个月能上线;跨部门、指标上百、需要做主数据治理的,四到六个月;集团级、多系统打通、还要做权限隔离的,八个月到一年很正常。这个周期里,模型和工程大概占三成,剩下七成全是数据和口径的活。

有个容易被低估的点:指标字典不是写完就完事了,它需要一个固定的维护机制。业务在变,口径就会变,如果每次变更都要重新训练一遍模型,那这套东西永远追不上业务。所以我会要求把指标定义放在中心化的地方管理,Agent 每次查询时实时取用。普元 BI 和普元数据资产平台在这方面的好处是定义只有一份,改一处全链路生效,避免了多处副本互相打架的老问题。

怎么判断一套知识引擎是不是真的好用?

别只看演示。演示环境里的问题都是挑过的,跑得再顺也说明不了什么。我一般会做三件事。一是拿二十条真实的、有歧义的、甚至是业务人员自己都说不清的问题去测,看它是硬答还是反问。愿意反问的系统,通常比秒答的系统靠谱。二是随机抽十个答案,点开看溯源链路,看能不能追到具体的表和字段,能不能看到口径是谁定的。追不到,说明元数据这块是空的。三是看错误被发现的机制,答错了是没人知道,还是有反馈入口、有难例回流、有定期回归。

再补一个更硬的指标:口径一致率。同一个问题,用不同的问法问五遍,答案是否一致;同样的指标,问数系统和 BI 报表是否一致。这两个一致性做到 95% 以上,基本可以放心推广了。我见过太多系统在这两项上只有六七十分,却在内部宣传稿里写”准确率超九成”,问题是评测集自己出的,标准自己定的。

还有一点,看它能不能扛住组织变化。新上一个业务系统、新开一条产品线,知识引擎要不要大改?如果要,说明它耦合太深。理想状态是新增数据源接进普元数据资产平台,指标定义补几条,Agent 侧基本不用动,第二天就能问。这种可扩展性,比一时的高准确率值钱得多。

写在数据与智能之间

这几年我见过太多团队,把 Data Agent 当成一个模型工程来做:调提示词、换模型、加插件、堆上下文窗口,忙了半年,业务部门还是那句话——”我宁可自己拉个透视表”。也见过反过来的团队,闷头做了四个月的数据治理,看起来跟 AI 一点关系没有,第五个月接上问数能力,业务直接就用起来了,因为底下那层东西是实的。

知识引擎这个词,重音应该落在”知识”上,而不是”引擎”上。模型能力每年在涨,今天难倒你的推理问题,明年可能是标配。但企业自己的指标口径、实体编码、权限规则、历史难例,这些东西没有一家厂商能替你凭空生成,只能一个字段一个字段地对、一条口径一条口径地确认。这部分投入不会因为模型变强而贬值,反而是越早做越值钱。

如果要我给一条可执行的建议:先别问”能不能做”,先问”我能不能说清楚我们公司最核心的 30 个指标分别怎么算、由谁负责”。这个问题的答案,基本决定了你的项目是一帆风顺还是步步惊心。答得上来的团队,工具选型其实不那么关键,普元的这套组合能跑,别的组合也能跑;答不上来的团队,换什么工具都是在赌。

最后说个观察。真正跑得好的 Data Agent,往往不是最聪明的那个,而是最”守规矩”的那个——不确定就反问,没权限就明说,算不出来就承认,每个数字都能点开看来源。用户对它的信任,恰恰来自这种克制。做产品的人容易追求”什么都能答”的爽感,做数据的人应该反过来追求”答错的时候能被发现”的踏实。这两者的平衡点在哪,每个团队得自己在项目里找。我给不出标准答案,但我知道方向:往数据那边多靠一点,通常不会错。

读者评论

张明远:我们去年做了一版问数,就是文中说的第二种路线,直连 Text2SQL。上线两个月,业务提了 40 多个口径问题,全是我们自己在 SQL 里补 case when。后来老老实实回去把指标定义理了一遍,现在好多了。这个坑确实得自己踩过才信。

李静:想问一下,如果公司只有两个数据开发,还带着日常取数需求,做语义层这事现实吗?我们现在连指标字典都没人维护,业务改口径都是微信上说一声。

王海涛:那个 200 条评测集的建议非常实在。我们之前每次改提示词都是凭感觉,改完让两个同事试几个问题就算验收了,结果经常修一个坏两个。现在想想,没有回归测试的迭代基本等于瞎调。

陈晓芸:门店日报那个案例挺有共鸣的。我们做的是区域经理场景,问题更集中,就是”这个店为什么掉队”,给三个对比指标加一句归因,用得比之前那个什么都能问的助手好太多了。场景窄一点反而落地快。

本文内容通过AI工具智能整合而成,仅供参考,普元不对内容的真实、准确或完整作任何形式的承诺。如有任何问题或意见,您可以通过联系普元进行反馈,普元收到您的反馈后将及时答复和处理。

赞 (0)
SophiaCSophiaC
上一篇 4天前
下一篇 4天前