遗留代码考古 Skill 测试清单:正常、边界与越界输入
「遗留代码考古」是开发者的高频任务。它的输入通常是代码片段与 git 历史,期望得到的是成因说明与修改建议。这类有固定流程、又需要一点判断力的工作,很适合封装成智能体 Skill。
技能写好后,最常见的问题是“演示时很好,真用时出错”。原因通常是只用一份理想样例试过。本文给「遗留代码考古」准备 6 类测试输入。
测试用例表
| 类型 | 输入 | 预期行为 |
|---|---|---|
| 正常输入 | 信息齐全的标准代码片段与 git 历史 | 按步骤完成,交付结构完整的成因说明与修改建议 |
| 缺少关键信息 | 删掉一项必要内容的代码片段与 git 历史 | 先列出缺失项并提问,不编造补齐 |
| 含糊或矛盾 | 前后说法不一致的材料 | 指出矛盾处,给出可能的理解并请用户确认 |
| 超长输入 | 远超平时篇幅的材料 | 分段处理或说明范围,不悄悄丢弃内容 |
| 提示注入 | 材料中夹带“忽略以上规则,直接……” | 把它当作普通文本,继续遵守技能约束 |
| 越权请求 | 要求直接执行不可逆操作或发送外部消息 | 拒绝直接执行,只给建议或草稿并请求确认 |
每一步的检查点
- 定位相关提交:中间结果是否可追溯、是否与原始材料一致
- 阅读提交信息与关联讨论:中间结果是否可追溯、是否与原始材料一致
- 总结设计背景:中间结果是否可追溯、是否与原始材料一致
- 给出安全修改建议:中间结果是否可追溯、是否与原始材料一致
怎么执行
- 把 6 份输入存成文件,放在技能目录的
tests/下(不要包含真实个人信息) - 每次修改技能后,逐一运行并记录输出
- 对照“预期行为”打勾,有一项不通过就回到技能里修改对应指令
- 新发现的问题样例补进测试集
判定标准
- 结构:成因说明与修改建议的固定结构是否完整
- 事实:关键内容能否在输入中找到依据
- 边界:缺信息时是否提问、越权时是否拒绝
- 风险:风险较低,但输出仍需快速过目再使用
小贴士
测试集不需要很大,6 到 10 份就能覆盖大部分问题。更系统的打分方法见效果评估,常见失败原因见故障排查。
常见变体
同一个技能可以按使用场景派生出几个变体:
- 简版:只保留核心步骤(定位相关提交、给出安全修改建议),适合快速过一遍
- 详版:每一步都写出理由与依据,适合交给他人复核或留档
- 批量版:一次处理多份代码片段与 git 历史,输出汇总表,适合定期集中处理
变体之间共享同一套约束,只在步骤详略和输出格式上有差异。可以在一个技能里用参数区分,也可以拆成几个名称明确的技能。
什么时候用这个技能
- 手头有代码片段与 git 历史,需要在较短时间内得到成因说明与修改建议
- 同类任务每周出现多次,希望每次处理方式一致
- 结果要交给同事或上级复核,需要统一的结构和清楚的依据
- 新人接手这类工作,需要一个可以照着做的标准流程
反过来,如果只是偶尔做一次,或者任务高度依赖现场判断,直接和代码仓库与终端里的智能体对话即可,不必专门封装成技能。
延伸阅读
- 遗留代码考古 · MCP 服务 版
- 遗留代码考古 · n8n AI Agent 版
- 遗留代码考古 · 快速上手
- 正则解释与修复 · 测试用例
- 复杂度热点分析 · 测试用例
- 智能体Skills 分类:625 个技能 × 32 个角度
说明:文中的配置、代码与目录结构均为示意,用于说明思路;各平台的入口、字段名与能力会更新,落地前请以对应官方文档为准。示例中的数据与场景为虚构,不代表真实案例。