开发与测试工程师经常要做「接口契约测试」这类事:根据 OpenAPI 文档生成接口契约测试。每次都从头写提示词,结果时好时坏;把它做成智能体 Skill,就能让智能体每次按同一套步骤执行,输出结构也更稳定。

这篇是最短路径:不追求完美,只求在 10 分钟内让「接口契约测试」第一次跑通。

准备(2 分钟)

  • 一份真实但已脱敏的OpenAPI 文档
  • 一个支持技能或自定义指令的智能体工具(如 Claude Code、Cursor、GPTs、扣子等任一)
  • 一份你认可的契约测试用例范例(可选,但很有帮助)

第 1 步:写最小指令(3 分钟)

任务:接口契约测试
输入:OpenAPI 文档
步骤:
1. 解析接口定义
2. 为每个接口生成请求样例
3. 断言状态码与结构
4. 覆盖错误响应
输出:契约测试用例,末尾列出需人工确认的内容。
信息不足时先提问,不要编造。

第 2 步:放到工具里(2 分钟)

把上面的内容放进所用工具的规则或技能位置:Claude Code 放进 .claude/skills/api-contract-test/SKILL.md(前面补上 name 与 description),Cursor 放进 .cursor/rules/,GPTs 放进 Instructions。具体位置见各平台版本的文章。

第 3 步:跑一次(2 分钟)

用一句自然语言发出请求,例如:

用接口契约测试技能处理这份OpenAPI 文档,输出契约测试用例。

观察智能体是否按步骤执行,输出结构是否符合预期。

第 4 步:修一处(1 分钟)

找出输出中最不满意的一点,只改对应的那一句指令,再跑一次。不要一次改很多处,否则不知道是哪处起了作用。

跑通之后

  • 用测试用例覆盖边界情况
  • 用检查清单确认上线前事项
  • 风险较低,但输出仍需快速过目再使用

准备一份好范例

在技能的参考资料里放一份你认可的契约测试用例范例,往往比多写十条规则更有效。好范例应当:

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

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

每一步要产出什么

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

  1. 解析接口定义:产出一段简短的中间结果,并注明依据来自OpenAPI 文档的哪一部分
  2. 为每个接口生成请求样例:产出一段简短的中间结果,并注明依据来自OpenAPI 文档的哪一部分
  3. 断言状态码与结构:产出一段简短的中间结果,并注明依据来自OpenAPI 文档的哪一部分
  4. 覆盖错误响应:产出一段简短的中间结果,并注明依据来自OpenAPI 文档的哪一部分

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

领域注意事项

「接口契约测试」属于测试领域,使用者多是开发与测试工程师,工作环境通常是测试框架与 CI 流水线。这个领域最重要的一条底线是:生成的测试要先在本地跑通,别只盯覆盖率数字。

建议把这条底线原样写进技能的约束部分,而不是指望智能体自己意识到。同时,在团队内部明确:智能体给出的契约测试用例只是初稿或建议,最终由谁签字确认、出了问题由谁负责。

延伸阅读

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