
摘要:过去两年,智能问数赛道从"能不能用"进化到了"准不准"。但一个尴尬的事实是:大量项目死在了从demo到上线的路上。我们在交付数十个智能问数项目的过程中,发现失败的原因高度集中——不是AI不够聪明,而是六个工程化和组织层面的坑没绕开。
行业普遍困境:"字段名是随机6位英文字母,字段注释为空,金额字段用字符串存还带千分位符——你让AI怎么查?"
这是很多企业在启动智能问数项目前共同面对的现实。行业里有一句公认的实话:智能问数项目的本质是数据治理项目,不是AI项目。 但绝大多数企业立项的时候,预算里根本没有数据治理这一项。
核心矛盾在于:企业的数据库是为业务系统建的,不是为数据分析建的。订单表里存的是交易流水,不是"毛利率"。要让AI算出毛利率,它得自己找到收入在哪、成本在哪、关联关系是什么。如果元数据缺失、字段命名混乱、同一个业务概念在不同系统里叫法不同——AI就像一个没有培训的新员工直接上岗,不出错才奇怪。
解法:在AI和数据库之间加一个"翻译官"。
业内共识是建立语义层——把数据库里天书般的表名字段名翻译成业务语言,把指标计算口径提前定义好,把同义词映射清楚。关键突破在于,语义层构建已经从"纯手工"进入了"Agent自动化"阶段。极昆仑的语义层构建Agent可以自动扫描数据库Schema、推断字段业务含义、生成指标定义,人工只做审核修正。一个200张表的中型企业,传统方式需要4到6周,Agent辅助后压缩到3到5天。
行业普遍困境:"十次有一次出错,业务就会怀疑你,然后就不用了。因为他们需要给老板解释,技术上的问题老板才不管。"
准确率问题是智能问数的"一票否决"式困境。而且有个悖论:厂商宣称98%,但用户测出来往往只有70%。差距来自三个原因——测试集和业务场景不重合、LLM输出的不确定性(同一个问题问两次结果不同)、以及没有回归验证机制(产品升级后上次测过的问题还能通过吗?没人知道)。
更致命的是"静默错误":SQL语法正确、执行没报错、但结果是错的。行业里不乏这样的典型案例——AI生成的SQL因为一对多JOIN导致数据膨胀了2.8倍,给CEO报了错数,团队排查了三天才找到根因。
解法:把SQL生成从"概率事件"变成"确定性事件"。
核心思路是不要让LLM直接写SQL。 极昆仑的做法是把流程拆成三段:语义理解(NLP小模型识别用户意图,可以走概率)→ 语义映射(语义层按预置规则匹配指标和维度,确定性)→ SQL编译(确定性编译器按规则生成SQL,不走采样)。三段里面只有第一段依赖模型推理,而出错率最高的SQL生成环节被完全确定性化了。
配合4100个测试文件、50160个测试用例的全量回归体系,每次发版自动验证。EvaluationService支持企业导入自有问题集一键评测——准确率不是厂商说的,是客户自己测出来的。
行业普遍困境:"一个GMV,AI都查不明白——财务部算的含税,运营部算的不含退货,电商团队只算线上。同一个词,不同部门说的根本不是同一个东西。"
这是行业里反复出现的经典场景,说透了业务逻辑的复杂性。核心问题不是AI不够聪明,而是口径冲突——同一个指标在不同部门有不同定义,AI不知道这次你问的是哪个版本。再加上业务人员经常"自己都讲不清楚要什么数据",口吻模糊、隐含大量默认上下文,人沟通都要反复确认,AI更不可能一步猜对。
还有一个更容易被忽略的问题:口径在持续变化。 这个月"大客户"的定义是年消费10万以上,下个月改成20万了。如果没有及时同步,后面查的所有数据全是错的。
解法:让AI拥有"可纠正、可积累"的业务记忆。
极昆仑的机制分两层:第一层,语义层持续沉淀——用户纠正过的理解偏差,沉淀到语义层里,之后不再犯同样的错。这和LLM的fine-tune不一样:fine-tune是模糊的"模型变聪明了一点",语义层更新是精确的"这条规则以后永远按这个来"。第二层,纠错反馈自动进入测试用例库——用户反馈过的错误生成对应测试用例,加入回归体系,确保永不复发。
行业普遍困境:"NL2SQL在企业级走不通,除非你只做单表查询。"
这是行业反复验证的结论。demo演示总是很惊艳——单表、简单条件、规范命名,AI秒出精准SQL。但真实企业环境是多表JOIN、复杂聚合、字段名叫ext_01到ext_99。在这个环境下,NL2SQL的准确率从demo的90%+断崖式下降到60%-70%,帆软FineBI Next在产品发布会上坦诚了这个数据。
纯NL2SQL路线有四个绕不过去的硬伤:多表JOIN准确率崩塌、推理过程不可追溯(黑盒)、误差链式累积(上游意图偏了,下游SQL全错)、以及大模型上下文窗口根本塞不下几百张表的schema和业务规则。
解法:在LLM和数据库之间加"约束层"。
2026年头部厂商共识已形成——纯NL2SQL不可靠,必须在LLM和数据库之间加约束层。各家的方案不同:极昆仑走NL2语义层+确定性编译(LLM只做意图理解,编译器按规则写SQL)、帆软FineBI Next走BI底座Tools化(AI调度已治理的平台而非直接写SQL)、Smartbi白泽V5走多Agent校验、阿里Quick BI走多路线并行、火山Data Agent走多路径投票。方向一致:SQL生成不能全靠概率。
此外,多步归因分析中还有一个容易被忽略的工程问题——查询量爆炸(fanout问题)。极昆仑早期版本中一次归因分析触发了145次数据库查询,通过fanout控制机制(剪枝、优先级排序、查询合并)修复后,同一场景控制在15次以内。
行业普遍困境:"语义归一就能让人恶心死,不要说权限啥的了。需求最大的三个部门都是业务上下文更新最快的部门,最后维护指标定义的工作还想丢给数据团队,做不到哈。"
建语义层是行业共识,但真正动手建的时候,三个连锁问题会让团队陷入停滞:权限怎么做——企业有严格的行列级权限,华北区经理只能看华北区数据,纯NL2SQL方案下权限过滤靠Prompt"叮嘱"AI,根本兜不住;上下文窗口不够用——有团队把所有指标定义塞进Prompt,问两句就撑爆了,语义层本该是"结构化长期记忆",结果又被塞回LLM的临时记忆里;维护成本谁来扛——业务口径在持续变化,这个月"大客户"的定义是年消费10万,下个月改成20万,语义层不更新后面查的全是错的,但需求最大的部门恰恰是业务上下文更新最快的部门,维护工作最后大概率被丢给已经满负荷的数据团队。
解法:权限下沉到引擎、维护交给Agent。
极昆仑的做法是把权限控制从Prompt层面下沉到语义层——指标定义时绑定权限规则,编译器生成SQL时自动嵌入过滤条件,每次查询不用赌LLM的执行力,权限过滤变成确定性行为。对于维护成本问题,语义层构建Agent持续监控数据库变化,自动生成更新建议,人工确认即可生效,不再依赖数据团队手工维护。
行业普遍困境:"数据治理太麻烦了,牵扯的部门太多,难以推动。老板张嘴就是有了AI啥都能做,但只有干活的才知道数据基建做的多拉胯。"
智能问数项目往往不是死在技术上,而是死在人和组织上。六类典型问题:跨部门协调推不动、老板期望脱离实际、预算全给AI没给数据治理、业务部门不愿用、出了错没人负责、当成一次性项目没有后续维护预算。
解法:降门槛、轻启动、快见效。
降硬件门槛。 小参数量大模型方案GPU服务器30-50万起步,采购流程三个月,部门级预算够不着。极昆仑的小模型方案——NL2语义层+确定性编译引擎+NLP小模型,纯CPU推理,一台8核/32G内存服务器约3万元就能跑。
缩短从立项到见效的周期。 传统方式先花两个月做数据治理、再花一个月建语义模型,等AI能回答第一个问题时快一个季度过去了。语义层构建Agent把实施周期压缩到数天,项目启动第一周就能让AI回答第一批业务问题。先在小范围跑起来,让团队看到真实效果,再带着数据去推动其他部门。
先聚焦一个场景。 所有成功案例的共同特征是:从一个具体的、高频的、数据治理基础较好的场景切入。零售企业从"门店销售日报"开始,制造企业从"产线良品率日统计"开始。跑通一个场景,拿到真实的效率数据,再去推第二个。