张大妈

AI审AI,问题找不完?Claude Code:最多审三轮

源自278位全网作者

11:52

怕的不是AI写代码,怕的是它写得你能跑、不敢读。上周小红书一篇《如何审核AI写的代码》拿下7600多赞、1.2万收藏,最高赞评论一句话:“让英雄去查英雄,让好汉去查好汉”。另一条更扎心:“AI review就是没完没了,永远找不完问题。”

这个问题,最近开始有了官方答案——Anthropic发了一篇文章,介绍Claude Code团队是怎么审核AI写的代码的。他们的代码约90%是Claude写的。仓库每天合并的改动量从5月的2500个涨到9月的3万个。逐行人工review物理上做不到,但他们没砍掉审查,而是搭了六层检查机制,把大部分工作交给机器,人只盯最关键的部分。结果反直觉:6月到9月,PR合并量翻了一倍多,回滚率反而降了超过40%。看的人少了,错反而少了。小红书微博知乎微博知乎微博

AI审AI,问题找不完?Claude Code:最多审三轮

整条流水线,核心是三招。

第一招:把审查提前进写码过程,别等写完再审。 提PR前让AI自己跑测试、拿截图和设计稿做比对,再开一个干净上下文的全新agent重新扫一遍diff,躲开"自己审自己"的盲区。Claude Code创始人Boris Cherny给的口径:加上验证流程,输出质量能提升两到三倍。知乎微博

AI审AI,问题找不完?Claude Code:最多审三轮

第二招:AI审查先于真人,但先分清新账旧账。 AI会把问题标注清楚哪些是这次改动新引入的、哪些是原本就有的老问题,老问题单独打标签,不让人背不是自己造成的锅。这个防甩锅细节,是读者里共情最强的。知乎

第三招:人工按风险分级,AI的批准不算数。 系统按改动内容判定风险:改文档可以自动通过;碰到计费、权限这类地方,必须真人批准,而且AI的批准不算数,关键路径上只认人类。低风险0人审批、中风险1人、高风险2人。人不再逐行读码,只盯最贵的地方。微博知乎

当然,他们也踩了所有"AI审查"迟早要踩的坑:有一份申请,一夜之间审了改、改了审,五十多轮,直到人出手叫停。回头一查:被AI反复盯的代码里,约59%从项目之初就没动过——AI每轮找的不是新bug,是多翻出几个老bug;于是他们定了条铁律,最多跑三轮,超过就让作者自己重新判断方向。这正好回答"永远找不完问题"——停止条件得人来设,AI自己不会喊停。微博知乎

AI审AI,问题找不完?Claude Code:最多审三轮

文章结尾划了条线:三样东西机器替代不了——要不要做这个功能、架构决策、还有责任。他们的目标是:一个PR从提交到合并,最多只需一个真人参与(含作者本人),同时不让回滚率上涨。代码只要上线就得有人负责——你合并的,你负责。谁操作AI,谁就是那个负责人。知乎微博

小团队照搬不了整条流水线,但三招今天就能用:能机器验证的,全部自动化前置;AI审AI时换个干净会话;给互审设一个明确的止损线。人工审查的时代没终结,只是人从读代码,改成了写规则。

内容由AI生成

精选参考来源

1. 90% 的代码由 AI 写,Claude Code 团队终于把 Code Review 玩明白了

2. 如何评审AI写的代码?

3. 如何审核 AI 写的代码?

4. Claude Code 团队的 Addy Osmani 写了一篇文章,介绍他们在约 90% 代码由 Claude 写的情况下,怎么做 code review?Anthropic 最近分享了一个数据:他们团队 90% 的代码都是 Claude 写的,但今年 6 月到 9 月,合并的 PR 数量翻了一倍多,需要回滚的比例却下降了 40%。他们是怎么做到的?先说一下情况,从 5 月到 9 月,代码仓库每天合并的改动从 2500 个涨到了 3 万个。这个量级,靠人工一行行审根本不现实。所以他们搭了六层检查,把大部分工作交给机器,人只盯最关键的部分。先说提交之前。写完代码,先让 Claude 跑测试、截图对比设计稿,再让另一个 AI 用全新视角扫一遍,把大多数常规 bug 过滤掉。据 Claude Code 的创始人 Boris Cherny 估计,加了验证流程之后,输出质量能提升两到三倍。然后说提交之后。每个 PR 都有一轮 AI 自动审查,看改动有没有搞坏别的地方,有没有真正解决问题。审查结果分“重要问题”和“小毛病”,还会标注哪些是这次改动新引入的,哪些是原本就有的老问题,不让作者背锅。接下来是安全审查,只要有未解决的安全问题,PR 就不能合并。再然后是自动化测试,lint、类型检查、多平台构建,一个 PR 提交上去,可能要过几十项检测才轮到真人看。真人审查这一关,不是每个改动都需要人来盯。系统根据风险高低来决定:改文档可以自动通过,碰计费系统就必须有真人批准。而且明确规定,AI 的批准不算数,关键路径上只认人类。最后是分阶段发布。新功能先给内部员工用,发现问题再修,然后才逐步放出去。当然也踩过坑。AI 审查和 AI 作者有时候会陷入死循环,一个 PR 一晚上来回循环了五十多次。后来他们设了上限,最多跑三轮,超过了就让作者重新评估方向。还有个有意思的问题。以前大家靠看同事的代码改动来学习项目,但现在大部分代码都是 AI 写的,还有多少人会认真看那些改动?他们的做法是:谁想了解某块代码,就让 Claude 现场生成一份讲解文档,几分钟内就能拿到一份永远最新的说明。他们的目标是:一个 PR 从提交到合并,最多只需要一个真人参与,同时不让回滚率上涨。目前看,他们正在朝这个方向走。#科技先锋官##How I AI#

5. Claude Code 团队把自己审 AI 代码的整套流程公开了。他们的代码约 90% 是 Claude 写的。6 月到 9 月,合并的 PR 翻了一倍多,需要回滚的占比反而降了 40% 以上。做法就一句:逐行读代码交给机器,人只盯真正可能出事的地方。具体怎么拆的往下看👇以前审代码是最后一道人工关卡,排队等同事一行行看;现在更像边写边跑的拼写检查,大部分常规错误在人看到之前就修掉了。🧪 先让 Agent 自证不问它"做完没",而是要它真跑测试、贴出运行结果;再开一个全新上下文的子 Agent 复审,不受写代码时的思路影响🔍 每个 PR 先过 AI 审查多个 Agent 并行找 bug,另一组 Agent 投票,有足够共识才发评论。功能推出后,拿到实质性审查意见的 PR 从 16% 涨到 54%🔒 按风险决定几个人审批文档、文案这类低风险改动,自动检查通过就能免人工;普通功能一人批;最高风险的代码两人批。Agent 的通过不算人类名额🔄 治好 AI 互审的死循环早期一个改动被 AI 改了一夜、审了五十多轮。一查发现 59% 被挑的代码第一轮就在了。现在三轮后要求重想方案、只审新增差异、同类问题一次指出,5 轮以上的从 8.9% 降到 1.5%📊 审查器自己也要考试把过去出过事故、被回滚的 PR 做成题库,每天跑一遍;改提示词、工具或模型,分数变好才保留🧠 人只管五件事该不该做、高风险代码、架构、审读证据、对结果负责。代码不管是谁敲的,上线的每一笔都有具体的人负责说人话就是:AI 写代码太快,人已经读不过来了。Anthropic 的答案不是多审几轮,而是让改动小、能验证、能撤回、有人负责。普通团队别急着照搬零人审批,先从让 Agent 自查、写一份 REVIEW.md 开始。完整流程和落地步骤放评论区了👇

6. 当代码生成量爆发,逐行人工审查已不可行。Claude Code团队在PR合并量翻倍的同时,将回滚率降低超40%。他们把阅读大半交给机器:提交前由Agent自主验证;PR阶段多Agent并行挑错并投票过滤噪声;设审查轮次上限防止AI反复死循环;审批依风险分级,低风险信任分支全自动合并,工程师专注把关架构、业务方向与高危路径;每次线上事故均沉淀为评测集每日跑测反哺模型,配合合并队列与灰度发布托底。详见 claude.dev /blog/solving-code-review-at-anthropic/

7. Claude Code 团队公开了他们审代码的做法:代码大约九成由 Claude 写,六月到九月合并的修改翻了一倍多,需要撤回的比例反而降了四成多。这期用一摞带洞的奶酪片讲这套做法:每道检查都会漏,叠起来就很难漏,底下还有一张网兜底。片中回答五个问题:哪些修改还要人看,AI 审 AI 会不会没完,审查的 AI 漏了怎么办,人不读代码怎么懂代码,出了事算谁的。人不再逐行读代码,时间花在机器做不好的判断上。--- 文稿 ---Claude Code 团队的九成代码都是 AI 写的,他们是怎么审查代码的?如果 AI 替你写作业,一天写一千份,老师批得过来吗?写代码的公司,现在就碰上了这件事。Claude Code 是 Anthropic 做的编程助手。它自己的代码,大约九成是 Claude 写的。Anthropic 全公司的代码库,九月份一天要合并三万多次修改(五月份还是每天 2500 次左右)。靠人一行一行看,根本看不过来。可 Claude Code 团队说,从六月到九月,他们合并的修改翻了一倍多,需要撤回的比例反而降了四成多。看的人少了,错反而少了。这是怎么做到的?【什么是代码审查】先说程序员平时怎么防出错。改完代码,不能直接放进产品,要先交一份修改申请,英文叫 PR(Pull Request)。同事一行一行看,挑毛病,点了头才能合并。这叫代码审查。就像作文交上去,老师批过,才能贴上墙。合并以后才发现出了问题,就得把修改撤回来。撤回得越多,说明漏掉的错越多。【一摞带洞的奶酪】Claude Code 团队觉得,“有没有人读过代码”,这个问题问得太粗。更该问的是:这一次修改可能出什么错?哪一道检查最适合拦住它?可以把每一道检查想成一片带洞的奶酪。每一片都能挡住一些错,也都有洞,会漏掉一些。好几片叠起来,洞很难对齐,错误就很难一路穿过去。最底下再铺一张网,真漏下去了,也能很快捞回来。这一摞奶酪里,大部分片是机器。人的时间最珍贵,它花在两头:一头是审代码,一头是出了事去救火。只省前一头,救火的时间涨上去,等于没省。所以他们盯着两个数:人花了多少时间,撤回和事故有没有变多。【跟着一次修改走一遍】从作者的电脑到用户手里,一次修改走的是一条流水线。前面那几片奶酪,就排在这条线上。上流水线之前:自己先验。 代码还在自己电脑上,没有提交。Claude 写完代码,要自己跑测试、编译、做代码规范检查,把结果摆出来。光说一句“做好了”,不算数。然后再派一个新的 Claude,它没看过刚才的过程,单独审一遍,就像写完作文请一个没看过的同学挑错。一提交,就上了流水线。 这条自动化的流水线英文叫 CI(持续集成)。从这以后,每提交一次新改动,机器都会自动从头查一遍,不用谁去点。线上依次是:- 自动检查: 代码规范、类型、在各个系统上跑测试,再编译、打包。红了一项,就不能合并。- AI 审查: 好几个 AI 同时找问题,再由另一组 AI 投票,票数够了才算真问题,按严重程度排好贴出来。每一条意见都得回应:要么改掉,要么写清理由关掉。它刚在内部上线时,一百份申请里收到实质意见的,从 16 份涨到了 54 份。- 安全审查: 单独再查一遍。两种审查里只要还有一条没处理,申请就合并不了。- 按风险批准: 要不要人看、要几个人看,由一个分类器按风险来定,下面单独讲。合并:排队,再查一遍。 申请先排进一个队列,轮到它时,拿最新的代码,把它放进去,所有检查再跑一遍。因为两份各自没问题的修改,凑在一起也可能出错。合并以后: 打包、发布也由流水线自动来做,这后半段英文叫 CD(持续交付)。新功能也不马上给所有人用,先藏在开关后面。这个开关英文叫 feature flag(功能开关):新代码已经装进了产品,开关关着,用户就碰不到它;开关是一项设置,打开关上都不用改代码,也不用重新发版。打开以后,先给 Anthropic 自己的员工用,再分批发:先发到最新版,稳定版晚一步跟上。就算有问题,碰到的也只是一小部分人。最底下那张网:盯着,随时撤回。 发出去以后,作者和值班的人一直盯着。新功能出了问题,把开关一关,用户那边马上就看不到它了;哪个版本整个坏了,就撤回,退到上一个好的版本;问题小、看得清,也可以直接修好再发。撤回为什么快?一是每次修改都切得小,撤的时候只退这一小块。二是撤回本身也是一次修改,走的还是这同一条流水线,检查、打包、发布全是机器在跑。所以大多数问题,几分钟就能撤掉。网铺得牢,上面的奶酪片才敢少让人看几眼。【哪些修改还要人看?】看风险。- 改文档、改文案、藏在开关后面的新功能,风险低。自动审查和安全检查都通过,就不用人批。- 普通的产品改动,或者碰到自动更新这类敏感地方的,要一个人批。- 风险最高的代码,要两个人批。档位由修改本身定,跟谁写的无关:一个分类器读完修改,给它定档。还有两条规矩:AI 的批准,不算人的批准;谁让 AI 写的代码,谁就算一个审查人,要为它负责。放回奶酪里看:风险越高,人这一片切得越厚。【AI 审 AI,会不会没完没了?】真发生过。有一份申请,一夜之间审了改、改了审,五十多轮,直到作者出手叫停。他们一查,审查反复指出的问题,约 59% 是第一轮就已经在那儿的老代码。人看到一条鸡毛蒜皮的意见,几秒就跳过了;AI 却会老老实实去改,于是又多一轮审查。后来他们定了规则:1. 最多审三轮。2. 三轮之后,请作者退一步,想想思路对不对。3. 过了头几轮,只审新改的部分。结果,一轮就通过的申请,从 65% 涨到了 78%;要五轮以上的,从 8.9% 降到了 1.5%。【审查的 AI 漏了怎么办?】他们把过去闯过祸的修改都收集起来,请熟悉那块代码的工程师,标出错在哪一行。这就成了一本错题本,审查的 AI 每天做一遍。改提示词、换模型,分数涨了才留下,没涨就扔掉。每出一次事故,错题本就多一道题。审查反复挑出同一个毛病,就去源头改:写进给 AI 看的说明文件,或者加一条自动检查,下次就不用再提醒。奶酪片上的洞,就这样一个个补上。【人不读代码了,还怎么懂代码?】代码审查还有一件事:让团队里的人都懂代码。机器读了大部分,人怎么学?团队里没有人把全部代码装在脑子里,他们也觉得没必要。想弄懂哪一块,就让 Claude 专门为那一块写一份讲解,几分钟就好,讲的就是代码现在的样子。一行改文案的修改,逐行看也学不到什么。马上要动的那块代码,有一份讲解,能学到很多。【出了事算谁的?】团队的规矩是:你合并的,你负责。中小改动出了问题,通常由合并的人自己修。这里的“负责”,不等于追究个人责任。让合并的人来修,是因为这次修改这个人最熟,修得最快。事后复盘,不问是谁犯的错,只问一件事:这只虫,本该被哪一片奶酪拦住?找到那一片,再把那个洞补上。下次同样的错,就溜不过去了。我的理解是,出了错不挨批,大家就不用藏着掖着,问题能更早摆到台面上。敢这样做,还因为出错的代价被压得很小。修改切得小,好查也好撤;大多数错误,几分钟就能撤掉。而且责任是大家一起担的。团队大多在公开频道里干活,谁都看得到别人在做什么,可以顺手接一把,也可以派一个 Agent 去补漏。【你能用上什么】你要是也在用 AI 写代码,有两件事现在就能做:1. 给 AI 一份简短的说明(比如 `CLAUDE.md`),写清楚怎么跑测试、有哪些规则。2. 交代码之前,在 Claude Code 里跑一下 `/code-review`。这些数字都是他们自己公布的,也只是一个团队的做法。【回到开头】一天几万份作业,靠人一份份批,批不过来。他们叠了一摞奶酪片:每一片都会漏,叠起来就很难漏,底下还有网接着。人不再逐行读代码,去做机器做不好的事:该不该做,危险的代码,架构,看懂证据,为结果负责。他们的一位同事说,放慢速度确实能少出错,可那主要是因为你什么都做得少了。他们宁可更快地发现问题,更快地修好。---资料来源:- Addy Osmani《How the Claude Code team does code review》(2026.10.15)网页链接 - Anthropic《Redesigning source control at Anthropic》(2026.10) 宝玉xp的微博视频

3
扫一下,分享更方便,购买更轻松
0评论

当前文章无评论,是时候发表评论了
提示信息

取消
确认
评论举报

最新文章 热门文章