QueryProof:7B规则Agent击败32B,单次正确成本降低71%
Business Truth, not SQL Accuracy: A Rule-Gated 7B Analytics Agent Outperforms a Direct-Prompted 32B Baseline

在大模型落地企业数据分析的浪潮中,Text-to-SQL 一直被视作最标准、最直接的落地场景。无论是早期的 Spider 基准,还是近年来强调脏数据和复杂查询的 BIRD,整个学术界和工业界的评测逻辑几乎都建立在一个默认前提之上:用户的每一个提问背后,都存在一段唯一正确的标准 SQL。评测模型好坏的标准,也长期被“执行匹配度”(Execution Match)或语法准确率所垄断。只要生成的 SQL 语法无误、能跑通,且返回的表格行与标准答案一致,系统就会被打上高分。
ArXiv URL:https://arxiv.org/abs/2608.09254v1
然而,真正把基于大模型的数据分析 Agent 部署到生产环境中的工程师,往往会遭遇完全不同的现实灾难。在真实的数据仓库中,最致命的系统故障从来不是那些由于语法错误、括号不匹配或字段拼错而直接崩溃退出的查询——这种失败是显性的、低成本的,数据库驱动直接报错,系统随时可以兜底拦截。最昂贵的生产事故,是查询顺利执行、没有报任何错误、在仪表盘上吐出了一个看似无比合理的数字,但这个数字在业务逻辑上是彻底错误的。
导致这类致命错误的原因往往与 SQL 编写能力无关。有时是用户的问题本身存在两个合法的业务口径,模型却擅自二选一;有时是现有数仓根本没有支持该计算所需的数据,模型却强行拼凑计算;有时是某张表的关键字段在上季度已经废弃,模型依然在用陈旧的逻辑统计;甚至有的提问本身暗含了越权操作。在这些情境下,根本不存在任何“正确的标准 SQL”。任何基于执行匹配的传统指标,面对这些场景都会彻底失灵。
独立研究者近期发布的一篇论文《Business Truth, not SQL Accuracy: A Rule-Gated 7B Analytics Agent Outperforms a Direct-Prompted 32B Baseline》,直击了当前 Text-to-SQL 评测与真实生产需求脱节的核心痛点。研究提出了一个名为 WarehouseReliabilityBench(WRB)的全新评测基准,并设计了一个名为 QueryProof 的 7B 级别分析 Agent。评测结果展现了一个极具启发性的结论:在一个大约半数任务没有唯一正确 SQL 的严苛测试集上,配备了确定性业务规则与后置校验网关的 7B 模型系统,在业务真实率(Business Truth Rate)上全面击败了直接 Prompt 的 32B 大参数基线,涨幅达到 $+0.237$;与此同时,7B Agent 获得每一次正确业务回答的综合成本反而降低了 71.0%。
这项研究最为难得的地方,不仅在于它证明了“完善的工程脚手架远胜于单纯堆砌模型参数”,更在于作者以极其严苛的科学预注册协议,完整记录了实验过程中遭遇的负结果:原定用于优化系统的后训练(Post-training)由于被规则层吸收而直接取消;精心设计的置信度学习模型在未知测试集上甚至输给了朴素的启发式规则。这些来自真实战壕的工程经验,为当前过热的大模型数据分析应用敲响了一记理性的警钟。
传统 Benchmark 的盲区与业务真实的代价
传统的 Text-to-SQL 评测框架天然地将数据分析抽象成了一个单纯的代码生成任务。在这种语境下,系统只要能准确解析语法树,把自热语言映射到 SELECT、WHERE、GROUP BY 之中即可。然而,在真实的现代数据仓库架构下,自然语言问题与底层数据之间横亘着一道巨大的语义鸿沟。
当一位业务主管询问“上个月的客户流失率是多少”时,数据团队内部可能存在两套完全不同的指标定义:一种是基于合同到期未续约的订阅流失率,另一种是基于最后一次登录时间的活跃流失率。如果分析系统不加询问,直接按照其中一种逻辑生成查询并展示在看板上,决策者很可能会依据错误的指标制定战略。更普遍的情况还包括:业务人员询问了一个当前数据仓库根本没有采集的维度,或者查询涉及的旧字段在最近一次 Schema 变更中被废除,但底层系统为了“讨好”用户,自作聪明地用相似字段伪造了一条可执行 SQL。
现有的评测基准(如 Spider 或 BIRD)由于必须依赖标准 SQL 进行比对,不得不将所有这类存在歧义、无法回答或具有破坏性的问题完全排除在数据集之外,或者人为指定一个强加的正确答案。这就造成了评测榜单与工业落地之间的严重撕裂:在 Benchmark 上刷到 80% 准确率的模型,上线后依然会因为频繁给出“看似合理实则荒谬”的数字而失去业务部门的信任。
为此,研究团队构建了 WarehouseReliabilityBench 基准。该基准包含 400 个在电商与 SaaS 两个合成数仓上生成的冻结任务,完全由固定随机种子确定性构建。WRB 最具颠覆性的设计在于,在这 400 个任务中,只有 184 个任务属于传统意义上有标准执行结果的可回答问题;其余超过半数的任务,其唯一的正确业务响应是“请求澄清(Clarification)”、“弃权/拒绝回答(Abstention)”或“拒绝操作(Refusal)”。该基准彻底摒弃了语法匹配和单纯的执行匹配指标,转而采用以业务结果为中心的指标系统:业务真实率要求回答必须在业务层面上完全正确(对于不可回答的问题,拒绝才是正确行为);虚假成功率(False Success Rate)则专门惩罚那些明明跑出了数字、但数字背后的业务口径完全跑偏的情况。
架构取舍:让模型提议,由规则裁决
面对这种复杂的业务环境,当前大部分前沿研究的直觉做法是继续扩展模型能力:要么引入更庞大的基座模型,要么让大模型进行自我反思(Self-reflection),或者让模型自己在输出中评估自己的置信度。然而,论文作者通过深入的前期实证测量发现,让 7B 乃至更大规模的模型来担任“自我裁判”,效果通常极其糟糕。当面对模糊不清或无法回答的问题时,大模型的歧义检出率接近于零;而在返回的答案中,虚假成功的比例高得惊人。只要大模型被允许进行“二选一”的猜测,它几乎总是倾向于盲目生成一段 SQL,而不是老老实实向人类求助。
QueryProof 的架构哲学因此发生了一百八十度的大转弯:模型只负责提议,规则才拥有决定权(The model proposes, rules dispose)。
整个 Agent 被设计成一个严密的确定性状态机,大语言模型在其中被极度降级,仅承担两次非常受限且易于验证的狭窄调用:其一是识别用户提问中的词组对应哪个业务指标,其二是为特定指标生成对应的底层 SQL 片段。除此之外,所有的业务决策、流程流转和终端行为判定,全部由代码层面的确定性规则直接裁决。
决定系统行为的基石是显式维护的语义层(Semantic Layer)与物理数据目录(Physical Catalog)。类似现代数据工程中的 dbt、MetricFlow 或 LookML,指标的业务定义被完全剥离在数据库之外独立维护。这使得歧义的识别从一种玄学的大模型直觉,变成了确定性的逻辑推导:系统判定“营收”一词存在歧义,绝不是因为大语言模型感到困惑,而是因为语义层在物理表之上明确定义了“含税总营收”与“扣税净营收”两个冲突指标,且用户的提问没有提供区分上下文。
在整个执行流水线中,规则对模型的约束体现为两道极度严密的闸门。在模型生成 SQL 之前,系统会首先基于语义层和数据目录执行业务行为判断。如果请求的统计周期超出了数仓覆盖范围、过滤条件对应的枚举值在底层维度表中根本不存在、或者提问涉及的业务概念没有任何指标或字段对应,系统会在调用模型之前直接触发“弃权”,从而彻底杜绝了模型胡乱拼凑的可能性;如果请求包含潜在的越权或注入风险,系统会直接在前端触发“拒绝”,恶意 Payload 甚至连进入大模型 Prompt 的机会都没有。
当模型被调用并生成候选 SQL 后,查询会立即进入双重验证机制。首先是执行前的静态 AST 语法树解析,系统强制实行白名单沙箱,严禁任何 DML 或 DDL 操作,并深度比对字段与表元数据,一旦发现未定义别名、废弃列或语义层明确禁止的表间关联,直接打回;随后,查询在受控、只读、有超时与返回行数上限的本地沙箱环境中执行。执行完毕后,系统再次启动后置结果校验:业务指标所要求的过滤条件是否真实在数据中生效?时间周期切片是否严丝合缝?查询结果是否异常为空?数值是否落入了业务上绝不可能出现的逻辑区间?只有通过全部物理与业务双重检验的结果,才会被最终交付给用户。
实验对比:系统工程全面压制单体大模型
为了验证这套“重脚手架、轻模型”架构的实效,研究人员设计了极其严苛的对比实验。所有对比系统均基于相同系列的 Qwen2.5-Coder 模型构建,以排除底层预训练语料差异的干扰。基准对照组包括直接 Prompt 的 7B 模型、带有少样本(Few-shot)示例的 7B 模型、引入语义层检索的 7B 模型,以及一个直接使用 Prompt 调用、不带任何额外脚手架的 32B 大参数基线模型。
整个评测遵循严格的科学预注册协议:所有评估指标、配对检验方法、分析所允许使用的动词规则,乃至所有冷冻测试集和代码的 Hash 校验码,全部在正式调用测试集之前完成封存。80 个任务的冻结测试集在整项研究中仅被单次遍历执行,测试完毕后立即废弃,坚决不进行任何事后调优或二次采样。
在这一严谨的测试规程下,主要实验结果呈现出极富戏剧性的差距。即便 32B 的大参数模型能够生成语法极其规范、在传统 Text-to-SQL 基准上足以拿到高分的有效 SQL,但在 WRB 测试集上,其最终的业务真实率仅有 0.300(95% 置信区间 $[0.200, 0.400]$),成本可比的 Few-shot 7B 基线更是仅有 0.275。与此形成鲜明对比的是,搭载了规则门控与后置校验的 QueryProof 7B Agent,在未开启复杂路由的情况下业务真实率达到了 0.562($[0.450, 0.675]$),开启路由后达到 0.537($[0.425, 0.638]$)。在预注册的成对 Bootstrap 检验中,QueryProof 相比 32B 基线取得了 $+0.237$($[+0.112, +0.375]$)的显著胜率。
更为惊人的是成本维度的反差。由于 32B 模型推理开销高昂且缺乏自我拦截机制,其产出每一个正确业务回答的平均成本居高不下;而 QueryProof 依托 7B 本地量化模型的高效吞吐,即便加上多重验证与必要的重试逻辑,其单次正确答案的产出成本依然比 32B 基线降低了整整 71.0%。在返回给用户的最终答案中,虚假成功的比例从 32B 基线的 0.754 骤降到了 0.351。在所有真正具有可执行答案的标准任务上,QueryProof 甚至创下了 24 战全胜、0 次返回错误业务数值的完美记录。
如果进一步把测试数据按照任务类型进行切片下钻,其背后的根源便一目了然:在 32 个两方都能作答的传统标准问题上,QueryProof 与 32B 大模型的得分其实完全一致,均为 0.500,两者在单纯的代码编写能力上不分伯仲。双方巨大的鸿沟 100% 产生在那些“不该作答”的领域:在 16 个无法作答的任务中,所有 Baseline 模型的得分全部为冰冷的 0.000——大模型毫无悬念地落入了强行胡编的陷阱;而 QueryProof 则精准触发了 0.438 的正确拦截率。在 8 个涉及数仓 Schema 漂移与废弃字段的任务中,32B 模型同样全部阵亡(0.000),而 QueryProof 凭借静态元数据校验打出了 1.000 的满分防守。
难能可贵的负结果:对过度设计的冷峻审视
在这篇论文中,作者展现了在当今 AI 学界罕见的求真态度——毫不隐瞒地公开了数个在研发初期抱有极大期望、最终却被实验彻底证伪的负结果(Negative Results)。
第一个被砍掉的是大模型的后训练(Post-training/微调)。在原定的开发规程中,研究团队设立了一个硬性门槛:只有当提示工程与外部检索无法解决的反复出现的结构性错误样本积累超过 100 个时,才获准启动针对 7B 模型的微调流程。然而,当工程师把语义层规则、AST 静态语法解析和后置物理校验网关逐一修复完善后,他们惊讶地发现,留在错误池里的疑难样本数量直接暴跌到了 20 个。换句话说,绝大多数原本以为需要耗费大量算力去微调大模型才能纠正的业务错误,在最外层的确定性工程拦截面前已经被吸收殆尽。针对大模型的微调计划最终因“无病可医”而在设计层面上被直接取消。
第二个遭遇重挫的是基于学习机制的置信度模型与动态模型路由层。系统原本设计了一套精密的逻辑回归模型,试图利用状态机在执行过程中的内部特征来评估本次回答的置信度,并在置信度偏低时动态将请求升级(Escalate)给更大的模型处理。在研发阶段的验证集上,这套路由系统确实取得了正向收益(真实率从 0.725 提升至 0.738)。
然而,当这套系统面对完全冻结的盲测集时,崩塌发生了:在未知分布下,拟合出的置信度模型泛化能力极差,甚至大幅输给了简单的启发式规则。为了追求极端的准确度,路由策略陷入了严重的“过度防御”,它把大量原本可以回答正确的任务也一并拒答,导致覆盖率从 0.700 骤降到 0.600。在单次盲测的严酷裁决下,未启用复杂路由的基础版 QueryProof 取得了 0.562 的高分,而精心调试的路由版反而跌落至 0.537。由于预注册规则明文禁止在盲测后反向调参,作者直面并完整保留了这一失败纪录:试图在大模型生成的结果子集上拟合置信度排序器,往往会造就一个比朴素规则更差的劣质分类器。
不仅如此,论文还主动拆解了统计方法上的局限。虽然在常规以任务为单位(Task-level)的配对 Bootstrap 抽样下,QueryProof 对 32B 的领先优势坚如磐石;但由于基准任务是由不同的模板族(Template Families)生成的,任务之间天然存在相关性。当作者将抽样单位切换为模板族层面的聚类重采样后,置信区间被不可避免地拉宽,并包含了零点。这意味着,虽然“规则网关系统优于裸奔大模型”这一方向性判断在实证上高度可信,但具体领先的绝对数值依然受制于数据分布的方差,不能被盲目神化。
软件工程的回归与 Agent 架构的未来
QueryProof 与 WRB 基准的出现,给当前沉迷于让大模型“全自动接管业务”的应用开发者提供了一份极其冷静的工程参考样本。长期以来,一种普遍的乐观论调认为,只要基座模型的上下文更长、逻辑推理能力更强、参数规模更大,所有的业务幻觉与定义冲突都会迎刃而解。许多团队甚至试图完全抛弃传统的 BI 数据建模,让大模型直接面对脏乱的物理数仓裸写查询。
然而这项研究用详实且严密的数据揭示了真相:在涉及真金白银的企业级分析决策中,统计模型的随机性与模糊性是其与生俱来的底层属性。让一个擅长概率采样的生成式网络去独立承担严格合规的业务定义裁判,无异于缘木求鱼。在业务可信度要求极高的场景下,大模型的价值应当且只能被收敛在“自然语言理解”与“代码翻译”的狭窄管道内,真正的系统主权必须牢牢交还给确定性的代码与规则系统。
数据工程界过去十余年所积累的宝贵资产——无论是 dbt 所代表的代码化语义层、精细化的物理元数据字典,还是严格的 AST 静态分析与沙箱隔离技术——在大模型时代不仅没有过时,反而成为了大模型应用能够跨过可用门槛不可或缺的防洪堤坝。一个经过严密规则武装的 7B 轻量级模型,完全有能力在业务可靠性与落地性价比上对无拘无束的 32B 甚至百亿级庞大模型形成降维打击。
从更广阔的视角来看,大模型技术从“炫技演示”迈向“生产可用”的必经之路,正是这种去神话化、重新拥抱传统软件工程原则的过程。如何为不可控的概率输出套上确定性的规则辔头,如何在承认模型局限的前提下设计具备优雅降级与防御性拦截的系统架构,这项研究为业界提供了一个扎实且充满说服力的优秀范本。