如果你在数据库客户端与查询工具里反复做SQL 查询编写,可以考虑把经验沉淀为一个 Skill:写清触发条件、步骤、输出格式和边界,让智能体代劳重复部分,人只负责把关。

“感觉好用”不足以说明技能有效。下面给出一套轻量的评估方法,用来判断「SQL 查询编写」是否达标,以及每次修改后是变好还是变坏。

1. 建一个样例集

收集 10~20 份有代表性的表结构与问题(已脱敏),覆盖常见情况、困难情况和边界情况。为每份样例写下“合格输出应该包含什么”。

2. 定义评分维度

维度0 分1 分2 分
完整性缺少主要部分缺少次要部分SQL 与口径说明结构完整
准确性有编造或明显错误有小瑕疵内容都能在输入中找到依据
流程遵循跳过多个步骤跳过一步按步骤执行
边界处理缺信息时编造部分提问先提问或明确标注
可用性需要大改需要小改基本可直接使用

3. 打分方式

  • 人工打分最可靠,两人独立打分取平均
  • 可以让另一个模型按评分表初评,但要人工抽查,不要完全依赖
  • 记录每个样例的得分和问题描述

4. 回归测试

每次修改技能后,跑一遍完整样例集,比较总分与各维度变化。某个维度下降时,回看是哪条修改导致的。

5. 关注真实使用

离线样例之外,留意真实使用中被人工大幅修改的输出,把它们补进样例集。

每一步可以单独检查

  • 读取表结构:是否完成、是否有依据
  • 确认指标定义:是否完成、是否有依据
  • 编写查询:是否完成、是否有依据
  • 说明关联条件与过滤:是否完成、是否有依据

提醒

评分表是工具,不是目标。风险较低,但输出仍需快速过目再使用。不要为了分数好看而让技能输出冗长内容。相关:测试用例、故障排查。

准备一份好范例

在技能的参考资料里放一份你认可的SQL 与口径说明范例,往往比多写十条规则更有效。好范例应当:

  • 来自真实工作,但已去除个人信息和敏感数据
  • 体现团队习惯的结构、措辞和详略程度
  • 包含一处“需人工确认”的标注示范,让智能体学会如何表达不确定
  • 篇幅适中,不要比平时的产出长太多

范例不必多,一到两份即可;太多范例反而会让智能体机械模仿某一份的细节。

每一步要产出什么

把每一步的中间产出写清楚,智能体就不容易跳步,人也方便定位问题:

  1. 读取表结构:产出一段简短的中间结果,并注明依据来自表结构与问题的哪一部分
  2. 确认指标定义:产出一段简短的中间结果,并注明依据来自表结构与问题的哪一部分
  3. 编写查询:产出一段简短的中间结果,并注明依据来自表结构与问题的哪一部分
  4. 说明关联条件与过滤:产出一段简短的中间结果,并注明依据来自表结构与问题的哪一部分

最后一步之后,再把这些中间结果汇总成SQL 与口径说明。中间结果可以折叠或省略展示,但在技能指令中要求智能体“先完成再汇总”,能明显减少遗漏。

延伸阅读

说明:文中的配置、代码与目录结构均为示意,用于说明思路;各平台的入口、字段名与能力会更新,落地前请以对应官方文档为准。示例中的数据与场景为虚构,不代表真实案例。