我为何要放弃 Vibe Coding

作者:Lucas Fernandes Aguiar 2025年3月20日

我们都经历过:戴上耳机,音乐震耳欲聋,手指在键盘上飞舞,沉浸在使用你最喜欢的 AI agent 的“心流”之中。 朋友们,这就是 vibe coding。 当你进入状态,似乎毫不费力地产生代码时,就是 vibe coding。

它认为,你可以通过沉浸在编码的感觉中,相信你的直觉并顺应灵感的浪潮来创建出色的软件。 但最近,我意识到至少对我而言,这种感觉...不对劲。 这就像我在观看一个 AI agent 为我编写代码,偶尔插话提出建议或更正,但通常只是观察代码展开而没有完全掌握正在发生的事情的复杂性,这可能会导致以后浪费我的时间。

到底什么是 Vibe Coding?

Vibe coding 与其说是一种方法论,不如说是一种心态。 它优先使用 AI agent 而不是通过结构化的计划和严格的测试真正思考代码实现。 它追求取得进展的多巴胺刺激,通常没有明确的路线图。 它的诱人之处在于它让人感觉富有成效。

为什么 Vibe Coding 对我不起作用

在过去的两个月里,我一直在大量依赖 vibe coding,结果并不理想。 原因如下:

首先,我最初被像 Cline、Roo Code 这样的 AI agent 所吸引,然后尝试了 Cursor editor,因为它们承诺可以增强我的编码流程。 我喜欢拥有一个可以预测我的需求并帮助我更快编写代码的 AI 伙伴的想法。 但是,我很快意识到这种方法正在把我引向歧途。

我意识到的是,使用 AI agent 可以很好地创建你想要的东西的模型,但是在那之后,上下文窗口以及所有内容都会随着时间的推移导致越来越多的返工。 发生这种情况是因为在你的沮丧中,首先想到的是再次向模型解释,甚至不知道已经实现了什么。 这是可以理解的,因为在几分钟内,agent 可能已经编写了数千行代码,而且很明显,这有点疯狂。

我在 vibe coding 中看到的最大问题是:

最终,对于许多任务来说,它似乎并不是一个巨大的节省时间的方法,如果你在没有结构的情况下开始一个项目,那就是这样。 你一开始“节省”的时间,你以后必须用它来重写代码以实现你最初的目的。

另一方面:爱好者的观点

但也有很多好处,因为至少随着时间的推移,我可以更多地了解代码。 在开始这段旅程时,我很清楚,我需要时间和金钱才能创建一个有价值的项目。 一些最初看起来遥不可及的事情,在多次阅读代码试图理解错误后,我已经开始理解语言的结构和语法。 就我而言,我正在将精力集中在学习 Python 上,所以我创建的大部分代码都是用 Python 编写的。 随着时间的推移,我可以更好地理解错误是什么,并且可以推动模型朝着解决方案前进。

Vibe Coding vs. AI Chat vs. 网页搜索

平衡似乎在于在编辑器内使用 tab completion,并使用像 Gemini Code Assist 这样的东西。 我正在使用 Gemini Code Assistant,因为它免费,但我真的很喜欢它。 我在 VS Code 中使用它,并推荐它。 它在创建单元测试方面非常好,并且在运行测试时,它在解决失败方面也相当出色。 因为这是我第一次为我的代码创建单元测试,所以理解正在发生的事情对我来说有点困惑,但是在 Gemini 的帮助下,这似乎是可以实现的。

我尝试过的另一件事是使用像 Roo Code 或 Cline 这样的 agent,但倾向于放弃它。 它们可以持续很长时间并消耗大量 token,但不能保证最终能够正常工作。 因此,问题变成了如何随着时间的推移降低成本。GosuCoder 是我看到测试各种策略以降低成本的人,但主要的瓶颈是 Claude 的使用。 虽然它似乎是唯一一个完全支持所有内容的模型,但它是运行成本最高的模型之一,并且由于它倾向于使用大量的 token,因此对于大多数人来说,成本变得令人望而却步。 如果不是因为这一点,Gemini 2.0 和 DeepSeek V3/Chat 似乎对于大多数编码用途来说真的很好(至少对我而言)。

另一种策略是使用 Open WebUI,我一直很喜欢它。 它有大量的功能和选项,这提供了很大的控制权。 我喜欢为我的不同用例(编码、专利、博士等)使用自定义模型。 它大多很便宜,并且在使用 Gemini 时,它提供了非常好的上下文窗口来编辑大型文件。 它似乎非常好的用例是粘贴文本并重新排列它、删除空格、以表格显示以及诸如此类的事情。 执行自定义提示的能力还可以节省 token 费用。

结论:找到更好的平衡

我并不是说 vibe coding 总是坏的。 让你的创造力流动并探索没有严格约束的想法肯定是有价值的。 但是,我已经了解到,这对我来说不是一种可持续的方法,尤其是在截止日期临近且 API 成本不断增加时。 对我而言,Gemini Code Assist 似乎是一个很好的替代方案,因为它免费并且具有很大的上下文窗口。 此外,Open WebUI 非常棒,因为它具有控制权和可定制性,并且对于日常任务来说,成本相对较低。

对我而言,这似乎是目前最好的平衡,但我倾向于最终为聊天应用程序付费,例如 Perplexity(它具有良好的免费套餐,每月费用为 20 美元),因为在过去的 2 个月中,我每月支付大约 30 美元的 API 使用费。 在将来,也许在本地运行一个模型是有意义的,但我认为随着更多高效模型的推出,API 使用的成本将会降低。

你可以通过我的电子邮件 lucas.fernandes.df@gmail.com 或填写下面的表格与我联系,讨论这个和其他主题。

相关文章