AI风向

【AI风向】145分HN热帖:用AI写代码的正确姿势是"更慢"——三模型交叉审查工作流揭秘

Nolan Lawson(Socket工程师)在HN引发热议:他用Claude子代理+Codex+Cursor Bugbot三个模型同时审查一个PR,假阳性率接近零,但编码速度反而变慢了。这篇文章不是教你用AI"10x提效",而是教你用AI写出值得后来者感谢的代码。

事件回顾:一篇博客引发的认知反转

2026年5月25日,Nolan Lawson在他的博客"Read the Tea Leaves"上发表了一篇题为《Using AI to write better code more slowly》的文章。这篇文章在24小时内登上Hacker News热榜,获得145分和43条评论。

文章的切入点极具颠覆性:当整个行业都在追逐"用AI写代码10倍提速"时,Nolan提出了一个反直觉的主张——AI的真正威力不在于写代码快,而在于找bug狠

他写道:

"很多人似乎坚信AI编程的意义就是用最快速度吐出勉强能跑的代码。打开巨型PR,不经审查就合并。Ship it!但问题在于,LLM非常灵活。你完全可以用它们来写更高质量的代码——只是更慢。"

这句话击中了2026年AI编程工具热潮中最被忽视的盲点:我们花了太多时间讨论如何让AI"更快地写代码",却几乎没人认真研究如何让AI"更好地审查代码"。

核心方法论:三模型交叉审查工作流

Nolan分享的工作流异常简单,却经过实战验证:

步骤一:并行启动三个审查子代理

用 Claude 子代理 + Codex + Cursor Bugbot

分别对同一个 PR 进行审查

每个模型独立运行,上下文不共享

关键细节:必须在所有三个子代理都返回结果之后,才让主代理开始分析。Nolan解释了原因:"否则会有被第一个结果影响的倾向。"

步骤二:按严重程度分级

三个模型各自输出发现的问题,按以下等级分类:

  • Critical(严重):安全漏洞、正确性错误
  • High(高):可能导致生产故障的逻辑缺陷
  • Medium(中):性能问题、边界条件处理不当
  • Low(低):误导性注释、命名不规范

步骤三:主代理交叉验证+排重

三个模型的所有发现汇总后,主代理进行交叉验证——排除假阳性,合并重复发现,产出一份最终审查报告。

Nolan的经验数据是:假阳性率接近零。为什么?因为三个不同模型同时产生同一个幻觉的概率极低。

步骤四:分优先级修复——只修Critical和High

这是最反直觉的一步:不是所有bug都值得修

Nolan的实战策略:

  1. 修完所有Critical和High(由Agent执行,人工指导方案)
  2. 跳过"投入产出比不高"的Medium/Low(比如为了一个窄边缘情况改100行代码)
  3. 如果Critical太多以至于整个方案方向都错了——直接放弃这个PR

为什么"更慢"反而更好?

Nolan给出了三个有说服力的理由:

第一,你在修PR引入之前就存在的bug。 当AI审查发现的问题远超PR本身引入的缺陷时,你会被迫进入"支线任务"——为那些早该修复的历史遗留问题写单元测试、理清逻辑。这不是"浪费时间",而是在系统性改善代码库健康度。

第二,你在学习代码库的失败边界。 Nolan的洞察极为精准:"复杂架构的happy path远不如它的failure modes有趣。在LLM出现之前,我熟悉代码库的方式本来就是:理解假设在何处破裂,然后亲自动手修复它。"

第三,最终产出的代码你能完全讲清楚。 他特别推荐了TypeScript大神Matt Pocock开源的/grill-me skill(一个让AI逐行"拷问"你对代码理解程度的Claude Code技能),并建议"在你能从前到后完整讲清楚整个PR之前,不要合并"。

这不是个例:AI代码审查工具生态正在成型

Nolan的工作流并非孤例。2026年5月,AI代码审查已经从"要不要用"变成了"怎么用好":

  • Matt Pocock的Claude Code Skills(2026年4月底开源):包含18个skill,其中/grill-me/review专门针对代码质量和理解验证,GitHub已获23K+ stars
  • Cursor Bugbot:Cursor编辑器内置的自动bug检测功能,可在PR阶段自动扫描潜在问题
  • GitHub Copilot Code Review:2026年5月GitHub也在强化Agent PR审查能力,官方发布了Agent代码审查指南

Nolan的工作流独特之处在于:他不依赖任何单一工具的审查结果,而是用三个不同模型的"交叉火力"消除假阳性。这是一线工程师在实践中摸索出的方法论,而非产品宣传。

对AI创业者的启示

这个故事对"AI创业内参"的读者有三层价值:

第一层:工具选择上,不要只买一个模型的账。 不同模型有不同"盲区"。Claude擅长逻辑推理但可能遗漏边界条件;Codex对代码模式敏感但会过度自信;Cursor Bugbot专注模式匹配但对业务逻辑理解较弱。三者交叉验证,成本确实更高(多消耗2-3倍token),但质量提升是指数级的。

第二层:定位上,AI编程工具的终极价值可能不在"写"而在"审"。 当前市场上90%的AI编程产品都在卷"代码生成速度",但Nolan的实践证明——一个能找出你代码里隐藏了三年bug的工具,比一个能在30秒内吐出500行模板代码的工具更有商业价值。

第三层:品牌上,"慢工出细活"可能成为差异化标签。 当所有AI编程工具都在宣传"10x productivity"时,如果有人敢说"我们让你写更少但更好的代码",这在认知层面是降维打击。Socket(Nolan所在的公司)本身就是做代码安全的,这个工作流天然契合他们的品牌调性。

怎么开始:你今天就能用的三模型审查方案

第一步:准备你的审查Skill

在Claude Code中创建一个/pr-review skill,核心指令:

同时启动3个子代理审查这个PR:

1. Claude子代理 — 关注逻辑正确性和架构合理性

2. Codex — 关注代码模式、性能和安全

3. Cursor Bugbot — 关注边界条件和常见陷阱

规则:

- 三个子代理必须并行执行,上下文不共享

- 所有结果返回后,主代理交叉验证并排重

- 按Critical/High/Medium/Low分级

- 最终只修复Critical和High

第二步:整合Matt Pocock的/grill-me

从GitHub(github.com/mattpocock/claude-skills)获取这个skill,它会让AI逐行"拷问"你对代码的理解程度。三模型审查帮你找到问题,/grill-me帮你确认你真的理解了这些问题。

第三步:建立"支线任务"习惯

当审查发现历史遗留bug时,不要跳过。创建一个小的子任务专门修复它。Nolan说得对:这会让代码库整体健康度不断提升。

行动建议

  1. 今天就试试:选一个你最近合并的PR,用至少两个不同的AI模型重新审查一遍。看看能发现什么你当初遗漏的问题。
  2. 建立审查Skill库:把Matt Pocock的18个skill作为起点,根据自己的技术栈定制审查规则(比如SQL查询必须有正确的索引、HTML/JSX必须可访问)。
  3. 设定"慢速PR"配额:每周至少有一个PR走完整的三模型审查流程。不需要每个PR都这样(token成本确实高),但关键模块的改动值得。
  4. 追踪指标:记下每次审查发现的bug数量和严重级别。三个月后回头看,你会对自己的代码质量进步有量的认知。

#AI风向 #AI编程 #代码审查 #ClaudeCode #一人公司

本文由AI辅助创作,经人工审核编辑发布