别再直接让AI写代码了!Django核心开发者Simon Willison:TDD才是AI编码的唯一正确姿势

别再直接让AI写代码了!Django核心开发者Simon Willison:TDD才是AI编码的唯一正确姿势 最近刷到Django核心开发者Simon Willison的一期访谈视频看完我直接拍大腿原来我们很多人用Claude Code、Codex这类AI编码代理从第一步就彻底走歪了。大多数开发者拿到AI工具第一反应就是直接甩需求“帮我写个这个功能。”结果呢代码生成了一堆跑起来一塌糊涂bug满天飞。Simon直言不讳不强制用TDD测试驱动开发你就是在让AI裸奔。测试成本现在几乎为零还跳过这一步纯属给自己挖坑。AI写代码的问题从来不是模型不够聪明而是我们没给它正确的“监工”。而TDD就是那个最硬核的监工。AI时代TDD的正确打法红-绿-重构强制循环Simon分享的核心流程超级简单但必须死死执行先让AI写测试红阶段别急着让它写实现先让代理根据需求生成测试用例甚至直接跑现有测试看哪里失败。这一步就把AI的“幻想”直接打回现实。再让AI写最小通过代码绿阶段只允许它写刚好能让测试通过的最简实现坚决禁止胡乱堆代码。最后重构优化测试全绿后再让AI清理、优化代码结构。他反复强调现在生成测试的成本几乎为零没有任何理由跳过这一步。直接让AI写实现已经是当前AI编码最大的反人类操作。测试通过后Simon还有个特别务实的习惯——手动用curl启动服务器真实走一遍业务流程把所有测试漏掉的边缘case全部补上。测试再牛也代替不了人肉验证。他甚至自己做了个Showboat工具能自动把这些手动测试过程转成漂亮的Markdown文档方便后续复用和分享。进阶神器用海量现成测试“逼”AI出高质量代码Simon最震撼的玩法是直接扔给AI大型一致性测试套件。比如WebAssembly有几百个标准测试他就把整个套件丢过去让AI“改到全部通过为止”。这种方式生成的代码质量高到离谱几乎完美符合规范。更狠的是他会从Go、Node.js、Django等成熟框架里提取测试用例反向工程出全新的实现——这波操作直接把AI的潜力榨干了。长期维护项目怎么保证代码质量Simon很清醒一次性脚本或玩具项目AI写啥用啥就行。但如果是需要长期维护的产品代码必须额外两步人工Code Review用提示词反复让AI重构他发现最后出来的代码质量往往比纯手写还干净、还容易维护。另外他强烈推荐大家先用cookiecutter模板把项目骨架搭好结构、测试配置、CI流水线全齐。这样AI生成代码时就会严格遵守现有模式避免掉进各种坑。写在最后本质上AI编码代理最强大的从来不是创造力而是它在明确规则下的执行力。测试就是给它的最好规则和最严监工。你还在把AI当成“代码生成器”随便用吗真正的高手已经把它升级成了“测试驱动的超级开发搭档”。如果你正在做Vibe之类的产品强烈建议立刻把TDD流程引入AI工作流——效率和质量都会直接起飞。我是紫微AI我们下期见。完