智能问数评测 Query 如何生成,怎样覆盖产品字段和真实问题?
未标记
考查重点:指标字段覆盖与参考 SQL。围绕字段和指标先写可执行参考SQL,再生成同义问法;覆盖连接、聚合、时间、空值与歧义口径,用执行结果和人工核对保证可答,留出真实用户问题验证
本题目录
参考答案
核心回答
先确定产品支持的业务问题、字段与指标,再围绕它们编写可执行的参考 SQL 和预期结果,最后扩展自然语言问法。模型可以辅助造问题,但不能同时生成题目、参考 SQL 和唯一正确标签后无人核对。 覆盖字段只是起点,还要覆盖字段之间的组合和真实业务口径。
从覆盖矩阵生成样本
按指标、分析维度、时间条件和 SQL 操作组织样本。例如销售额要覆盖按地区或商品分组、时间范围、排序和同比等实际支持的能力;多表连接则检查一对多重复、关联缺失和错误连接条件。加入空值、零分母、跨月边界、无匹配记录和相近指标的歧义问题。
每个样本至少保存问题、所需结构与规则版本、数据快照、参考 SQL、预期结果或判定规则,以及难点标签。对“销售额”等术语明确是否扣退款、用什么日期、金额单位和数据粒度。必要的业务证据也要随样本保存,否则题目可能本来就无法唯一回答。
参考 SQL 要在固定快照上执行,再由熟悉口径的人独立核对;关键聚合可以用另一种写法或直接核算小样本交叉检查。空结果不是坏题,应区分“预期为空”的边界案例与题目或 SQL 写错。
怎样加入真实问法
把同一业务意图改写为简称、同义词、口语和多轮补充,再从经授权、脱敏的用户请求中补充真实问法。前者能补表达覆盖,后者能暴露设计者没有想到的需求;两者来源要区分,不能把模型改写称为真实用户问题。
歧义或超出产品能力的问题也要保留,期望行为可以是澄清或拒绝,而不是硬生成一条 SQL。
如何避免评测泄漏
同一参考 SQL 模板的近义问题不能随机散到训练、示例库和测试集后再声称泛化很好。按业务意图或模板分组留出,按需要增加未见表结构、指标组合或较晚时间段的测试;测试问题和答案不能被检索示例库直接带回。
持续记录各维度覆盖与失败类型,再补有价值的缺口。样本数量与覆盖率以实际整理结果为准,优先补充新的业务难点。
对应教程
- 《32-微调效果评估与模型部署》:第1.1、4.7—4.8节说明固定样本与参考规则、开发回归和留出测试的分工;本文将这些原则用于问数Query设计。
参考资料
- 国内:飞致云:SQL示例库:采用问句、
SQL与解释绑定的组织方式,并明确评测集与可检索示例库需要隔离。 - 国内:飞致云:术语配置:采用术语和同义词管理,构造表达变化与指标歧义的覆盖。
- 国内:香港大学等/BIRD团队:Can LLM Already Serve as A Database Interface? BIRD:参考描述文件、业务证据及双人独立
SQL核对,组织可独立验证的参考样本。 - 国内:Snailclimb:AI应用评测体系:采用业务场景、固定评测集和误差分类的思路,避免只统计题目数量。
- 国外:Yale University:Spider: A Large-Scale Human-Labeled Dataset:参考复杂
SQL组合与按数据库划分的设计,说明模板近义改写和结构泛化不能混评。 - 国外:Anthropic:Demystifying evals for AI agents:采用任务、判定器与环境状态分离的方式,明确参考答案需独立核对。
