你的数据 Agent 需要一个统一的营收定义
· 阅读需 10 分钟
Text-to-SQL 演示从不会因为语法而失败。模型生成的 SQL 非常流畅 —— 说实话,比大多数初级分析师写得都好 —— 查询可以运行,并且返回了一个数字。演示在三周后的生产环境中宣告失败,因为 CFO 注意到智能体的 “Q2 营收” 与董事会报告不符。这不是因为 SQL 格式错误,而是因为数据仓库中有三种说得通的营收定义 —— 预订额 (bookings)、已确认营收 (recognized) 和扣除退款后的净值 (net-of-refunds) —— 而模型自信地选择了其中一个。恰恰不是财务部门使用的那一个。
这是最关键的失效模式,而且在你见过的每一个基准测试中都是不可见的。解决方案不是更好的模型或更长的提示词。而是一项大多数数据团队已经构建了一半然后放弃的基础设施:语义层 (semantic layer)。你为 BI 仪表板编写的指标定义 —— dbt metrics、LookML、Cube 定义 —— 事实证明是数据智能体缺失的工具契约。交付可靠智能体的团队意识到,构建顺序与大家的假设恰恰相反:语义层优先,智能体随后。
