夜雨聆风学习资料网

ARTICLE · 1036041

AI 写的代码,谁来审?

AI 写的代码,谁来审?

🛡️ AI 写的代码,谁来审?再派一个 AI?

🌀 你成了「第一个看见这段代码的人」

让 Agent 跑了一晚上,早上点开它提的 PR——几百行改动整整齐齐。你正准备 review,突然意识到一件事:在这几百行代码上,你是第一个真正看过它的人类。

写代码的没看过,提交的没看过,测试是它自己跑的。

「AI 写的代码谁来审」,已经从段子变成了工程问题。而这周,几家头部平台不约而同地交了卷——答案还各不相同。

这是「Agent 审查 Agent」系列的第一篇:这一篇看全行业的答卷——四家平台、四种审查架构;下一篇我们拆开 Codex Guardian 的源码,看一个生产级 AI 审查器的内部到底长什么样。

🧠 传统 code review 的前提,没了

Code review 这套流程能运转二十年,靠的是一个隐含前提:作者懂这段代码,你来检查她。review 的时候有疑问,走两步工位就能问到人;作者写这段代码时的取舍、踩过的坑,都活在她的脑子里。review 本质上是两个人之间关于「为什么这么写」的对账。

Agent 提的 PR 把这个前提连根拔了。没有「作者的脑子」可以对账——代码是模型生成的,commit message 是模型写的,测试是模型跑的。有开发者在美国的论坛上描述这种体验:review 一个 Agent 的 PR,让他感觉自己成了「第一个见到这段代码的人类」。这句话今年被反复引用,因为它戳中了要害:Reviewer 不再是在检查别人的工作,而是在替整个系统补一次「理解」

这不是小众场景。行业讨论已经热起来了——O'Reilly Radar 今年年中发了长文专论 agentic code review,其中引用的数据说:GitHub 平台上 Copilot review 已经跑了超过 6000 万次,一年内涨了 10 倍,平台上每五次 review 就有一次有 agent 参与。方向感已经很清楚:机器审代码的量,正在超过人审的量

问题只剩一个:怎么审,才敢信?

🛡️ Codex 的答案:给系统装一个「纪委」

OpenAI 的 Codex 这周 342 个 commits,发了 rust-v0.154.0。单看数字平平无奇,但里面藏着一段罕见整齐的工程动作:8 个连续提交,把一个叫 Guardian 的审查体系一块一块拼完整,最终收敛进一个 reviewer extension

先看这八个提交都覆盖了什么,再看它意味着什么。

审批要有路由。 Guardian approval routing——审查发现问题之后,审批单走谁那儿、按什么规则分流,先定制度再谈执行。没有路由的审查结论,只会变成聊天记录里的一句「看起来没问题」。

结论要有正式出口。 review reporting 把审查结果变成正式报告。这一步看似平淡,实则是把「审查」从一次对话行为升级为一个有产物的流程环节——有产物,才能被下游消费、被存档、被复盘。

拒绝要记账。 denial accounting——被拒绝的改动要有账本:哪次拒的、为什么拒、拒了之后呢。审查体系最怕的不是「放过了坏代码」,而是「拒绝」这个动作本身变成黑箱:不知道拒过什么,就无法回答「审查到底拦住了多少问题」。

审查者有生老病死。 reviewer lifecycle——审查者本身要管理生命周期:什么时候上岗、什么时候轮换、什么时候退役。一个永不轮换的审查者,就是一个会慢慢固化的单点。

评估要能被机器读。 assessment parsing 把审查产出的评估结构化。这是审查体系能跟自动化流水线对接的前提——人读结论靠自然语言就够了,系统接结论需要格式。

审查者会抽风,所以要能掐断它。 circuit breaker——熔断器。如果审查环节自己出问题(死循环打回、或者无脑放行),系统要能把它断开,而不是让整条流水线陪着它一起疯。

把六件事连起来读,你会发现 Codex 做的不是「加一个 AI review 功能」,而是在设计一套制度:路由、报告、记账、轮换、解析、熔断——每一样都是组织设计语言,不是模型能力语言。

还有个容易被忽略的架构决策:这一切没有写死在 agent loop 里,而是做成了 extension。审查是可插拔的——可以独立演进、独立失效、独立被替换。对比一下很多平台把「自检步骤」硬编码进 prompt 的做法,这是代差。Guardian 这周的全部动作都发生在这个 extension 里,主循环一行没动。

🐶 OpenClaw:让 Agent 修自家的 PR

同一个故事还有另一个主角,戏份更足。

OpenClaw 这周 4208 个 commits,连发 v2026.9.4 和 v2026.6.35 两个版本。主题词是「稳定性与资源占用的系统性收敛」:sessions 复用已编译的 transcript 元数据查询、reminder 维护时减少拉取的数据量、participants 记录时减少数据库写入、cron 在 session pruning 空闲时跳过可用性检查——一组典型的成熟期优化,说明平台进入打磨阶段而非功能堆叠期。

但更值得记一笔的是这个:issue「Autofix: add PR review autofix pipeline + Windows daemon」攒了 2500 条评论后关闭——OpenClaw 把 PR 自动修复流水线真的跑起来了,用自家的 agent 修自家仓库的 PR

注意这里的递进:Codex 的 Guardian 停在「审」,OpenClaw 的 autofix 深入到了「修」。agent 的输出有问题?不用等人来改,再派一个 agent 直接在 PR 上修掉。吃自己的狗粮,吃到 CI 流水线里去了。

有意思的对照组是同一个仓库里的另一个 issue:#80396MEDIA: token 在 fenced code block 内被跳过时的告警),704 条评论,仍然开放。自动化能覆盖的和覆盖不到的,边界清晰可见——流水线修得了格式与回归,修不了那些需要人拍板的产品判断。

👁️ HiClaw:把「人审」做到团队粒度

有意思的地方在于:这周把审查制度往前推的,不止「AI 审 AI」一派。HiClaw 走的是「人审」路线,而且越扎越深。

这周 13 个 commits 里,最重的一条是 team-scoped worker tool approval endpoints for L2 humans#1216)——人类审批通道直接下沉到 team 作用域。翻译一下:哪个团队的 worker 调用工具需要人签字,粒度切到了团队级。「谁签字」不再是一个全局开关,而是权限系统里的正式维度。

配套的另外两条同样值得看。mermaid workflow rendering + task-level inspection API#1230)把工作流渲染成 mermaid 图、支持逐任务检查——人要审,前提是看得见persist durable task continuation state#1183)把任务续跑状态持久化——审出问题打断之后,任务还能从断点接着来,审查才敢真的「叫停」。再加上 Matrix room 加入时给人类成员授予权限等级、read-only skill catalog 端点,HiClaw 的「人机混合团队」定位在这组改动里持续兑现。

🧱 Hermes 与三家 guardrail:制度审 + 硬地板

Hermes-Agent 走的是「制度审」路线。 这周 2401 个 commits、双周内发了 v0.21.2 和 v0.21.3 两个版本。它给 MoA(Mixture-of-Agents)和 approval 写了一整组不变量测试:non-finite temperature 一律拒绝、fanout 溢出要能容忍,最关键的一条——unattended 模式下 pattern-key allowlist 必须生效

翻译成人话:没人值守时,Agent 能做什么不能靠它自觉,得靠白名单硬约束。而且这不是写在文档里的规定,是跑在测试套件里的断言——违反就红灯。

**Hermes 还有一个开放中的热门 issue 值得放进这个语境:「fix(delegation): separate lifecycle from task outcome」(#68499,173 条评论)。委派出去的任务,「过程管得了」和「结果对不对」正在被拆成两件事管——这本身就是审查边界的精细化:管生命周期是一套机制,验结果是另一套,混在一起就会两头都管不好。

再往下还有一层硬性 guardrail,这周密集落地,堪称巧合的合流:

  • • PraisonAI 修掉了「八进制编码的 loopback 地址绕过 spider SSRF 防护」的漏洞(#4966,292 条评论),周内连发 v4.7.7 和 v4.7.8 两个版本;
  • • RocketRide-Server 同周在 tool_http_request 里阻断 SSRF 目的地——与 PraisonAI 同周修同一个攻击面;
  • • ZeroClaw 把 pairing-code 统一为单一策略并强化默认值、所有 outbound HTTP 强制走 runtime proxy、public health 错误信息脱敏(v0.8.5)。

Agent 拿到任意访问 URL 的能力之后,SSRF 成了共性攻击面。审查是软约束,这层是地板——软约束会漏,地板不能漏。

⚖️ 四种审查架构,对齐了看

手机上看多列表格费劲,咱们一家一家过,每家问同样五个问题。

🛡️ Codex Guardian —— AI 审,制度套住

  • • 谁审:AI(reviewer extension)
  • • 审什么:agent 的输出与审批流
  • • 载体:可插拔 extension,主循环零改动
  • • 兜底:circuit breaker 熔断 + reviewer 轮换
  • • 本周动作:8 个连续提交、342 commits

🐶 OpenClaw Autofix —— AI 审,还能动手修

  • • 谁审:AI(自家 agent)
  • • 审什么:自家仓库的 PR
  • • 载体:CI 流水线
  • • 兜底:流水线闭环——审出问题直接派 agent 修掉
  • • 本周动作:2500 条评论的 autofix issue 正式关闭

👁️ HiClaw —— 人审,粒度切到团队

  • • 谁审:人(L2 humans)
  • • 审什么:team 作用域的 worker 工具调用
  • • 载体:scoped approval endpoints
  • • 兜底:权限粒度控制 + 任务断点续跑(审坏了敢叫停)
  • • 本周动作#1216/#1230 落地、13 commits

🧱 Hermes —— 制度审,断言写死

  • • 谁审:制度(pattern-key allowlist + 不变量测试)
  • • 审什么:MoA/approval 的参数与运行模式
  • • 载体:强制测试套件——违反就红灯
  • • 兜底:unattended 模式白名单硬约束
  • • 本周动作:2401 commits、v0.21.3

四种安排不是四选一,更像是叠起来的防御纵深:地板是 guardrail,中间是制度约束,上面一层人来签字,最上面 AI 互相盯。 每一层都假设下面那层会出问题。

🤖 AI 审 AI 的死穴:相关性盲区

读到这儿你可能会问:让 AI 审 AI,不就是个闭环自嗨吗?

这正是行业讨论里最尖锐的质疑。O'Reilly 那篇文章的警告值得原样转述:当一个 agent 写代码、另一个 review、第三个做裁决时,你得到的是一个由模型组成的闭环,而它们有着大体重相关的盲区——尤其当它们来自同一个模型家族时,会在相同的地方、以同样的自信,达成同样的错误共识。

Codex 的架构选择恰好是对这个质疑的回应。注意 Guardian 体系里的两个细节:reviewer 有 lifecycle(轮换),有 circuit breaker(熔断)。制度设计者从一开始就没假设「审查者永远正确」。 审查者会被换掉、会被断开、拒绝会有账目可查——这些机制的存在本身,就是对「AI 审 AI 可能系统性失灵」的承认和预案。

一线团队的实践数据也在验证这个判断。有开发者分享了半年 agentic code review 的复盘:最初部署时误报率高得离谱——约 30% 的审查意见是幻觉,引用不存在的函数、建议会破坏下游服务的改动,花在分拣 agent 评论上的时间比原来人审还多,净效果是负的生产力。迭代几个月后的可用解法包括:给审查意见加置信度过滤(滤掉低置信评论,噪音直接少六成)、给 agent 喂系统架构背景(它理解了「为什么这么设计」,审查质量大幅提升)、以及刻意选用与写码 agent 不同源的第二家模型做独立审查——还是为了打破相关性盲区。

把这些实践和 Codex 的制度设计对着看,会发现它们在补同一件事的两个面:实践者在调「单个审查者的质量」,平台在建「审查体系的约束」。 置信度过滤对应 assessment parsing(让结论可分拣),双模型交叉对应 reviewer lifecycle(让审查者可轮换),而熔断和拒绝记账,是平台上才做得到的兜底。

换句话说,成熟的方案不是「用 AI 保证 AI 的质量」这种公关叙事,而是:AI 审 AI 可以是效率放大器,但必须被制度套住——可轮换、可熔断、可审计,并且永远保留人审通道和硬性 guardrail 兜底。

🧩 一道算术题:产出在提速,审查在掉队

Agent 接的活越长、越自主,这道算术就越刺眼:generation 的吞吐量每周都在涨,review 的吞吐量还是人的速度。

这周周报最醒目的跨项目信号是「正确性攻坚」:OpenClaw 收敛资源占用、Hermes 封死 cron 调度的边界条件(早触发、手工触发、时钟偏移、未来实例污染逐一修复)、Reasonix 重写会话 turn 权威模型——头部平台集体进入「跑七天之后还对不对」的阶段。

活干得越长、越自主,人类盯着每一行输出的可能性就越低,审查环节的自动化和制度化就越不是可选项。行业叙事也早把这步棋画出来了——Anthropic 今年发布的 agentic coding 趋势报告把「长时自主运行的 agent 团队」列为核心预测,工程师的角色被明确定义为转向「编排、质量评估与战略分解」。审查自动化,正是「质量评估」这条角色转型线上的第一块硬骨头。

这是个简单的算术:review 吞吐量跟不上 generation 吞吐量的时候,要么审查自动化,要么质量裸奔。

AllClaws 的周报把「agent 审查 agent」列为上周五大新兴范式之外的新信号,建议纳入 Q4-8 观察清单。从这周的密度看——Codex 架构化落地、OpenClaw 流水线闭环、行业讨论升温——它大概率是下一个被普遍抄走的架构模式。

🎯 选型时能直接问的四个问题

如果你的团队在评估 Agent 平台(或者自研),这周的变化可以换成四个面试题:

① 审查环节是可插拔的还是写死的? 问清楚 code review / 自检是 extension 架构还是硬编码在 prompt 里。前者意味着审查能力可以独立演进、独立替换——Guardian 的八个提交全部发生在一个 extension 里,主循环一行没动。

② 拒绝有没有记账,审查者有没有熔断? denial accounting 和 circuit breaker 这两个词可以直接甩出去。没有记账,你说不清审查拦住了什么;没有熔断,AI 审查环节自己就是单点故障。

③ 人审通道在什么粒度? session 级、team 级还是 tool 级?HiClaw 把审批下沉到 team 作用域的动作说明,「谁签字」正在变成权限系统的正式维度。粒度太粗,人审要么形同虚设、要么变成瓶颈。

④ 没人值守时靠什么? unattended 模式下是白名单硬约束,还是「相信模型的判断」?Hermes 用 pattern-key allowlist + 不变量测试给出了参照答案:制度不写在文档里,写在断言里。

上半场大家卷 Agent 能不能把活干完;这周开始,赛点明显挪到了**「Agent 干的活,你敢不敢不看就合入」**。谁把审查这块补齐,谁才真正拿到了长时任务这场游戏的门票。


🔗 资源

  • • Codex(Guardian reviewer extension): https://github.com/openai/codex
  • • OpenClaw(PR autofix pipeline): https://github.com/openclaw/openclaw
  • • HiClaw(team-scoped human approval): https://github.com/agentscope-ai/HiClaw
  • • Hermes-Agent(approval 不变量测试): https://github.com/NousResearch/hermes-agent
  • • PraisonAI(SSRF 修复): https://github.com/MervinPraison/PraisonAI
  • • 行业讨论:O'Reilly Radar「Agentic Code Review」(2026-06)
  • • 本周数据来源:AllClaws submodule 周报 2026-09-15(docs/reports/weekly/)

💬 AllClaws 持续跟踪 35 个 AI Agent 平台,每周发布 submodule 周报与生态洞察。这是「Agent 审查 Agent」系列第 1 篇——下一篇拆 Codex Guardian 源码,关注不迷路。

相关学习资料