代码审查变得昂贵,重写变得廉价
摘要
LLMs 通过生成过度设计的代码,使代码审查变得更加昂贵,但重写现在变得廉价,从而将开发者的工作转向更多的前期规划和迭代简化。
暂无内容
查看缓存全文
缓存时间: 2026/06/16 03:02
# 审查变得昂贵,重写变得廉价
来源:http://ishmeetbindra.com/posts/reviews-have-become-expensive-rewrites-have-become-cheap/
LLM 并不懒惰。它们不会因为一个更简单的解决方案似乎足够好就走捷径。如果它们知道如何彻底解决问题,它们就会这么做。
LLM 默认选择自己构建,而不是直接去采购。不是因为它不知道现有的库——它常常会提到它们——而是因为对 LLM 来说,写两百行实现代码和写两行 import 语句,认知成本是一样的。它没有习惯去走最短路径。对模型而言,最短路径就是完整地实现一遍。
因此,审查 AI 生成的代码变得更昂贵了。你正在阅读一段技术上正确但过度设计的代码,而且你必须决定是接受这种复杂性还是提出反对。这个决定需要时间。在审查评论中说明理由也需要时间。而且因为同样的问题反复出现,你总得一次又一次地重复讨论。
另一方面,重写现在变得廉价了。如果我在自己的工作或别人的 PR 中识别出过于复杂的代码,我会让 AI 简化它、改用某个库、或者砍掉一个当前不需要的功能。重写通常能更快搞定。制造了问题的模型,也是解决问题最快的方式。
经济账变了。现在审查是昂贵的步骤。重写反而不是。
我的工作方式因此重新组织了。我把更多时间花在前期的规划上——决定什么东西应该存在、我们使用哪些库、实际范围是什么——因为这是我在代码被写出来之前就能遏制复杂性的地方。然后我实现、部署到测试环境、看看实际有什么、识别出哪些东西不必要存在或者本可以用十行代码而非一百行来实现。然后我重写那个部分。
如果审查时觉得某段代码太复杂,之后再重写它不再像以前那样是沉没成本了。这改变了我提出反对的力度。标记一个问题并反复迭代的成本降低了。而放任其通过的代价,依然如故。
相似文章
代码审查的终结:编码代理取代人工审查
本文认为,基于LLM的编码代理已达到能力临界点,使人工代码审查变得多余,并提议用代理驱动的验证取代人工审查,以降低成本和延迟。
@bcherny:LLM 仍然会产生 bug,但这些 bug 与过去不同。差一错误变少了,更多的是关于 s…
一位开发者观察到,LLM 生成的 bug 已从差一错误转向更高层次的设计和上下文问题,并建议使用对抗性代码审查(例如 Claude 的 /code-review)来捕获这些 bug。
@trq212: 这应该是对你的软件工程模型的一个重大更新:重写可以变得好、便宜且快速,当然大多数…
一条推文主张软件重写可以变得好、便宜且快速,尤其是随着AI模型在填补测试和验证缺口方面的改进。
审查AI代码并非一个站得住脚的论点(2025)
文章认为,要求全面审查代码会抵消LLM编码助手所谓的生产力提升,因为实证研究显示它们并不能帮助写出更好或更快的代码,而且支持者未能解决固有的错误率问题。
编码模型做得太多了
一篇博客文章探讨“过度编辑”问题:编码大语言模型在修复简单错误时改写了过多代码,提出衡量指标与训练方法以鼓励最小化、忠实于原意的编辑。