返回

文章详情

如何停止Vibe编码?

Hacker News2026年7月24日 10:12

当Claude Code在2025年12月底爆炸性流行时,大量软件开发人员迅速转向使用编码代理,作为其主要开发工作流程的一部分。Andrej Karpathy在2026年3月的No Priors播客中表示:我想自去年12月以来我大概没有输入过一行代码,这确实是一个极大的变化。我认为普通人实际上不会意识到这种变化发生了,也不知道它有多么戏剧性。我相信他。很多人说这只是营销或炒作,但作为一个自去年以来也没有写过一行代码的人,我认为他说的实话。至于这是否好或坏,取决于你的角度,但毫无疑问,我们进入了软件工程的新纪元。尽管代理的快速采用,但从业人员以及观察其输出的人之间,普遍存在着焦虑:这股低质量代码的潮流会结束吗?我们是否为了方便而自我毁灭?我们该如何阻止这一切? Grady Booch,UML的共同创始人,实际上争辩认为我们正在经历软件工程的第三个黄金时代:第一个,从20世纪40年代末到70年代,是算法的时代。高级语言和编译器抽象了机器。第二个,从70年代到2000年代,是面向对象抽象的时代。第三个,从2000年左右开始,是系统的时代:库、平台和API抽象了整个子系统。Booch注意到,这个第三个时代并不是由AI开始的,只是被加速了。但他还将AI编码代理与Grace Hopper时代编译器的出现进行了比较,这一比较非常重要。编译器抽象了机器。代理抽象了代码本身。我们现在第一次能够直接从意图生成代码。缺乏这种能力是导致过去模型驱动开发死亡的原因(你可以对UML有自己的看法,但也许是时候考虑以某种形式将MDD带回来)。实际上,随着我们向意图抽象的上升,我们失去了许多使与代码工作成为可靠过程的工具和方法。如果我们能够适应,我相信这种转变不仅可以加快开发速度,甚至大幅提高软件解决方案的质量。然而,目前我们仍然被困在Vibe编码的赌场里。现在每个人和他们的祖母都在疯狂产出代码,仿佛没有明天一样,拉动杠杆,期待最佳结果。 问题 Vibe编码几乎被普遍描述为(a)损害了对解决方案和架构的个人理解,(b)因提示不够明确、自然语言接口损失及非确定性代码生成而不可靠。当你在进行Vibe编码时:你停止理解正在使用的代码库。构建的心理模型模糊而且主要依赖于你作为程序员的过去经验。你对死代码/冗余代码和存根失去意识。你无法追踪哪些内容是已实现的以及为什么实现。你无法向他人解释架构,或推理潜在问题。在你批准计划之前,你几乎看不到将要发生什么变化。是的,代理通常会写一小篇文章解释它将要做什么,但它是有限的。它不会显示影响范围。它不会告诉你它只会部分实现某些内容,或者它会省略你认为显而易见的重要内容。即便它确实如此,你可能也不会意识到,因为这些计划没有可学习的结构。这就是黑箱效应,它逐渐消耗了你的工作流程,使你作为软件工程师变得不那么严格,最终你开始盲目推送提交并导致生产停滞。即使你不以这种方式滥用编码代理,还是倾向于手动编程,但很难否认这可能是未来软件工程的方向。我们可以看到有多少工程师把编码代理作为他们核心工作流程的一部分,还有多少100倍的开发者已经在尝试与它们创造自主循环,仿佛控制和决策只是从真实目标:tokenmaxxing中分散的注意力。无论如何,这一切都归结为信任;你无法信任自己对代码库的理解,也无法信任代理是否做了你想要它做的事情。 解决方案不成熟 我们都知道这很糟糕,但潜在的解决方案呢?关于这个主题有很多讨论,但我认为到目前为止提出的任何方案都不具说服力。首先,我们需要明确我们到底想做什么:我们希望尽量减少我们对编码代理输出的信任程度。为了支持这一点,我们希望:代理可靠地执行我们要求它的任务。理想情况下,具有确定性——虽然这可能不可能,但这是一个好的目标。能够审核和追踪它对我们所做的事情。

赞助内容

NordVPN Next-gen Antivirus

本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。

请我喝杯咖啡