「接口契约测试」Skill 使用检查清单:用前、用中、用后
开发与测试工程师经常要做「接口契约测试」这类事:根据 OpenAPI 文档生成接口契约测试。每次都从头写提示词,结果时好时坏;把它做成智能体 Skill,就能让智能体每次按同一套步骤执行,输出结构也更稳定。
把下面的清单保存下来,每次使用或修改「接口契约测试」技能时过一遍。
编写时
- description 写清做什么、什么时候用
- 输入写明需要OpenAPI 文档,并要求缺信息先提问
- 步骤为编号列表:解析接口定义、为每个接口生成请求样例、断言状态码与结构、覆盖错误响应
- 输出写明契约测试用例的结构
- 约束包含领域底线与不可逆操作的处理方式
- 长资料拆到参考文件
上线前
- 6 类测试输入全部通过
- 权限按最小范围配置
- 技能文件中没有密钥和真实个人信息
- 有负责人和变更记录
每次使用时
- 输入材料已脱敏或确认可以交给所用平台
- 观察智能体是否加载了技能
- 查看“需人工确认”清单
- 对照原始材料抽查关键信息
- 风险较低,但输出仍需快速过目再使用
使用后
- 记录明显的问题样例
- 输出被大幅修改时,分析原因并考虑改技能
- 定期检查平台更新是否影响技能
每一步的快速核对
- 解析接口定义
- 为每个接口生成请求样例
- 断言状态码与结构
- 覆盖错误响应
智能体与人的分工
技能不是把工作全部交出去,而是把重复、机械的部分交给智能体,人把住判断和责任:
| 步骤 | 智能体负责 | 人负责 |
|---|---|---|
| 解析接口定义 | 按指令完成并给出依据 | 抽查关键处,确认无误 |
| 为每个接口生成请求样例 | 按指令完成并给出依据 | 抽查关键处,确认无误 |
| 断言状态码与结构 | 按指令完成并给出依据 | 抽查关键处,确认无误 |
| 覆盖错误响应 | 按指令完成并给出依据 | 抽查关键处,确认无误 |
| 最终交付 | 整理契约测试用例 | 决定是否采用、是否对外 |
风险较低,但输出仍需快速过目再使用。
准备一份好范例
在技能的参考资料里放一份你认可的契约测试用例范例,往往比多写十条规则更有效。好范例应当:
- 来自真实工作,但已去除个人信息和敏感数据
- 体现团队习惯的结构、措辞和详略程度
- 包含一处“需人工确认”的标注示范,让智能体学会如何表达不确定
- 篇幅适中,不要比平时的产出长太多
范例不必多,一到两份即可;太多范例反而会让智能体机械模仿某一份的细节。
每一步要产出什么
把每一步的中间产出写清楚,智能体就不容易跳步,人也方便定位问题:
- 解析接口定义:产出一段简短的中间结果,并注明依据来自OpenAPI 文档的哪一部分
- 为每个接口生成请求样例:产出一段简短的中间结果,并注明依据来自OpenAPI 文档的哪一部分
- 断言状态码与结构:产出一段简短的中间结果,并注明依据来自OpenAPI 文档的哪一部分
- 覆盖错误响应:产出一段简短的中间结果,并注明依据来自OpenAPI 文档的哪一部分
最后一步之后,再把这些中间结果汇总成契约测试用例。中间结果可以折叠或省略展示,但在技能指令中要求智能体“先完成再汇总”,能明显减少遗漏。
延伸阅读
- 接口契约测试 · 定制指南
- 接口契约测试 · Gemini CLI 版
- 接口契约测试 · Function Calling 版
- 变异测试解读 · 检查清单
- 模糊测试输入 · 检查清单
- 智能体Skills 分类:625 个技能 × 32 个角度
说明:文中的配置、代码与目录结构均为示意,用于说明思路;各平台的入口、字段名与能力会更新,落地前请以对应官方文档为准。示例中的数据与场景为虚构,不代表真实案例。