AI 编码工厂的盲区:生成速度跑赢验证速度
Zapier、Nubank、高盛等公司大规模部署 AI 编程智能体,但测试与验证投入不足,导致缺陷率上升。
Zapier 在内部部署了超过 800 个 AI 编程智能体,全公司 AI 采用率达 89%;Nubank 让自主 AI 智能体承担核心 ETL 迁移任务;高盛则在自家代码库上试运行自主软件工程师。这些企业的工程与风控团队原本以严谨著称,却都在以极低人工介入的方式把编码任务交给 AI 智能体。这一趋势被作者称为「代码工厂」模式:开发者只需下达任务,智能体便自主完成规划、编码、审查、测试、调试到上线交付的全流程。
代码工厂的核心诱惑与隐性代价
代码工厂最显眼的卖点是速度。AI 可以在十倍于人力的节奏上批量生成代码、整项目交付,听上去像是生产力的彻底解放。但作者指出,几乎所有代码工厂都在同一环节偷工减料:测试。生成能力提升了十倍,验证能力却纹丝未动。结果是大量未经过充分测试的代码被推上生产环境,代码工厂的本质变成了「不惜一切代价的速度」。当生产事故发生时,系统内也没有反馈回路让下一轮生成变得更好,整个流水线被设计成「更快地输出更多低质代码」。
一个被默认的假设
代码工厂的运行建立在一个无人明说的假设之上:AI 生成的代码可以直接用于生产。事实上并非如此。然而这一假设之所以成立,是因为 QA 在整个方程式里几乎不被提及。QA 被当作下游勾选项,或用最低覆盖率应付了事。在以速度为唯一价值的环境中,QA 成了阻碍更快交付的摩擦,因此被打上「慢」的标签后降级,甚至被浅层自动化取代——表面上测试通过,实际上并未真正验证任何东西。团队心里清楚代码大概率会出问题,却仍然选择上线,因为感觉别无选择。
测试缺位的真实代价
覆盖率达到 80% 看似合格,但覆盖率衡量的只是代码行是否被执行,而非用户流程是否真的可用。即使 100% 的行被覆盖,系统仍可能在高负载下崩溃、错误处理失当或使数据陷入不一致状态。代码工厂加快了「坏代码」抵达生产的速度:使用 AI 生成代码的团队报告变更失败率上升 30%,每次 PR 引发的事故数上升 23.5%。在 PR 阶段抓到一个 bug 只需几分钟;在预生产环境可能耗数小时;在生产环境则可能拖上数天,并伴随客户投诉、故障响应和级联故障。生产后再修复的成本,远高于上线前捕获。
让快速交付不必依赖低质
代码工厂的问题在于它们只为生成速度优化,而非验证速度。QA 偶尔被视为速度的阻碍,实际上它才是让速度可持续的支柱:只要有良好的自动化测试覆盖,代码工厂才真正「可信」地快速交付。但线性的人力测试编写速度永远追不上指数级增长的智能体生成速度,而让智能体「自己批改自己的作业」同样不可取——由此产生的测试会继承代码本身的盲区,只是把盲目自信自动化了。真正能捕获故障的测试——端到端覆盖真实用户流程的测试——历来构建最慢、维护最痛苦、成本最高。这正是陷阱所在:代码工厂最需要的那种验证,恰好是最难构建、最慢运行、最难维护的一类,而生成速度的飙升让这三重困难同时被放大。
验证必须同样自主化
要让代码工厂真正可信,验证必须升级为与生成同等速度、并行运行的自主流水线,而非挂在下游的减速带。要做到位,有几条不可妥协的原则:
- 可扩展:测试创建不能依赖 QA 工程师的招聘速度,必须随代码产出同步扩张。
- 覆盖真实流程:必须按用户实际使用产品的方式来测试,端到端覆盖完整流程,而不是统计代码行数;保证客户路径正常工作,而非仅仅代码可以执行。
- 与编码智能体独立:验证必须由独立于生成智能体的系统构建,避免继承代码的盲区,提供真正的第二意见而非回音。
- 自维护:当业务流程变化时,测试应自动更新,把误报率维持在接近零的水平,减少人为维护负担。
只有把验证能力拉到与生成能力同一量级,AI 编码工厂才可能从「快速输出低质代码」转向「快速交付可信代码」。
