人不必看每一行:Claude Code 团队的代码审查流程,你的团队明天就能抄
Claude 写了 Claude Code 约 90% 的代码之后,团队怎么审:七层流程、按风险分级的人工批准、三轮封顶,以及一份明天就能照抄的清单。
01
先说一组反常识的数字。
据 Anthropic 在 claude.dev 上 10 月 15 日发布的博客,Claude 写了 Claude Code 自身约 90% 的代码。
6 月到 9 月,Claude Code 代码库合并的 PR 数,翻了一倍多。
按常识,代码写得越多、合得越快,出事应该越多。
可是,需要回滚的比例,反而下降了 40% 以上。
为什么?
再看一组更大的数字。Anthropic 主仓库每天落地的变更,5 月约 2,500 个,9 月超过 30,000 个。
这么多代码,人看得过来吗?
看不过来。
看不过来,还能更稳,靠的是什么?
不是靠人更努力,而是靠一套重新设计过的流程。
这篇博客的作者是 Addy Osmani、Morgan Westlee Lunt 和 Qing Wang。我把它拆开,看看里面的底层逻辑,和你的团队明天就能用的几条。
02
要理解这套流程,我们必须首先理解:代码审查,到底在审什么?
是在审代码吗?
不完全是。
审查的本质,是用人的注意力,去换上线后的确定性。
人的注意力,是有限的。代码,现在是近乎无限的。
我把它写成一个简单的式子:
人工审查成本 = PR 数量 × 每个 PR 消耗的人工注意力
PR 数量,已经不由人决定了。Agent 写得多快,它就涨得多快。
那么,能控制的只剩后一项。
怎么控制?
不是每个 PR 都平均少看一点,而是把人的注意力,只花在风险高的地方。
这就是 Claude Code 团队的目标:多数 PR 最多一个人参与,这个人可以是作者本人;同时,回滚和事故率不能上升。
怎么知道做到了没有?他们定了几个指标:每个 PR 的人工批准数(看中位数和 P95)、人工评论数、PR 等人的时长。回滚和事故率,当作护栏。
注意这个设计。
效率指标是油门,事故指标是刹车。只踩油门不看刹车,是莽;只踩刹车不踩油门,是怂。
03
那么,人不看的那些地方,谁来看?
答案是:七层流程,层层过滤。
提 PR 前先验证 → 每个 PR 都有 Claude 审查 → 能阻断合并的安全审查 → 阻断式自动检查 → 按风险分级的人工批准 → 合并队列、功能开关、灰度发布 → 快速发现、快速回滚
一层一层看。
第一层,提 PR 前先验证。给 Claude 能跑的东西:测试、构建、对比设计稿的截图,让它把输出亮出来。然后,再让一个新上下文的子 Agent 去审这份 diff。
为什么要“新上下文”?因为写代码的那个 Agent,脑子里装满了自己的思路,容易看不见自己的错。换一个没参与过的去看,才像真正的第二双眼睛(这是我的理解)。
第二层,每个 PR 都有 Claude 审查。
第三层,能阻断合并的安全审查。
第四层,阻断式自动检查:lint、类型、全平台测试、构建。
第五层,按风险分级的人工批准。这一层最关键,后面单独说。
第六层,合并队列、功能开关、灰度发布。先发 latest,stable 跟进。
第七层,快速发现、快速回滚。
你会发现,人工批准只是七层里的一层。
前面几层负责“拦”,最后几层负责“兜”,人只负责“判”。
04
再说 AI 审查本身。
据博客,AI 审查的研究预览上线后,内部 PR 收到实质性审查意见的比例,从 16% 升到了 54%。
它是怎么做的?
多个 Agent 并行找 bug,另一组 Agent 投票确认,票数够了才发出来。纯风格类的意见,直接丢弃。每条评论标上 Important、Nit 或 Pre-existing。
还有一条规矩:每条意见都必须回应。要么改,要么写清楚理由关掉。
这条规矩,我觉得特别值得抄。
为什么?因为审查意见如果可以被无视,审查就会变成噪音;噪音多了,真正重要的那条也会被一起无视。
05
现在回到第五层:人工批准怎么分级?
博客给了一张风险分级表。
低风险:文档、文案、内部功能、功能开关后面的新增。自动检查全绿即可,不需要人工。
中风险:普通产品改动,以及缓存、自动更新、系统提示词这类敏感区域。需要一个人批准。
高风险:需要两个人批准。
这张表本身不复杂。复杂的是配套的几条规则,每一条都在堵一个漏洞。
风险等级由分类器读变更来决定,不看作者是谁。——堵的是“老员工的代码不用看”的人情漏洞。
只有仓库信任名单上的作者,才能走轻路径。——堵的是“谁都能走快车道”的漏洞。
Agent 的批准,永远不算人的批准。——堵的是“机器给机器盖章”的漏洞。
指挥 Agent 写代码的那个人,算作必需审查人之一。——这一条最有意思。它的意思是:代码是 Agent 写的,但责任是人的。
批准只对某一个 commit 有效,新推送要重新批。——堵的是“批完再偷偷改”的漏洞。
这几条规则背后,是同一个逻辑:流程可以变轻,但责任不能变空。
06
流程设计得再好,也会遇到新问题。
博客很坦诚地讲了一个案例:有一个 CLI 的 PR,一夜之间,被 Agent 作者和 Agent 审查者来回改了 50 多轮,最后是作者自己叫停的。
Agent 审查者挑错,Agent 作者改错,谁也不累,谁也不停。
更有意思的是,团队用 git blame 一查,发现审查反复标记的东西,约 59% 是第一轮就存在的老代码。
也就是说,审查者一直在挑“本来就有”的毛病,作者一直在改“本来不归这次改”的地方。
怎么办?
他们给的对策是:三轮封顶,三轮之后请作者重新考虑方案;几轮之后,只审新的 diff;标出 bug 的类别,让作者一次全改;已经发过的意见,不再重复。
这里面有一个很深的道理。
人和人之间的审查,有一个天然的刹车:累。来回审上几轮,大家都烦了,自然就会停下来想一想,是不是方案本身有问题。
Agent 不会累。所以,刹车必须写进规则里。
07
还有一招,我认为是整篇博客里最聪明的。
用历史事故做评测集。
把引发过事故的 PR 收集起来,每天拿审查器跑一遍。
为什么聪明?
因为事故,是一个团队最贵的学费。交过一次,就应该变成一道永久的考题。审查器每天考一遍,考不过,就说明它又退步了。
这和我们常说的复盘,是一个道理。复盘不是为了写报告,是为了下次不再犯。
08
最后,说一说你的团队明天就能用的几条。下面是我根据博客整理的清单。
第一,写一份 CLAUDE.md。说清楚项目是什么,保持简短,指向其他文档。
第二,写一份 REVIEW.md。由代码负责人来写,说明这块代码“坏了长什么样”。比如,文档坏了,是“说谎”;配置坏了,是“路由错”。同时限制 nit 的数量,要求每条意见给出文件和行号作为证据。
第三,改 PR 模板。加上 Testing、Risk、How to revert 这几栏。
第四,立一条团队规范:You land it, you own it。谁合进去的,谁负责。
第五,照 Claude Code 团队的做法,安排每周轮值的 on-call,事故复盘时追问一句:本该由哪一层拦住它。
如果你不想自己从零搭,产品也有。据 Anthropic,Code Review for Claude Code 已经对 Team 和 Enterprise 计划正式可用。管理员可以按仓库选 Quick、Standard(默认)或 Deep。正式可用之后,多数审查从约 20 分钟降到了 6–10 分钟。
注意一个边界:它只发意见,不批准,也不阻断 PR。批不批,还是人说了算。
另外,任何计划都可以在本地用 /code-review,还有 /security-review,以及开源的安全审查 GitHub Action。
博客也承认,有一件事还没做到:指标出现异常时,自动收紧审批的熔断机制。
这说明,这套流程不是终点,还在演化。
结语
回到最开始的问题。
代码多了那么多,回滚反而少了,靠的是什么?
不是让人多看,而是让人少看、看准。
机器负责拦,流程负责兜,人负责判断和担责。
Agent 可以替你写代码,但不能替你担责任。
把这句话想清楚,你的团队就知道审查流程该怎么改了。
来源:Anthropic 博客(claude.dev,2026-10-15);Code Review 正式可用公告;Code Review 文档。文中数字均为 Anthropic 自报的内部数据,未经第三方核实;“每周轮值 on-call”对应原文 “Claude Code has a weekly on-call rotation”。