AI 编码新玩法:慢工出细活,提升代码质量!
什么是利用 AI 更慢地编写优质代码?
诺兰·劳森于 2026 年 5 月 25 日发布相关内容。很多人认为使用 AI 编码是为了快速编写低质量代码,随意拼凑代码、发起大量拉取请求(PR)且未经审查就合并发布。但实际上,大语言模型(LLM)很灵活,也可以用它们更慢地编写高质量代码,效果显著。
LLM 在查找代码漏洞方面表现如何?
Mythos 让我们看到 LLM 智能体在查找代码漏洞上很出色,让它们多次审查代码库,会找出大量漏洞。非 Mythos 模型同样如此,Anthropic 和 OpenAI 最新的公开模型能在未经仔细审查的代码库中找出大量漏洞。不过,问题在于对漏洞进行优先级排序和验证。
定制的 Claude 技能是怎样的?
根据一篇文章的核心观点,定制了一个 Claude 技能,该观点认为在 PR 审查中使用的模型越多、种类越丰富,就越不容易出现幻觉或误报的漏洞。这个技能大致内容为:运行一个 Claude 子智能体、Codex 和 Cursor Bugbot,查找此 PR 中的漏洞,并按照严重程度(关键、高、中、低)进行排序。完成后,审查它们的发现,自行研究以排除误报,并撰写最终报告。还可添加自己对“漏洞”的定义,如包含 KISS 原则和 DRY 原则、编写可访问的 HTML/JSX、为 SQL 查询使用适当的索引等规定。该技能总能在 PR 中发现大量漏洞,误报率几乎为零,发现的漏洞涵盖关键的安全或正确性漏洞、中等性能漏洞以及低级漏洞等。
工作流程是怎样的?
通常工作流程如下:让智能体在指导下修复所有关键和高等级漏洞,重复此过程直到没有关键和高等级漏洞;对于修复成本过高但收益不大的高等级或中等等级漏洞,选择跳过;如果 PR 中存在大量关键漏洞,意识到整个方案存在问题,就放弃该 PR。使用这种技术时,开发速度不一定会提高,审查过程常发现预先存在的漏洞,会陷入支线任务,编写单元测试并修复早于该 PR 存在的细微缺陷,这与大多数人想象的“10 倍生产力”的粗制滥造式开发风格相反,但令人满足。
这种编码方式有什么好处?
这是提升代码库整体健康状况的好方法,还能让人了解代码库中一些不为人知的角落。在 LLM 出现之前,也是通过了解假设失效的地方并动手修复来熟悉代码库。
对开发者有什么建议?
如果对 AI 编码的作用持怀疑态度,这篇文章可能无法说服。但如果是使用智能体编写数百行代码的 PR 却对代码本身理解甚少的开发者,建议放慢速度,尝试这种更慢的“氛围编码”方式,询问智能体 PR 的工作原理和可能出现故障的地方,必要时让它用 Mermaid 图表编写 Markdown 文档,使用 Matt Pocock 的 `/grill - me` 技能,直到完全理解整个 PR。从代码行数看可能不会更“高效”,可能消耗大量令牌,还可能发现整个计划从一开始就是错误的,但这种编码方式是 LLM 出现之前编程方式的升级版,注重质量,专注于为下一位开发者改善代码。
相关回应有哪些?
heckj 于 2026 年 5 月 25 日上午 9:32 发布,称同样的多次审查技术在各种审查中都有效,在编辑语法、标点、拼写等方面的审查中也会使用,意识到在每次审查之间清除上下文有帮助,开始将代码审查改为“5 - 7 种不同视角”并行进行,查找不同类型的问题,然后整理结果并大致排序。诺兰·劳森于 2026 年 5 月 25 日上午 10:07 回复称,清除上下文确实有帮助,这也是审查技能规定主智能体在所有 3 个子智能体返回结果之前不进行原始研究的原因之一,还表示当 PR 涉及多个领域(前端、后端、基础设施等)时,将审查者分成不同类型可能有帮助。
