Vibecoding 时代,程序员会消失吗?——从“全自动”到“半自动”的冷思考


今年,“Vibecoding” 的概念席卷了技术圈。像 ClaudeCode、Lovable 这类产品,号称只需一句自然语言就能生成整套应用;CodingAgent 更是通过不断的 Action-Observation 循环,模仿人类一步步完成复杂任务。似乎一夜之间,程序员不再需要写一行代码。甚至我身边的同学都在问:“你们组是不是已经全员拥抱 Vibecoding,不再手写代码了?”

前段时间,我也陷入了某种“技术焦虑”。我试了几次 ClaudeCode,但始终觉得不如 Cursor 或 GitHub Copilot 结合自己手写来得顺手。我开始怀疑:是不是我的开发模式太落后了?我是不是应该强迫自己用 Vibecoding 把熟悉的技术栈和应用重构一遍?

但在参加了一次线下活动后,我发现我的困境并非个例。“起步快,维护难”是 Vibecoding 开发者共同面临的痛点。

虽然用自然语言快速生成一个 Demo 很爽,但随着 CodingAgent 长期介入修改,业务复杂度不断叠加,问题开始显现:模型经常无法通过自然语言精准理解需求,或者出现了“修好 A 功能,却搞坏了 B 逻辑”的回归 Bug。这其中,既有模型缺乏全局代码上下文的原因,也有自然语言本身描述不清、逻辑前后矛盾的问题。

这时候,程序员的价值反而以一种戏谑的方式回归了。

当普通用户面对 Vibecoding 的错误束手无策时,有经验的程序员往往能代入“代码视角”,告诉用户:“你应该这样跟模型描述数据结构,那样定义接口约束……” 甚至有资深开发朋友开玩笑说:“以后毕业了就去当‘Vibecoding 沟通员’,专门替普通用户把需求‘翻译’给 AI 听。”

这让我联想到为什么我至今无法完全拥抱 Vibecoding。

在我维护那 10,000 行代码的应用时,我的掌控感来源于对代码粒度的精准把控。改一个需求,我能在一分钟内定位到具体脚本。在 Copilot 的辅助下,我处于一种“人机协同”的心流状态:Tab 键补全、手动微调、再 Tab 补全;遇到复杂逻辑,我选中十行代码,让 AI 针对性生成,然后打断点、看日志、本地测试。

这是一个** “半自动” **的流程。我需要在多个脚本间跳转,把大需求拆解为小逻辑。虽然听起来没有 Vibecoding 那么科幻,但这让我避免了把整个需求扔进“黑盒”后产生的不可控风险。

要克服 Vibecoding 的局限,不仅需要模型具备更强的上下文理解能力,更需要用户具备极高的“需求描述能力”。这恰恰是一个悖论: 如果我要把新旧业务逻辑的关系描述得滴水不漏,其成本可能远高于我直接写那一段代码或手动修改。

代码和伪代码,本质上就是比自然语言更高效的逻辑载体。

所以,对于程序员来说,Vibecoding 不一定是效率的最优解。代码作为一种精确语言,在描述复杂逻辑时具有自然语言无法比拟的高带宽特性。未来的开发效率提升,可能在于如何更好地结合“全自动的生成”与“半自动的控制”。


文章作者: Lowin Li
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Lowin Li !
评论
  目录