结构化数据问答架构如何建设?表格、指标与自然语言查询
“上个月华东区的毛利率到底是多少?”业务负责人在群里抛出这个问题,数据团队翻了三张表、核对了两个口径,半小时后才给出一个连自己都不太确定的答案。这样的场景,几乎每天都在大量企业里重演。IDC的调研显示,企业中被分析使用的数据里,超过八成仍以表格和数据库等结构化形式存在,但真正能被一线业务人员直接“问出来”的比例却低得可怜。
问题不在于数据不够,而在于缺少一套能把表格、指标和自然语言查询串起来的结构化数据问答架构。本文将从架构分层、关键组件、落地路径和常见误区四个维度,拆解这套架构到底该怎么建,以及实在Agent在其中能承担什么角色。
一、为什么结构化数据问答总是“答不准”?
很多企业以为接一个大模型、写几行NL2SQL提示词,就能让业务人员用自然语言查数据。上线后却发现:问“本月销售额”返回的是订单表原始金额,问“毛利率”干脆报错。根因往往不在模型,而在架构缺了三块地基。
1.1 表格层:数据散、口径乱、质量参差
- 多源异构:同一份经营数据可能同时存在于ERP、Excel台账、BI看板和业务系统导出表中,字段命名各不相同。
- 口径漂移:销售部门的“成交额”含退货,财务部门的“收入”不含税,两个数字放在一起就是一场争论。
- 更新滞后:手工维护的表格往往滞后于业务发生时间,问答系统拿到的是“昨天的真相”。
1.2 指标层:没有统一的“数字字典”
指标不是简单的字段聚合,而是带有业务定义、计算逻辑、统计周期、维度约束的语义资产。缺少指标层,自然语言查询就只能退化为“字段匹配”,一遇到“同比”“环比”“剔除异常值”这类业务表达就失效。
1.3 语义层:自然语言与数据模型之间缺少翻译器
用户说“卖得最好的三个产品”,系统需要理解“卖得最好”是销售额还是销量、“三个”是Top3还是前三名、“产品”对应哪张维表。这层翻译如果只靠大模型即兴发挥,结果的稳定性就无从谈起。
在制造业的一个典型场景中,产品研发部门需要频繁查询料号与BOM信息,但原始资料大量以非结构化文档形式存在。通过实在Agent自动识别文档内容、提取关键字段并写入结构化表,才让后续的“问料号、问BOM”成为可能——结构化问答的第一步,往往是把非结构化数据先变成可查询的表格。
二、结构化数据问答架构的四层骨架
一套可落地的架构,通常可以分为数据接入、语义建模、指标计算、查询编排四层。四层各司其职,缺一层就会在某个环节“漏气”。
2.1 数据接入层:把散落的表格统一“收编”
- 批量接入:数据库直连、API同步、文件上传三条通道并行,覆盖主流数据源。
- 结构识别:自动识别表头、字段类型、主外键关系,把“看起来像表格的文件”转成“真正可查询的数据集”。
- 质量校验:空值率、重复率、枚举值合法性等规则前置执行,避免脏数据流入问答链路。
这一层的价值在于“一次接入、多次复用”。企业在做结构化数据问答架构建设时,最容易低估的就是接入层的工程量——它决定了上层问答的天花板。
2.2 语义建模层:给业务概念建立“字典”
语义层要解决的是“业务词”与“数据字段”之间的映射关系。核心产出包括三类资产:
- 实体字典:客户、产品、区域、门店等业务实体的标准名称与同义词,例如“大区”“区域”“战区”指向同一维度。
- 维度层次:时间(日/周/月/季/年)、组织(集团/事业部/分公司)、产品(大类/中类/SKU)的层级关系。
- 同义与纠错:把“销售额”“营收”“GMV”等口语表达收敛到统一指标入口。
2.3 指标计算层:让每个数字都有唯一口径
指标层是整套架构的“信任底座”。一个可用的指标定义至少应包含:业务含义、计算公式、数据来源、统计粒度、责任部门、变更记录。
- 原子指标:不可再分的基础度量,如订单金额、退款金额、库存数量。
- 派生指标:由原子指标组合而成,如毛利率=(收入-成本)/收入。
- 复合指标:带业务规则的指标,如“有效订单”需剔除测试单、刷单和风控拦截单。
在财务共享中心的智能审单场景中,一家企业面对120多种业务类型、单一类型十余条审核规则,最终采用“大模型+小模型”双轨制:大模型负责把制度文本解析成可执行规则,小模型负责OCR识别与规则校验,系统穿透查询完成数据核对。这套思路与指标层的建设逻辑高度一致——规则和指标都必须先被结构化表达,才能被机器稳定执行。实在Agent在这类场景中承担的是“规则解析+流程编排”的角色,让制度文本、审核口径和系统数据在同一套语义体系下对齐。
2.4 查询编排层:从自然语言到查询计划的翻译
这一层负责把用户的一句话拆解成可执行的查询步骤,通常包含意图识别、实体抽取、指标匹配、查询生成、结果校验五个环节。
- 意图识别:区分“查数”“对比”“趋势”“归因”等不同问法。
- 澄清机制:当问题存在歧义时主动追问,例如“您指的是含税收入还是不含税收入?”
- 结果校验:对返回数值做量级、空值、异常波动检查,避免把错误答案包装成自信的回答。
- 可解释输出:同时返回口径说明与数据来源,让业务人员知道这个数字是怎么算出来的。
三、表格、指标、自然语言查询如何真正打通
三层要素不是并列关系,而是层层递进的依赖关系。理解这一点,架构设计才不会走偏。
3.1 表格是“原料”,不是“答案”
原始表格只提供事实记录,不提供业务含义。同一张订单表,可以被解释为销售额、履约量、退货率等多个指标。因此表格接入时必须同步完成字段级元数据登记,否则后续的指标计算就成了无源之水。
3.2 指标是“契约”,不是“配置”
指标一旦定义,就应当在所有查询入口保持一致。业务人员在报表里看到的“毛利率”和通过自然语言问出来的“毛利率”,必须是同一个数。这要求指标定义集中管理、版本可追溯,而不是散落在各个BI看板和SQL脚本里。
3.3 自然语言查询是“入口”,不是“全部”
自然语言的价值在于降低使用门槛,但它无法替代指标治理。一个常见误区是把NL2SQL当作万能钥匙,结果模型每次生成的SQL都不一样,口径自然无法收敛。正确的做法是:自然语言层只负责理解意图和匹配指标,真正的计算交给预定义的指标查询接口。
在电商履约场景中,一家企业把散落在聊天群和表格里的履约节点标准化,构建了“建档—流转—追踪—复盘”的闭环,最终实现履约节点流转效率提升300%、漏单与延误风险降低99.9%。支撑这套闭环的,正是底层结构化数据的实时归集与指标化表达。通过实在Agent,履约过程中的关键节点被自动记录为结构化字段,管理层随时可以用自然语言追问“哪些项目卡在物流环节”,系统直接返回带明细的结果,而不是一堆原始表格。
四、落地路径:分三个阶段推进
结构化数据问答架构不适合一次性大干快上,更稳妥的方式是按场景价值分阶段推进。
4.1 第一阶段:选一个高频场景,打通最小闭环
- 优先选择问题明确、数据相对规整、使用频率高的场景,例如财务费用查询、销售业绩看板、库存周转问询。
- 目标是跑通“接入—建模—指标—问答”的完整链路,验证口径一致性和响应准确性。
- 此阶段不必追求指标数量的多,而要看单个指标是否“问得住、答得准、可追溯”。
4.2 第二阶段:沉淀语义与指标资产,形成复用能力
- 把第一阶段验证过的实体字典、维度层次、指标定义沉淀为公共资产。
- 建立指标变更评审机制,任何口径调整都要同步更新语义层和查询层。
- 引入权限与审计:不同角色能问哪些指标、能看多细的粒度,必须有明确控制。
财务审单场景的实践很有参考价值:该企业年单据审核量超过25万笔,下辖4省188家机构执行标准不一。通过统一规则管理与全链路日志审计,初审替代率达到66%,人工负荷降低超60%,准确率提升至99.2%。审计日志让每一个审核结论都能回溯到具体规则和数据来源,这正是结构化问答架构中“可解释性”的雏形。
4.3 第三阶段:从“问答”走向“行动”
- 让问答结果直接触发下游动作,例如查询到异常订单后自动生成工单、查询到库存缺口后自动发起补货流程。
- 引入反馈闭环:业务人员对答案的纠错、追问和确认,反向优化语义层与指标定义。
- 逐步扩展多模态输入,把文档、图片中的关键信息也纳入结构化问答的原料池。
五、三个容易踩的坑
5.1 只做NL2SQL,不做语义层
模型再强也无法凭空知道“有效订单”排除了哪些状态。没有语义层和指标层兜底,问答系统的准确率会随问题复杂度快速衰减。
5.2 指标不上收,各建各的
各部门自建指标看似灵活,实则埋下口径冲突的隐患。指标定义应当集中管理、统一发布,业务侧只做引用,不做私改。
5.3 忽视权限与审计
结构化数据问答往往涉及经营敏感数据。没有行列级权限控制和查询日志,系统越易用,数据泄露的风险越大。
写在最后
结构化数据问答架构的价值,不在于让机器“会说人话”,而在于把分散的表格、模糊的口径和随意的查询,收敛成一套可治理、可复用、可审计的数据资产体系。表格是原料,指标是契约,自然语言是入口,三者缺一不可。建议企业从一个高频场景切入,先把最小闭环跑通,再逐步沉淀语义与指标资产。当业务人员随口一问就能得到口径一致、来源可查的答案时,数据才真正从“报表里的数字”变成了“决策中的依据”。
常见问题解答
Q1:结构化数据问答和传统BI报表是什么关系?
两者不是替代关系。BI报表解决的是“固定问题的固定呈现”,结构化数据问答解决的是“长尾问题的即时获取”。理想状态是共用同一套指标定义和语义层,报表看板与自然语言入口输出同一个数字。
Q2:建设这套架构一定要用大模型吗?
不一定,但大模型能显著降低语义理解和意图识别的成本。更稳妥的做法是“大模型负责理解、规则引擎负责计算”:大模型把自然语言翻译成指标查询请求,实际数值由预定义的指标接口返回,避免模型直接生成SQL带来的口径漂移。
Q3:中小型企业有必要建这么完整的架构吗?
可以从轻量版起步。先做数据接入和指标定义两张“底表”,再选择一个自然语言入口试点。架构的复杂度应随场景数量和数据规模逐步增加,不必一开始就追求四层齐全。
Q4:如何判断问答结果是否可信?
看三点:是否返回口径说明、是否可追溯到数据来源、是否在口径变更时同步更新。如果系统只给数字不给解释,可信度就要打折扣。通过实在Agent这类平台,可以把口径说明和审计日志作为标准输出的一部分,让每个答案都有据可查。
Q5:非结构化文档里的数据怎么进入问答体系?
需要先做结构化转换。例如制造业中大量料号、BOM信息存在于技术文档和图纸说明里,通过文档解析与信息提取,把这些内容转成标准字段写入数据库,后续才能被指标体系和自然语言查询调用。这一步做不扎实,问答系统就会在“查不到”和“答不准”之间反复摇摆。



