信任需要基础设施:如何让AI可靠地取数
在数据驱动的时代,企业数据仓库中积累了海量的用户行为数据,这些数据经过数据工程师的加工处理,为业务决策提供科学支撑。然而,业务团队想要获取这些数据时,往往需要经历漫长的等待周期。取数这件事看似简单,实则困难重重——当AI被引入这一场景时,情况变得更加复杂。
问题的本质:数仓复杂性与AI幻觉
信任是AI取数系统的生命线。在真实的生产环境中,AI生成SQL的正确率即使达到90%,也意味着永远存在出错的可能。更关键的是,这套系统的核心用户是运营、产品、分析师,甚至AI Agent本身,他们无法判断一段SQL在语义上是否完全正确。因此,SQL必须做到无懈可击,让用户只需关注业务层面的需求,无需关心数据如何获取。
解决方案:三位一体的可信架构
数仓的复杂性是AI取数面临的首要挑战。业务不断发展变化,看数视角也在持续迭代,这决定了数据仓库本身是动态变化的。数据的事实行为描述越来越多、表结构不断膨胀、同一指标存在多种计算口径——这种多义性和复杂性让AI在理解数仓时极易产生幻觉。 在AI写SQL的环节,问题进一步放大。数仓的冗余特性决定了同一指标可能存在多种计算方式,AI需要在指标口径确定、表选择、维度计算口径等众多决策点做出选择。虽然AI能够生成语法完美的SQL,但语义错误却难以避免,这就导致了「看似正确、实则谬误」的风险。
在AI时代,从AI系统的角度来说,工程师最重要的能力不是使用AI,而是设计让AI值得信任的系统。
“行业观察”积墨 AI 智能体开发平台
快速搭建具备商业价值的 AI 智能体,支持复杂工作流编排、50+ 主流模型接入与私有化部署。
代号层——统一业务语义,消除歧义
代号层的核心价值在于建立一套标准化的业务语义体系。在语言学上,代号是复杂概念的抽象代表;在取数场景中,指标代表业务主体行为的度量,维度代表行为发生的环境。通过将业务行为标准化、唯一化地表达为数据代号,可以实现用户与AI之间的无歧义沟通。 以「直播间成交金额」为例,这个业务行为的代号就是「成交金额」。有了这样的统一代号集,用户和AI可以使用同一套语言进行交流,彻底解决取数过程中的代号对齐问题。对于SQL引擎而言,代字号同时也是一个数仓映射层,让每个代号都能精准映射到数仓中的具体字段和表。 代号层以逻辑表为核心进行构建。数仓中的事实表按业务过程组织(如成交、观看等),维度表则承载实体信息(如主播、用户、商品等)。每个代号在数仓中可能对应多个物理字段实现——这些字段都会绑定到同一代号上,确保查询结果的准确性。
SQL引擎——确定性输出,确保精准
SQL引擎的核心职责是将用户需求精准转化为可执行的SQL语句。当用户从标准代号库中选取目标代号后,引擎需要完成两个关键步骤:首先,将代号在数仓中具体化、唯一化,在满足需求的前提下选择计算效率最高的实现方式;其次,按照标准SQL语法将各代号进行组织编排,包括筛选条件前置、关联方式确定、派生指标加工等细节处理。 这一过程中,工程确定性的优势得以充分发挥。通过收集具体的数仓要求、按照数仓加工规则选择每个代号的具体表达,SQL引擎能够输出语法和语义都正确的SQL语句。此外,系统还会忠实记录所有查询日志,为后续的数仓迭代和能力覆盖扩展提供数据支撑。 为了进一步约束AI的行为,Skill机制引入了多重保障:门禁机制确保AI在遇到高歧义场景时必须暂停并向用户确认,而非自行决定;生成的SQL不允许AI修改,从根本上消除AI「乱干」的风险;关键流程节点的过程留痕让每一步操作都可追溯;同时借助Agent平台的钩子机制,在特定节点强制执行既定逻辑。
如有侵权,请联系删除。
