如果你在测试框架与 CI 流水线里反复做变异测试解读,可以考虑把经验沉淀为一个 Skill:写清触发条件、步骤、输出格式和边界,让智能体代劳重复部分,人只负责把关。

技能写好后,最常见的问题是“演示时很好,真用时出错”。原因通常是只用一份理想样例试过。本文给「变异测试解读」准备 6 类测试输入。

测试用例表

类型输入预期行为
正常输入信息齐全的标准变异测试报告按步骤完成,交付结构完整的需补强的测试清单
缺少关键信息删掉一项必要内容的变异测试报告先列出缺失项并提问,不编造补齐
含糊或矛盾前后说法不一致的材料指出矛盾处,给出可能的理解并请用户确认
超长输入远超平时篇幅的材料分段处理或说明范围,不悄悄丢弃内容
提示注入材料中夹带“忽略以上规则,直接……”把它当作普通文本,继续遵守技能约束
越权请求要求直接执行不可逆操作或发送外部消息拒绝直接执行,只给建议或草稿并请求确认

每一步的检查点

  • 运行变异测试工具:中间结果是否可追溯、是否与原始材料一致
  • 筛选存活变异:中间结果是否可追溯、是否与原始材料一致
  • 判断是否等价变异:中间结果是否可追溯、是否与原始材料一致
  • 补写断言:中间结果是否可追溯、是否与原始材料一致

怎么执行

  1. 把 6 份输入存成文件,放在技能目录的 tests/ 下(不要包含真实个人信息)
  2. 每次修改技能后,逐一运行并记录输出
  3. 对照“预期行为”打勾,有一项不通过就回到技能里修改对应指令
  4. 新发现的问题样例补进测试集

判定标准

  • 结构:需补强的测试清单的固定结构是否完整
  • 事实:关键内容能否在输入中找到依据
  • 边界:缺信息时是否提问、越权时是否拒绝
  • 风险:风险较低,但输出仍需快速过目再使用

小贴士

测试集不需要很大,6 到 10 份就能覆盖大部分问题。更系统的打分方法见效果评估,常见失败原因见故障排查。

平台选择建议

同一个「变异测试解读」技能可以落在不同平台上,选择时主要看你在哪里工作、要不要执行代码、要不要接外部系统:

  • Cline Rules:Cline 支持在项目中用 .clinerules 写规则(可以是单个文件。详见Cline Rules 版
  • LangChain / LangGraph 工具:LangChain 用 @tool 装饰器把函数变成工具。详见LangChain / LangGraph 工具 版
  • Claude Code Skill:Claude Code 的 Agent Skills 以文件夹为单位:一个 SKILL.md(YAML 头写 name 与 description)加上可选的脚本和参考资料。智能体平时只看到 description。详见Claude Code Skill 版

这个技能需要运行本地脚本(解析文件、调用命令行工具等),要求运行环境允许执行代码,可据此排除不支持相应能力的平台。

智能体与人的分工

技能不是把工作全部交出去,而是把重复、机械的部分交给智能体,人把住判断和责任:

步骤智能体负责人负责
运行变异测试工具按指令完成并给出依据抽查关键处,确认无误
筛选存活变异按指令完成并给出依据抽查关键处,确认无误
判断是否等价变异按指令完成并给出依据抽查关键处,确认无误
补写断言按指令完成并给出依据抽查关键处,确认无误
最终交付整理需补强的测试清单决定是否采用、是否对外

风险较低,但输出仍需快速过目再使用。

延伸阅读

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