“跟着感觉走”的 Vibe Code,最后就是创造了一堆没人看得懂的祖传代码

尽管存在广泛的困惑,但 Andrej Karpathy创造了“vibe coding”这个词,指的是一种 AI 辅助编程,在这种状态下你“甚至会忘记代码的存在”

祖传代码

对于那些没人能看懂的代码,我们已经有了一个词来形容:祖传代码 (legacy code)。

祖传代码普遍遭人嫌弃,而且理由很充分。但为什么呢?代码不是就在那儿吗?你难道不能从代码本身搞懂它吗?

大错特错。没人能看懂的代码就是技术债。要花大量时间去理解不熟悉的代码,才能进行调试,更不用说在不引入新 bug 的情况下添加新功能了。

编程的本质是理论构建,而不是生产一行行代码。这一点我们都心知肚明。所以我们才会嘲笑那些试图用代码行数来衡量开发者生产力的商业人士。

当你“跟着感觉走”编程时,你正在以大语言模型(LLM)吐出代码的速度疯狂地累积技术债。这就是为什么“vibe coding”非常适合原型开发和一次性项目:只有当你需要维护它时,它才会成为祖传代码!

原型和一次性代码

我非常乐意地使用“vibe coding”开发了一些应用:

  • 计算每周增长率
  • 给《纽约时报》的 Connections 游戏评分
  • 向我的未婚妻求婚

我不需要持续开发这些应用,所以我看不懂它们的代码也没关系。这些应用也非常小,这意味着即使我将来某个时候需要深入研究代码,我所欠下的技术债也不多。我用“vibe coding”开发这些应用的速度,比我自己动手构建要快得多,而且过程充满乐趣。

“跟着感觉走”编程是一个光谱

“跟着感觉走”编程(Vibe coding)存在于一个光谱之上,其程度取决于你对代码的理解程度。你理解得越多,“跟着感觉走”的成分就越少。

image 仅仅因为你是一名工程师,要求开发一个带有持久化数据库的网页应用,你就已经比一个非程序员“跟着感觉走”的程度要低了。非程序员可能只是想要一个“应用”,却不了解网页应用和原生应用的“区别”,也不知道持久化数据存储是如何工作的。

把信用卡给一个孩子

最糟糕的情况,莫过于让一个非程序员“跟着感觉走”,去编写一个他们打算长期维护的大型项目。这就像把信用卡给一个孩子,却没有先向他解释什么是债务。

可以想象,第一阶段是欣喜若狂的。我只要在商店里挥舞这张小小的塑料卡片,就能拿走任何我想要的东西!

这很像——AI 现在什么都能做了!没人需要学编程了!快看它刚刚为我创造了什么!

但等上一个月,你就会收到信用卡账单。我真的需要买所有那些东西吗?我该如何摆脱这个困境?

对于“跟着感觉走”的程序员来说,情况是相似的。我的代码坏了。所有这些文件和文件夹到底是干什么的?我该怎么才能修好它?我花在“vibe coding”上的 400 美元能退款吗?

如果你看不懂代码,你唯一的办法就是请求 AI 帮你修复它,这就像用一张新的信用卡去偿还另一张卡的债务。

2025 年,如何用 AI 进行严肃的编程

如果你在 2025 年要构建一个你打算维护的严肃项目,Andrej 的看法是正确的:

你需要紧紧地拴住这个新来的、过度热情的实习生。他像个博学的天才,拥有百科全书般的软件知识,但同时也总是对你胡说八道,勇气有余,却对优秀代码毫无品味。重点在于,你要慢下来、保持戒备、小心谨慎、甚至有些偏执,并且总是抓住机会在实践中学习,而不是把任务甩手出去。— Andrej Karpathy,twitter

我们如何为 AI 构建工具

在 Val Town,我们已经以数十种方式将 AI 融入我们的产品中。Townie是我们的 AI 智能体,它能自主地读取和编写代码、运行代码、查看日志,并不断迭代直到完成任务。

Townie是一个很棒的“vibe coding”工具。我衷心向那些理解其中利弊的人推荐它。我自己有时会用它来“跟着感觉走”编程。其他时候,我会紧紧地拴住它,让它对我关心的项目进行精准的修改。这两种方式都既有趣又有用。

AI 编程的变化如此之快,很难预测明天会带来什么,但我相信,理论构建仍将是构建复杂软件活动的核心。我们的技术专长仍然至关重要!而且我乐观地认为,AI 将继续以令人惊喜的方式改善编程。

但是,如果你认识哪个非程序员今天正花费数千美元,用“vibe coding”的方式构建他们价值十亿美元的应用创意,请把这篇文章发给他们。“Vibe coding”不会带他们到达想去的地方。他们将不得不学会用自己的肉眼去阅读代码😱,并且要明白,有时候从头开始构建一个编写良好的代码库,比修复一个没人能看懂的祖传代码要容易得多。

这篇文章是我上个月一次演讲的精髓提炼,演讲主题是《编程中人脑扮演的角色》。感谢我的未婚妻 Emily 几个月来听我喋喋不休地谈论这些话题,并为我拍摄了演讲视频。感谢 Malte 和 Rippling 主办了这次演讲。

感谢 Geoffrey Litt、Jimmy Koppel、Max McDonnell、Tom MacWright、Charmaine Lee、Brent Jackson 和 Dan Shipper 对这篇文章提出的反馈。感谢 Simon Willison 和 Andrej Karpathy 在所有 AI 的炒作和唱衰声中,作为理性的声音存在。http://googleusercontent.com/youtube_content/0