十月十五号那篇讲 Claude Code 内部怎么审代码的文章,我读了两遍。
第一遍读得挺舒服。第二遍,后背发凉。
标称阅读时长十四分钟,我实际花了快四十分钟——中间停下来算了两次数。
先说服人的地方。这年头讲 AI 编程的文章,十篇有九篇在卖结果:模型多强、提效多少、哪家又砍了几个组。这篇卖的是过程,把「人类在哪一步必须留下、为什么留下」摊开写。而且它揭自己的短,这一点我买账。
四个细节。
历史上引发过事故的 PR,连同修复和回滚,攒成一套评估集,每天在上面跑分。提示词、工具、模型一有改动,就拿全部案例重跑,分数涨了才留。
对审查器反复指出的位置做 git blame,约 59% 是首轮就已经存在的旧代码。换句话说,它每轮翻出来的多数不是新 bug,是老账。
那个 CLI PR,一夜五十多轮审查与修复,最后是作者自己叫停的。
还有一句藏在后面的:目前没有在回滚率或事故率恶化时自动收紧批准门槛的熔断机制。
四条放一块儿,比前面那些漂亮数据诚实得多。
但我要说的不在这儿。在那组数,和长出这组数的土。
六月到九月,进他们库的 PR 翻了一倍多,需要回滚的占比同期降了四成多。一轮审查加修复就过的 PR 从 65% 涨到 78%,要五轮以上的从 8.9% 掉到 1.5%,平均审查次数 2.08 到 1.32。主仓每天落地的变更量,五月两千五,九月三万多。
好看。真好看。我也想贴。
管理层看到这组数会干什么,不用我教。
等一下——这些数是从什么环境里长出来的?
合并队列。功能开关。新行为只对内部员工先开,走 latest,stable 随后跟。一键回滚。每周轮换的 on-call。每次事故和回滚都进评估集。复盘追问「本该哪一层拦住」,不问「谁干的」。CODEOWNERS 加分支保护,把认证、计费、CI、发布工作流和安装器全锁死。批准绑在具体 commit 上,系统担保不了的新提交一来就作废。还有一份仓库可信作者名单。
你挨个数一下,自己手上占几条。
一条都不齐的话,「低风险改动过完自动检查就能合」这半句你千万别抄。你抄得走省人的那半句,抄不走兜底的那半套。
补一刀:人家自己都写了,这条线还在移动,熔断还没上。人家边走边看,你是裸奔。
那个一夜五十轮的 CLI PR,我读到这里是真笑了。
人三秒就能划掉一条吹毛求疵的意见,agent 不会。它会老老实实去修,修完产生新提交,触发又一轮审查,审查再提意见,它再修。转一整夜。
这不叫审查效率,这是拿 token 当柴火烧。
而且他们把这条写进了文档,还专门点一句:噪声在作者是 agent 时代价更高。愿意把这种丑话写进自己工程博客的团队,不多。
再说那个 59%。
第一遍我把它当噪声统计跳过去了。第二遍才反应过来它讲的是什么。
它讲的是:你家屎山有多大,这套东西就有多爱翻。
这活儿本质上是给存量代码做体检,不是审 PR。体检报告好不好看,取决于你身体什么状况,不取决于机器多先进。
指望拿它去还技术债,等于把体检单当手术做。它能告诉你哪一行可疑,不会告诉你那一行是五年前主备脑裂之后临时加的探针——更不会告诉你删了会怎样。
我最服的不是 78%。
是「你把它合进去,你就负责」这条规范,后面跟着的那五个前提。
改动普遍很小;易审易退;开关、回滚、分阶段发布几分钟内能撤掉大部分错误;遥测加内部重度使用,让回归很快暴露;复盘的矛头指向系统,不指向个人。
五条。你再数数自己有哪几条。
我见过太多团队,抄的是前面那半句「谁合谁负责」,条件一条不备——PR 一千两百行,回滚靠人肉,出事第一件事是找人。那不叫责任制,那叫指定背锅位。
说句实话,我一开始的判断是这套东西不该往外推,内部自用就完了。后来想想,不对。人家肯把评估集怎么建、风险分几档、批准怎么绑 commit 都摊出来,已经比只发一条「我们上线 AI 审查了」的公告强出十条街。
问题不在写的人诚不诚实。问题在读的人只抄结果。
这个剧本我看过。换皮而已。
所以我不打算骂这篇。我想骂的是把它当模板往自己流水线上贴的人。
真要照着干,第一条不是去开「低风险免人工批准」。
是先把「每次事故和回滚都进评估集、审查器一改就全量重跑打分」这条建起来。这东西建起来费人、跑起来费钱,一年不出事就有人问它有什么用;等到出事那天,它是唯一能告诉你这个坑上次填过没有的东西。没它,你连自己那套是在变好还是变坏都不知道,剩下全靠感觉。
感觉这东西,凌晨三点最不靠谱。
第二条是熔断。人家自己承认还没补上,你就更别抢跑。
省下来的那点人工批准,是要付利息的。他们付得起,你未必。
