文章
我们不再审查代码,转而开始验证意图了解在 AI 生成代码的工作流中,验证意图如何比审查代码更高效。学习这套改变了我们流程的框架。

Ankit Jain
·2026年10月20日·7 分钟阅读
作者:Ankit Jain,为 AI Native DevCon 撰写
当你的团队合并的拉取请求数量是一年前的四倍,而其中几乎没有一行代码是人手敲出来的,你会怎么做?
这就是我的团队如今的处境。我们交付的几乎所有内容都是 AI 生成、人类辅助的,而且数量还在不断攀升。我们一开始做了最显而易见的事:尝试通过使用 AI 审查工具或增加更严格的检查清单来扩展代码审查。这些都没有奏效。
真正奏效的是彻底放弃逐行阅读代码,转而在意图周围构建一层验证机制。
为什么为 AI 生成代码扩展代码审查没有奏效
今年早些时候,我为 Latent Space 写了 《如何终结代码审查》 。这篇文章迅速走红,此后我一直没停止谈论 AI 代码审查的瓶颈问题。
这个问题反复出现,是因为它的成因不会消失。在四倍的数量下,审查成了交付中最慢的一环。
大多数使用 AI 编码工具的团队都会遇到代码审查瓶颈,并试图用增加审查者、添加 AI 代码审查工具或对代码生成施加更严格规则等组合手段来解决。但真正的问题在于被审查的是什么。一份 diff 告诉你改了什么,却不会告诉你这次改动本应做什么。
本文介绍对我们影响最大的两项实践,以及它们最终归入的框架。
作为基线,我们现在维护一项共享技能,我们称之为“offer-skill”,以发起它的那位工程师命名。它后来成了所有人用来理解代码改动的技能。
审查意图,而非 diff
传统观点认为,人的判断应放在最后。由某人阅读代码并决定它看起来是否正确。
对于 AI 生成的代码,这会让审查者陷入困境。他们读 400 行代码,试图逆向推断这次改动本应做什么。工单描述只有在团队有维护好工单的纪律时才有帮助。现实是,大多数工单写得都很糟糕,实际的意图和行为会偏离工单。
所以我们把人的判断移到了最前面。在生成任何一行代码之前,我们先审查意图:验收标准、约束条件和边界情况。这正是资深工程师的注意力最有价值的地方,因为在这个阶段,一个错误的想法修正起来的代价几乎为零。
然后我们把这份意图当作一份可以验证的契约。每条标准都会得到一个确定性的结论,并附上证据。
现在一次审查看起来不一样了。审查者不再滚动浏览 500 行 AI 生成的 diff,而是查看五条标准的结论,以及展示实际发生情况的截图和请求追踪。
这对开发者意味着什么?作者和审查者在合并之前都清楚代码本应做什么。而且,如果你无法在改动存在之前说清它应该做什么,事后阅读它也不会告诉你。
挖掘你的 PR 评论,它们是等待成形的不变量
每个团队都有一些标准,它们存在于资深工程师的头脑中,靠一条又一条审查评论来执行。
翻看你的审查历史,你会看到同样的评论被一遍又一遍地写出来。那些就是藏在纯文本里的团队标准。在四倍的 PR 数量下,手工重复这些评论本身就成了一种瓶颈。
所以我们回溯了 X 上我们反复出现的审查评论,把它们转化为不变量:由机器在每次改动时强制执行的可复用规则。
好的不变量是平淡而具体的。例如:
- 任何涉及货币的内容都使用 Money 类型。
- 禁止直接写入 users 表。
- 只使用结构化日志器,不用 print 语句。
并非每条评论都符合条件。
如果你想尝试,从你最近 1,000 条审查评论开始。你重复最多的那 20 条就是你的第一批不变量。你不是在发明规则,而是在写下你已经拥有的规则。
一旦某项标准成为不变量,就再也不用有人去指出它了。
要记住,这一转变不会一夜之间发生。第一个月很可能感觉团队在做双份工作:既审查代码,又构建不变量。要和团队设定明确的预期:登记册的建立需要时间。到了第二个月,登记册能拦住足够多的问题,审查就会缩减。到了第三个月,审查者读的是意图,而不是代码。
代码审查没有消失,只是改变了形态
我们仍然在审查。改变的是审查的目的。上述两项实践是我现在用来描述它的五步形态的一部分:
- 争论。 让各个智能体在拉取请求存在之前就互相挑战彼此的方案,此时改变方向代价最低。
- 记录。 记录意图和验收标准,并把它们放到拉取请求上。
- 固化。 把你团队反复重复的评论转化为不变量。
- 辩论。 把人工审查时间花在决策上,而不是 diff 上。
- 归属。 确定谁拥有验证代码的规则。
对我们来说,结果是代码审查不再是瓶颈。资深工程师不再阅读 500 行 AI 生成的 diff。
简而言之
- 把 diff 审查扩展到与 AI 产出相匹配的程度是行不通的。
- 在代码生成之前审查意图,并用证据验证每条标准。
- 把你反复出现的审查评论转化为不变量。
- 让人专注于决策以及规则的所有权。
当 AI 编写你大部分代码时,人的审查最好花在这次改动应该做什么上。我将在 AI Native DevCon 上完整讲解这套工作流,并现场演示不变量定义和前后对比指标。
复制并分享

Ankit Jain
Ankit Jain 是 Aviator 的创始人兼 CEO。Aviator 是一个开发者生产力平台,现代工程团队用它来大规模交付 AI 生成的代码——不再受困于审查瓶颈、构建失败或脆弱的部署。 他还领导着 The Hangar——一个由资深工程师和工程负责人组成、专注于开发者体验的社区,以及 Xoogler——前谷歌员工校友网络。
1 篇帖子
阅读
·
0%
本文内容
为什么为 AI 生成的代码扩展代码审查行不通审查意图,而不是 diff挖掘你的 PR 评论,它们是等待发生的不变量代码审查没有消失,只是改变了形态复制并分享

Ankit Jain
Ankit Jain 是 Aviator 的创始人兼 CEO。Aviator 是一个开发者生产力平台,现代工程团队用它来大规模交付 AI 生成的代码——不再受困于审查瓶颈、构建失败或脆弱的部署。 他还领导着 The Hangar——一个由资深工程师和工程负责人组成、专注于开发者体验的社区,以及 Xoogler——前谷歌员工校友网络。
1 篇帖子
$?/$