跳到主要内容

永不休眠的 PR 机器人:当代码审查者成为新的速率限制器

· 阅读需 12 分钟
Tian Pan
Software Engineer

二十年来,软件工程的瓶颈一直是写代码。我们优化了 IDE、自动补全、重构工具和各种框架,让"打字"变得更便宜。我们赢了。可现在瓶颈往下游挪了一步:写代码很便宜,读代码却很贵。PR 机器人可以并行启动十次实现尝试,在你早上喝完咖啡之前就把十个 Pull Request 砸到你的仓库里。你的审查者做不到这一点。

AI 辅助的软件交付,速率限制器已经不再是模型的每秒 token 数,而是你每天能投入多少双"人眼"去看 diff。当这些眼睛被压垮,系统不会优雅地降级——它会开始盖橡皮图章。代码带着 LGTM 🚀 被合入,没有人真正读过。一名资深工程师批准了一份由 AI 写、又被另一个 AI 工具审查过的补丁,三周后一个数据不一致的 bug 吃掉了某个人四十个小时的人生。表面上的正确不等于系统层面的正确,绿色的流水线不等于"我理解了"。

这就是 Agentic Engineering 中最不光鲜的那一部分:Agent 完成了它的工作,吞吐量上去了,而代码库的完整性在悄悄退化,因为这个循环中的人类一侧从来没有得到一份容量规划。

瓶颈是搬家了,不是消失了

过去一年的数据讲了一个一致的故事。GitHub 的 Copilot 代码审查已经处理了超过六千万次审查,不到一年增长了大约十倍,平台上每五次代码审查中就有一次以上涉及到 Agent 参与 diff 的某一侧。在引入 AI 协助的代码仓库中,PR 的数量同比上涨大约 29%。Ramp 公开介绍过自己内部的 Inspect Agent,在前端和后端仓库里处理大约 30% 的 PR。研究者们也一致报告,AI 生成代码的速度比人类理解代码的速度快五到七倍。

这些数字并不是在描述一个"审查者变快了"的行业,而是在描述一个"砸到审查者面前的工作越来越大、越来越频繁,而对面那群人的认知吞吐量原地未动"的行业。任何假设"审查速度稳定"的容量规划,规划的都是一个已经不存在的世界。

更诚实的表述是:你手上有一个队列。到达率由一群不会睡觉、不会分心、不会受社交压力影响而放慢的 Agent 决定。服务率由数量固定、注意力有限、上下文切换成本真实存在的人类决定。排队论会告诉你接下来发生什么:利用率攀升,延迟爆炸,然后系统通过悄悄降低质量来找到一个不健康的均衡。在代码审查里,所谓"悄悄降低质量"就是对那些被快速浏览而不是被真正阅读的 diff 盖上 LGTM。

让审查者"用同样的速度去读"只会拉低质量

最自然的反射是逼审查者更快一点。这是错误答案,而且是一个特别危险的错误答案——因为短期内它确实奏效。审查者可以靠跳读加速。他们可以选择相信 linter 和测试已经抓住了重要的东西。他们可以批准 diff,然后继续过日子。吞吐量提升,仪表盘漂亮,代码库开始积累一种工程侧从来没有正式命名过的债务。

Addy Osmani 把它叫做"理解债务"——你的仓库里存在的代码,与组织里任何一个还在岗位上的人真正理解的代码之间的鸿沟。AI 生成的代码特别擅长把这条鸿沟藏起来:语法正确、格式整洁、表面上写得像本地人。所有曾经触发"我可以放心合并"信号的东西都还在。唯一真正退化的,是那个唯一重要的信号:一个有能力的审查者,是否真的为这次改动在系统中的影响建立了心智模型?

另一个失败模式更隐蔽。一旦"盖橡皮图章"成了习惯,它就抽走了代码审查除了抓 bug 之外真正擅长的那件事——它本来是初级工程师通过观察资深工程师"对着代码大声思考"来学习这个代码库的地方。如果资深工程师对一次审查的全部贡献只是一个 emoji,那么初级工程师什么都学不到;五年后你需要一个能做出"模型做不出的判断"的人,你才会发现你从来没有培养出那个人,因为本该用来培养的那段工作早就被 Agent 拿走了。

按人类阅读速度工作的审查者无法跟上以 Agent 生成速度工作的机器人,强行让他们跟上也不会换来安全,只会换来一种"在没人读过的代码库之上"的安全表象。

风险分级自动合并:一条快速通道,一条慢速通道

第一个结构性修复,是别再假装所有 PR 都值得同等程度的人类关注。修一个 markdown 拼写错误,和改一段身份认证中间件,根本不是同一种风险;把两者当作"同等值得人类审查",恰好就是你让那个认证改动得到了和拼写一样的十五秒扫读的原因。

一个合理的风险评分可以从你已有的东西里抽:圈复杂度、改动了多少文件、整体 diff 大小、是否触及安全敏感路径、是否动了 migration 或 schema、新增了测试还是只是调整了已有断言。然后你把 PR 分桶:文档和琐碎修复只走自动检查;单文件、隔离良好、测试覆盖到位的改动,走轻量审查或仅 AI 审查;任何触及共享抽象或敏感表面的改动,则要求真正的人类阅读并签字放行。

加载中…
References:Let's stay in touch and Follow me for more thoughts and updates