LLM 最大的缺陷:它不会偷懒
原文: The problem is that LLMs inherently lack the virtue of laziness
Bryan Cantrill 指出 LLM 缺乏「懒惰」这一人类程序员的核心美德,导致 AI 生成的代码倾向于越来越臃肿而非越来越优雅。
核心要点
- LLM 缺乏「懒惰」这一人类程序员的天然约束,不会自发优化代码体积
- 人类因为时间有限,被迫发展出精炼的抽象层;LLM 没有这种压力
- 没有懒惰的约束,LLM 会不断叠加代码层,导致系统臃肿
- 这种特性会催生「虚荣指标」,追求更大而非更好的系统
- 理解这一点有助于在实际开发中更有效地使用 LLM
深度解读
Bryan Cantrill 的这句话戳中了很多人在使用 LLM 编程时的真实感受:你让它写个函数,它给你返回一个完整的框架;你让它解决一个问题,它塞给你一堆「可能用得上」的工具函数。
为什么?核心原因是 LLM 工作起来「零成本」。对人类程序员来说,写代码意味着时间投入、调试成本、未来维护的包袱——所以我们会被迫「偷懒」,用最少的代码解决问题,抽象出可复用的模块。这种「懒惰」不是缺点,反而是工程美学的核心驱动力。
但 LLM 不一样。它的算力成本由别人承担,它不需要在未来维护这段代码,它甚至不理解「这段代码会在六个月后让另一个工程师头疼」意味着什么。所以它会倾向于「给多一点」,反正「给少了」可能会被用户嫌弃不够完整。
这个观察揭示了一个深层趋势:AI 辅助编程正在改变软件工程的激励机制。传统上,代码量和工作量之间存在隐形的约束——你不愿意写太多,因为你自己要承担后果。但 LLM 打破了这个闭环:它产出代码,但不承受代码的重量。
这对工程师意味着什么?第一,你仍然需要那个「偷懒」的人——来告诉 LLM 什么不要做、什么要删掉、什么抽象是多余的。第二,在评估 LLM 生成的代码时,「简洁」应该成为新的质量信号——能两行解决的,不要生成二十行。
Cantrill 说「LLM 突出了人类懒惰的不可或缺」,这句话值得每个 AI 编程时代的开发者记住。懒惰不是无能,它是我们对抗熵增的最后防线。
原文地址: The problem is that LLMs inherently lack the virtue of laziness