Anthropic 公开了 Claude Code 团队内部的代码审查机制。该团队称,Claude 编写了 Claude Code 自身约 90% 的代码。面对快速增加的代码产量,团队没有取消人工审查,而是把大部分逐行阅读交给自动化,并将人工时间集中用于风险更高、机器难以判断的问题。
这一调整有明确指标。从 6 月到 9 月,Claude Code 代码库合并的 pull request 超过原来两倍,需要回滚的比例下降超过 40%。
逐行审查难以跟上代理写代码的速度
Anthropic 观察到,代理写代码后,变更数量迅速增加。在 Anthropic 的 monorepo 中,每天落地的变更从 5 月的约 2,500 个增长到 9 月的超过 30,000 个。Claude Code 位于独立仓库,也承受着类似压力。在高频率交付下,人工逐行审查已经很难维持。
团队因此重新定义审查问题:不再只问“有没有人读过代码”,而是问“这次变更可能出什么问题,哪项检查更适合发现它”。审查也从 PR 末端的关口,变成持续运行的检查。多数变更在人查看前,已经至少被 Claude 审查并修复一次。
六层检查:人工审批按风险分级
Claude Code 的审查流程分为多层。一个典型变更从工程师本地环境或 Claude 会话产生后,会经过提交前验证、必选 CI、Claude 代码审查、安全审查、基于风险的人工批准、合并队列,以及合并后的开关与回滚。
- 提交前:Claude 运行测试、构建和 linter,并展示输出结果;另一个代理在全新上下文中审查 diff。
- 每个 PR:CI 检查 lint、类型、跨平台测试、构建和打包,失败会阻止合并。
- AI 审查:多个代理并行寻找 bug,验证者对发现投票,保留的问题按严重程度排序。
- 安全审查:单独进行;代码审查或安全审查中未关闭的问题都会阻止合并。
- 人工批准:分类器设定级别,可为无人、一人或两人批准;部分路径始终需要人工。
- 合并后:进入 merge queue,在最新 main 分支上再次检查;通过开关、内部试用和逐步发布降低风险。
团队的目标不是让所有 PR 都经过多人审批,而是让多数 PR 在最多一个人在环的情况下合并,这个人也可以是作者,同时不增加回滚或事故。衡量指标包括每个 PR 的人工批准数(中位数和 95 分位)、人工评论数、等待人工的时间;回滚率和事故率作为护栏。
快速撤销是审查体系的兜底
Anthropic 认为,人工成本不只来自审查,也来自修复坏代码造成的问题。如果只减少审查时间,却增加修复时间,并没有真正节省人力。因此,团队加强了发布后的撤销能力。
新功能通常先放在开关后面,由 Anthropic 员工内部使用,再逐步推向更多用户。latest 渠道先收到更新,stable 渠道随后。作者和值班人员持续观察,功能开关可以快速关闭,损坏的构建会被回滚。回滚可以由自动化完成,也可以由人决定,并按风险和恢复情况分级。
对 AI 编码团队的启示
这套流程表明,当 AI 代理大量产出代码时,代码审查并没有消失,而是被重新拆分:机器承担重复验证、并行查找问题和快速执行测试,人负责风险判断、关键路径审批和事故恢复。快速回滚与灰度发布则承接漏网问题。
对引入 AI 编码工具的团队来说,Anthropic 的做法提供了一个现实路径:先建立可运行的验证、按风险分级的审批和快速撤销机制,再减少人工逐行阅读。否则,代码产量上升可能只是把问题从审查阶段转移到修复阶段。
原创文章,作者:点点,如若转载,请注明出处:https://www.dian8dian.com/ai-xie-le-jiu-cheng-dai-ma-hou-ren-gong-shen-zha-gai-kan