绿灯之后
绿灯曾经是一种承诺。
2019年,我花了两个月给一个基于安卓底层的产品补测试,覆盖率终于做到能看的程度。CI 随之部署上去,第一次跑通的时候,进度条走到头,颜色翻绿,十二分钟后代码已经躺在生产环境里。
那一年 GitHub Actions 正式 GA,Kubernetes CRD 落地,Helm 3 发布。测试够多、流水线够快,软件就值得信任,那时候是这么觉得的。
死过一次
2024年,覆盖率仪表盘还是90%,发布前仍然排着一队人工QA。
为什么?
Martin Fowler 2012年写过一篇短文。他说测试覆盖率作为发现未测试部分的工具是有用的,但作为衡量测试好坏的数值指标,几乎没有价值。他会对任何接近100%的覆盖率感到怀疑。
覆盖率衡量的是代码行被执行过,不是被验证过。一个测试可以执行某行代码却不包含任何有意义的断言,Fowler 管这叫"无断言测试"。覆盖率告诉你测试跑过哪些行,但它不会告诉你 bug 藏在哪一行。
Microsoft 和 Google 各自的实证研究都显示,覆盖率过了70-80%以后,缺陷检出率的边际效益急剧下降。许多覆盖率90%以上的模块照样爆出严重缺陷。
90%的覆盖率看着漂亮,可发布前那排人工 QA 还是少不了。
搬家
2025年下半年,spec 驱动这股风刮了起来。想法很简单:写代码之前先把"要做什么"定义清楚。
7月,AWS 发布了 Kiro,一个 spec 驱动的 IDE,工作流分三步:需求、设计、任务,走完才写代码。9月,GitHub 开源了 Spec Kit。10月,一个叫 OpenSpec 的轻量级框架冲了出来,GitHub 上攒到将近六万颗星,Claude Code、Cursor、Copilot 都能用。
"Vibe Coding",凭感觉让 AI 写代码,在简单项目上好玩,复杂项目上会失控。AI 在本地跑通却偏离架构,在你不知道的地方塞进自己的"理解"。结构化的 spec 就是用来摁住它的。
我试了一阵。spec 的本意是把代码生成的意图钉死,写代码之前先把"要做什么"定义清楚。但 LLM 经常写着写着就忘了 spec,或者用自己的理解悄悄替换掉规格里的约定。前半段还在轨道上,后半段已经偏了。
Faros AI 在2025年7月发了一份报告,覆盖一万个开发者、一千多个团队。高 AI 采用团队合并的 PR 多了将近一倍,PR 审查时间增加了91%。报告的结论是一句话:人类审查仍是瓶颈。
就算 spec 没被忘掉,规格本身对不对、用户是不是真需要、边界场景想没想到,它也回答不了。
洪水
2026年初,OpenClaw 开源了。Claude Code 的开源替代品,"规划-行动-观察-验证"的循环,自带 API 密钥,完全自托管。发布不到半年 GitHub 上四万多颗星。它拆掉了最后一道围栏——循环里那个"验证"是 AI 自己检查自己写的代码,没人拦着。
有人用16个 Claude Opus 实例从零构建了一个 C 编译器。近十万行代码,两周完成。它能通过99%的 GCC torture test,能编译 Linux 内核,能运行 Doom。但汇编器和链接器还有 bug,演示时调用的是 GCC 的组件;开满优化的输出,效率还不如关掉优化的 GCC。代码逼近十万行以后,每修一个 bug 就破坏几个已有功能。做这个项目的 Carlini 自己说,它"恰好顶到了当前模型能力的上限"。
我自己也做了一次实践。OpenClaw 配合 spec 和规则文件,不到五个小时,完成了一个两万行级别的项目,测试覆盖率70%。
![]()
开发这件事,好像确实不是瓶颈了。
两万行代码,70%覆盖率,审核和验证怎么做?70%覆盖率意味着30%的代码路径未被测试触及,在两万行的项目里,这是六千行未验证的代码。而且就算是被覆盖的70%,也不等于被验证过。
Faros AI 2026年的报告:PR 审查时间平均增加199.6%,中位数增加441.5%。
当时有人试着把 AI 生成、自动测试、静态分析串成闭环。但智能体会在半成品上宣告成功,两个乐观主义者互相认同,谁也拦不住。这种循环只能算自动化,算不上工程。这一点要到2026年年中 SonarSource 提出 Loop Engineering 框架时才被讲清楚。
在非技术人员的叙事里,故事到这里就结束了。Sam Altman 说软件"确实比以往更容易创建",J.P. Morgan 按"software is dead"给软件股定价,Salesforce 跌了三成。Karpathy 自己宣布"vibe coding"过时了。
METR 做了一个随机对照试验。有经验的开发者使用 AI,实际慢了19%。但他们感觉自己快了20%。
回潮
Werner Vogels 在 re:Invent 2025 上给这个现象起了个名字,叫"验证债务"。生成快了,审查反而更慢,因为代码不是你写的,你得先看懂。
Sonar 调查了一千多个企业开发者。96%的人不完全信任 AI 输出,但只有48%总是在提交前验证。AI 已经占了提交代码的42%,预计2027年达到65%。
而代码审查这件事本身,在找 Bug 上的效果也远低于直觉。Microsoft Research 那篇论文的标题就叫《Code Reviews Do Not Find Bugs》。评审里只有15%的评论指向可能的缺陷,其余85%是风格、结构、理解类问题。Google 自己的研究说,代码审查的首要价值是知识共享,防 Bug 排第三。
Boris Cherny 是 Claude Code 的负责人。他这样描述自己现在的工作:"我的工作就是写循环。"设计智能体的工作流程,设定验证标准,判断循环什么时候可以停。
2024年,Klarna 用 AI 替代了700个人。两年后他们承认"走得太远",把人重新请了回来。Klarna 没有回到旧模式,搭了一套"AI 增强混合方案"。
CI 流水线翻成绿色。
屏幕前的人停了一下,没有按下部署。