AI写代码虽快,但质量难以把控,常因微小改动导致项目崩溃。本文引入Django联合创始人Simon Willison提出的Red/Green TDD方法论,核心在于为AI设定明确的“及格线”。在代码近乎免费的今天,这套方法将“定义正确性”的能力提升为核心竞争力,从根本上解决了AI编程时代的质量保障难题。
智能速览
Red/Green TDD是AI编程时代的质量保障核心,将测试作为定义代码正确性的标准。
操作分三步:先写测试确保红灯失败,再让AI实现代码,最后以测试通过为准。
配套技巧“First Run the Tests”可引导AI更重视测试,甚至主动编写测试。
AI编程时代,稀缺资源不再是写代码的能力,而是定义清晰验收标准的能力。
此方法论由Django创始人Simon Willison提出,是其Agentic Engineering实践的关键一环。
精华内容
面对AI生成的海量代码,如何有效验证其正确性?Red/Green TDD提供了一套可执行的框架,将抽象的质量要求转化为具体的测试步骤。
红绿灯三步法
该方法论的核心操作流程分为三步。第一步,先写测试,不要写实现代码。例如,要求AI写一个提取文章标题的函数,并生成测试用例。
第二步,运行测试,确保它失败。这个“红灯”环节至关重要,它证明了测试是有效的,而非一个永远通过的伪测试。
第三步,命令AI根据测试要求编写实现代码。运行测试,如果“绿灯”通过,则任务完成;如果失败,则命令AI重写,直至通过。
AI主动配合技巧
一个关键配套技巧是“First Run the Tests”。在每个新的AI编程会话开始时,第一句话就应是“先运行测试”。
这样做有三个好处:首先,让AI明确知道项目存在测试套件,后续修改代码时会自动考虑测试。其次,测试数量能让AI感知项目规模,从而更谨慎。最后,这会传递出你对质量的重视,引导AI主动为你编写测试,将协作水平提升一个台阶。
定义标准的价值
Red/Green TDD的真正价值,远不止是一个小技巧。在代码生成成本趋近于零的AI时代,一个人的核心竞争力不再是写代码的速度,而是定义“什么算对”的能力。
Cloudflare曾有工程师与AI合作,一周内重写了整个Next.js框架,代码产量爆炸,但质量的维系依靠的正是严格的测试标准。谁能写出高质量的测试,谁能定义清晰的验收标准,谁就能驾驭AI持续产出高质量成果。
Red/Green TDD并非新概念,但在AI时代被赋予了新的生命力。它将程序员的角色从代码生产者提升为质量定义者。在AI能力持续进化的未来,这种“设定标准”的思维,或许是保持不可替代性的关键所在。
关键评论
非程序员难以理解,很多需求逻辑只能用代码本身清晰描述。
实践中AI会为了通过测试而修改测试用例,无视原始指令。
测试只能证明功能达成,但无法防止AI顺手修改其他无关代码。