Anthropic 的 Claude 之父 Boris Cherny 最近在 X 上晒了个实验:过去几周,让 Claude 接管自家 App 的日常维护。结果很耐人寻味——Claude 一共开出 388 个 PR,其中 180 个在「Claude Code Review + 人工审核」后被合并,合并率约 46%。
这个实验最有价值的不是「AI 又能写代码了」,而是它把一个被忽略的矛盾摆到了台面上:写代码变便宜了,审代码变贵了。Agent 自动维护代码的瓶颈,已经不在生成那一头,而在审查那一头。
Claude 每天在干哪些「脏活」
Boris 搭了一个 Slack 频道 proj-claude-maintains-apps,Claude Tag 每天跑一组例行任务(routine),覆盖 iOS、Android、桌面、Web、CLI、Agent SDK 六类环境。任务清单清一色是没人爱干的活:崩溃巡检(在模拟器里把 App 点到崩、定位根因、开修复 PR)、重复抽象合并、死代码清理、抽象泄漏修复、无效测试清理、时好时坏测试揪因。
注意一个细节:死代码清理用的是「两步确认」——静态能确定跑不到的,直接删;只是「疑似」跑不到的,先埋一段日志观察一天,确认没人调用,第二天再删。这个「先观察再动手」的护栏,是 AI 执行破坏性操作时最值得抄的一招,本质上就是 变更后验证清单 里「改完先验证影响面」的思路。
写便宜了,审贵了
真正的问题在数据里。工程数据平台 Faros AI 的《The Acceleration Whiplash》报告,覆盖 2.2 万名开发者、4000 多个团队,结论很扎心:高 AI 采用度下,人均完成的 epic 涨 66.2%,任务吞吐涨 33.7%,PR 合并率涨 16.2%——但每周真正部署上线的次数,反而降了 11.7%。
合得更多,发得更少,中间全堵在审查上。等一个人来审的中位时长涨了 441.5%,31% 的 PR 一次审查都没经过就直接合了进去,落在每个开发者身上的 bug 涨了 54%。这串数字翻译成人话就是:AI 五分钟生成上千行,工程师花一下午一行一行读完。生成侧产能过剩,审查侧成了新瓶颈。
边界很清楚:AI 干活,人签字
这个实验最值得学的,是它划定的那条边界:AI 可以主动找问题、改代码、开 PR,全程不用人批准;但每一处变更都停在 PR 里,合不合进主分支、上不上线,最后一下点确认的必须是人。Anthropic 自己的 Code Review 系统也明确:「这套系统不批准 PR,批准是人的事。」
这条边界,跟我们一直在写的 Agent 治理专题完全对得上。AI 把活干得再快,人工复核抽检 和 质量门禁 都不能省;拿不准的改动,就该走 转人工队列,而不是让 Agent 自己拍板。
不修 PR,修 routine
Boris 的调优方式也很关键:某一类 PR 老是不过,他不去一个一个改那些失败的 PR,而是回头改生成它们的 routine,然后观察接下来几天的表现。一句话——不修结果,修规则。
提示词在这里不再是一次性的输入,而是一套要长期运维的资产:写好、上线、观察、迭代,跟养一个线上服务没区别。每一次调整都沉淀进规则里,第二天生成的那批 PR 就会少几个不该出现的。这种「把失败当输入而不是终点」的闭环,跟 回放对照 和 证据包 是同一套思路——先留痕,再对照,再改进。
哪些活能交,哪些不能交
落到自己的团队,判断标准其实就一条:验收标准能不能写清楚。能验出对错的活,AI 现在接得住——这个操作能不能把 App 点崩、两处写法是不是同一件事、这条测试是不是永远不会挂,都能当场验一遍。说不清怎么算做对的,AI 还接不住——「这个抽象算不算过度设计」「这次重构方向对不对」,验收标准全凭品味。
所以它接走的第一批活,不是创造,是打扫。崩溃、死代码、重复抽象、无效测试,这些活验收标准明确,交出去风险可控。创造性的重构、架构方向的判断,暂时还得人自己来。
总结
Claude 这 388 个 PR,最有价值的不是「AI 又行了」,而是它把 Agent 时代的真问题照出来了:生成侧已经产能过剩,审查侧成了新的瓶颈,工程师的价值从「写得多快」转向「审得多准」。把「自动化生成」和「人审批准」的边界划清楚,把失败当规则迭代的输入,才是团队接稳 AI 维护代码这件事的正解。