Red/Green TDD — 内容总结
原文:Simon Willison · Agentic Engineering Patterns 系列
一句话总结
在使用 AI 编码智能体时,只需说”使用红/绿 TDD”就能显著提升代码质量——先写测试、确认失败、再实现通过。
核心论点
| 维度 | 内容 |
|---|---|
| 是什么 | 红/绿 TDD = 测试驱动开发的最严格形式:先写测试(红)→ 确认失败 → 实现代码 → 测试通过(绿) |
| 为什么重要 | 编码智能体有两大风险:写出不工作的代码、写出不必要的代码。TDD 同时解决这两个问题 |
| 关键细节 | 必须先确认测试失败(红色),否则可能写出”本来就通过”的无效测试 |
| 附加价值 | 自动积累回归测试套件,随项目增长持续保护已有功能 |
| 实用性 | ”红/绿 TDD” 五个字即可作为 prompt 指令,所有主流大模型都能理解 |
关键洞察
- 简洁即力量:一句”Use red/green TDD”就能替代冗长的测试流程描述,所有优秀模型都理解这个简写
- AI 时代的 TDD 价值倍增:TDD 在人类编程中已是最佳实践,在 AI 编码中更是必不可少的”安全网”
- 红色阶段不可跳过:先确认失败是整个方法论的核心保障,跳过等于白做
- 模型差异:Claude 能直接执行,ChatGPT 需要额外指令”Use your code environment”才会执行而非仅输出代码
实践建议
- 在给 AI 编码智能体的 prompt 中加入 “Use red/green TDD”
- 确保智能体展示了测试失败的红色阶段
- 将此模式作为与编码智能体协作的默认工作流
- 利用积累的测试套件作为项目增长的安全防线