AI 编码的「快餐陷阱」
讨论 AI 工具在编码中的滥用风险,强调快速出代码但不思考带来的长期问题。对 AI 辅助开发有一定警示价值。
讨论 AI 工具在编码中的滥用风险,强调快速出代码但不思考带来的长期问题。对 AI 辅助开发有一定警示价值。
更新于 2025 年 9 月 7 日 7:41 UTC
最近,AI 的使用量大幅增长,在软件行业尤其如此。但凡事都有弊端——这里的问题就是过度使用。任何东西一旦过量都不是好事,AI 也不例外。
“Vibe Coding”这个词由 Andrej Karpathy(Eureka Labs 创始人、OpenAI 前创始成员)在 2025 年 2 月 3 日发布的一条推文中提出。他写道:“有一种新的编程方式,我称之为‘vibe coding’。你完全跟着感觉走,拥抱指数级增长,甚至忘记代码本身的存在。”
基于这一点,本文将探讨 Vibe Coding 的弊端,以及如何在使用它时把握平衡。
最近,GitHub 的高级软件工程师 Zen van Riel 在 LinkedIn 上分享了一篇关于 Vibe Coding 阴暗面的帖子。他描述了一名开发者不断尝试用 AI 模型修复一些“简单问题”,但遗憾的是,AI 模型每次都以失败告终。这不仅浪费时间,也浪费金钱(credits)。Zen 巧妙地用快餐作比喻来描述这种现象,这也正是本文标题的由来。
在我看来,这是一个非常精彩的类比,因为它讨论的核心正是平衡。下面,我们来看看快餐和 Vibe Coding 之间有哪些相似之处。
当你发送一个 prompt,几秒钟后就看到输出时,你会感觉很好。它会给你带来一阵多巴胺刺激和成就感,但用不了多久,这些感觉就会全部消退。
当 AI 模型开始犯错,而无论你给出怎样的 prompt,它都无法正常完成任务时,你就会开始觉得:还不如我自己来做。
如果从更宏观的角度来看,事情会开始变得一团糟。
如果你并不清楚自己在构建什么,AI 模型就可能使用任何它认为合适的东西来构建你的应用。有时候,这些选择并不适合你的应用和具体使用场景,而且后续重构起来可能非常困难。
要想提供足够的上下文,说明你正在构建什么以及为什么要这样构建,你就需要了解实现目标所需的可用工具和技术。
一旦尝到甜头,你就不再追问“为什么”或“怎么做到的”。质疑 AI 模型的做法,似乎成了一件事后才会想起的事情。你知道这会带来什么后果吗?它会逐渐削弱你学习和掌握新事物的能力。
这就是为什么我从不建议初学者完全依赖 AI 工具进行 coding/programming。始终要对事情保持质疑,并询问模型为什么要这样做。
AI 工具或许能准确做出你想要的东西,但如果仔细审视代码——前提是你具备一定的编程知识——就会开始发现其中的不一致之处和技术债。
如果你只进行 Vibe Coding,就永远无法专注于编程中真正需要“炙烤”的部分:耐心坐下来,思考眼前的问题。你也永远无法真正学会如何拆解问题,并以渐进的方式解决它。
我对一些软件工程问题最出色的解决方案,往往是在睡觉、散步,或者只是放空思绪四处闲逛时想到的。有时候,你所需要做的,不过是退后一步,让自己放松下来。
如果你是初学者,不要完全依赖 AI。阅读深入的文章,观看真正讲解事物运行原理的 YouTube 视频,并亲自练习、动手构建一些东西。独立完成项目至关重要,它能帮助你摆脱“教程地狱”。
熟悉自己正在构建什么,以及为什么要构建它。人们很容易迷失在 AI 模型生成的内容中,因此,你必须对计划用于构建项目的技术具备足够的了解。
以渐进的方式使用 AI 模型。让 AI 模型完成小幅修改,而不是直接交给它一个复杂任务。你可以自己拆解问题;或者更进一步,先让 AI 模型生成一份计划,研究这份计划,然后再让它执行。这会帮助你学习如何分析和拆解问题。
询问 AI 模型为什么要这样做。AI 模型非常擅长解释事物,因此要善加利用这一优势。
我曾在《AI 生成代码的问题,以及如何应对》一文中,分享过自己使用 Vibe Coding 构建一整套全栈应用的经历。如果你觉得它有帮助,欢迎告诉我。