AI 粗制滥造未必是未来
文章摘要
Greptile 联合创始人 Soohoon Choi 撰文探讨了一个在工程社区中广受关注的问题:AI 生成的”slop”(粗制滥造的低质量代码)是否代表了软件开发的未来?他的核心论点是:经济激励将推动 AI 模型生成高质量代码,而非劣质代码。
文章首先描述了当前现状。”Slop”一词由 Simon Willison 帮助推广,指的是 AI 无脑生成的低质量内容泛滥于互联网。在编程领域,情况同样令人担忧。根据 Greptile 2025 年 AI 编码报告,每位开发者的代码行数从 4,450 增长到 7,839,PR 中位数大小增加了 33%(从 57 行变为 76 行),单个文件变更增大了 20%。开发者正在用 AI 工具大量输出代码。供应商状态页面的分析显示,自 2022 年以来宕机事件持续增加,暗示软件正变得更加脆弱。连 Andrej Karpathy 也坦言:”AI agent 会膨胀抽象、代码美感差、非常容易复制粘贴代码块,很混乱——但我已经不太抗拒了。”
为什么”好代码”终将胜出? 作者引用 John Ousterhout 的《A Philosophy of Software Design》,好代码简单易懂、容易修改,坏代码则相反。这个原则同样适用于 AI agent。关键在于 token 经济学:好代码需要更少的上下文来理解,需要更少的代码行来实现变更,这意味着更少的 token 消耗和计算成本。复杂代码无法规模化——它需要大量 token 和算力,随着代码库增长成本呈指数级增加。
作者认为,当前我们处于 AI 编码采纳的早期阶段,重点还在让 AI “能用起来”,而非优化其能力。这是一个特别混乱的创新阶段。一旦 AI 代码生成变得普遍,竞争压力将迫使 AI 模型生成更好的代码——因为帮助开发者最快地交付可靠功能的模型才会赢得市场,而这需要简洁、可维护的代码。市场长期不会奖励 slop。
HN 评论精华
开发者两大阵营之争(seamossfet): 一条高赞评论将开发者分为两类——把代码视为产品交付手段的人,和把代码视为手艺本身的人。他断言”没有人根据代码质量做购买决策”。这引发了大量反驳。
质量的隐性价值(nocman): 强烈反对上述观点,认为用户虽然不直接看代码,但他们关心软件的可靠性、性能和质量。代码质量对产品寿命越来越重要。B2B 软件(SAP、Salesforce、Jira)质量差是因为购买者和使用者脱节,而非市场不在乎质量。
“好代码”的定义争议(ttamslam): 区分了”美学代码”(格式、抽象)和”功能代码”(满足需求无 bug)。终端用户只关心外部行为。但反驳者指出,好的抽象直接提升维护速度和修 bug 效率。
市场现实检验(mbesto): 用 Salesforce、SAP、Jira 这些既赚钱又臭名昭著的软件来质疑市场是否真的奖励质量。但有人反驳:最大最赚钱的公司实际上非常强调代码质量,盈利能力与规模化可靠性正相关。
代码半衰期(nostrademons): 分享 Google 经验——大多数代码的半衰期约 1 年就会被删除或替换。悖论在于你无法预测哪些代码会长期存在,而坏代码因为难以替换反而存活更久。
安全隐患(jmyeet): 警告 AI 代码广泛使用将是安全噩梦。企业尽职调查会评估代码质量和安全实践,AI 生成的代码面临 prompt 注入漏洞、凭证泄露等审计难题。
复杂度悬崖(bloppe): 指出产品可能在技术债务积累到不可逆转时”坠落复杂度悬崖”。AI 生成的代码库可能在几年内就撞上这个陷阱。
可及性的反面(carlosjobim): 提出反对意见——不完美的电子表格方案比没有方案要好。AI “slop”让资源匮乏的组织能获得之前被手艺标准挡在门外的软件能力。类比食物:不完美的饭菜总比饿肚子强。
核心共识: 大多数评论者拒绝”手艺 vs 产品”的二元对立框架,认为关注细节和交付产品并不矛盾。规模和复杂度越高,代码质量越关键。