怎么评估「慢查询优化」Skill 好不好用:评分表与回归测试
如果你在数据库客户端与查询工具里反复做慢查询优化,可以考虑把经验沉淀为一个 Skill:写清触发条件、步骤、输出格式和边界,让智能体代劳重复部分,人只负责把关。
“感觉好用”不足以说明技能有效。下面给出一套轻量的评估方法,用来判断「慢查询优化」是否达标,以及每次修改后是变好还是变坏。
1. 建一个样例集
收集 10~20 份有代表性的慢查询与执行计划(已脱敏),覆盖常见情况、困难情况和边界情况。为每份样例写下“合格输出应该包含什么”。
2. 定义评分维度
| 维度 | 0 分 | 1 分 | 2 分 |
|---|---|---|---|
| 完整性 | 缺少主要部分 | 缺少次要部分 | 优化建议结构完整 |
| 准确性 | 有编造或明显错误 | 有小瑕疵 | 内容都能在输入中找到依据 |
| 流程遵循 | 跳过多个步骤 | 跳过一步 | 按步骤执行 |
| 边界处理 | 缺信息时编造 | 部分提问 | 先提问或明确标注 |
| 可用性 | 需要大改 | 需要小改 | 基本可直接使用 |
3. 打分方式
- 人工打分最可靠,两人独立打分取平均
- 可以让另一个模型按评分表初评,但要人工抽查,不要完全依赖
- 记录每个样例的得分和问题描述
4. 回归测试
每次修改技能后,跑一遍完整样例集,比较总分与各维度变化。某个维度下降时,回看是哪条修改导致的。
5. 关注真实使用
离线样例之外,留意真实使用中被人工大幅修改的输出,把它们补进样例集。
每一步可以单独检查
- 解读执行计划:是否完成、是否有依据
- 找出全表扫描与排序:是否完成、是否有依据
- 建议索引或改写:是否完成、是否有依据
- 对比优化前后:是否完成、是否有依据
提醒
评分表是工具,不是目标。属于中等风险:结果会影响业务判断,建议在输出前设置人工审核点。不要为了分数好看而让技能输出冗长内容。相关:测试用例、故障排查。
准备一份好范例
在技能的参考资料里放一份你认可的优化建议范例,往往比多写十条规则更有效。好范例应当:
- 来自真实工作,但已去除个人信息和敏感数据
- 体现团队习惯的结构、措辞和详略程度
- 包含一处“需人工确认”的标注示范,让智能体学会如何表达不确定
- 篇幅适中,不要比平时的产出长太多
范例不必多,一到两份即可;太多范例反而会让智能体机械模仿某一份的细节。
每一步要产出什么
把每一步的中间产出写清楚,智能体就不容易跳步,人也方便定位问题:
- 解读执行计划:产出一段简短的中间结果,并注明依据来自慢查询与执行计划的哪一部分
- 找出全表扫描与排序:产出一段简短的中间结果,并注明依据来自慢查询与执行计划的哪一部分
- 建议索引或改写:产出一段简短的中间结果,并注明依据来自慢查询与执行计划的哪一部分
- 对比优化前后:产出一段简短的中间结果,并注明依据来自慢查询与执行计划的哪一部分
最后一步之后,再把这些中间结果汇总成优化建议。中间结果可以折叠或省略展示,但在技能指令中要求智能体“先完成再汇总”,能明显减少遗漏。
延伸阅读
- 慢查询优化 · AGENTS.md 版
- 慢查询优化 · MCP 服务 版
- 慢查询优化 · n8n AI Agent 版
- 数据字典生成 · 效果评估
- SQL 方言转换 · 效果评估
- 智能体Skills 分类:625 个技能 × 32 个角度
说明:文中的配置、代码与目录结构均为示意,用于说明思路;各平台的入口、字段名与能力会更新,落地前请以对应官方文档为准。示例中的数据与场景为虚构,不代表真实案例。