【拒绝Vibe Coding:编程里的摩擦力,才是成长核心】
快速阅读:这篇文章探讨了为何有些开发者拒绝“氛围编程”(Vibe Coding)。核心观点认为,过度依赖 AI 会抹除编程中的“摩擦力”——而这种摩擦力正是理解系统、设计优雅抽象以及保持创造力的关键。
我不玩那种靠“感觉”写代码的游戏。
最近大家都在聊 Vibe Coding,觉得 LLM 会让开发变成一种纯粹的生产力爆发,像思考一样快地交付软件。听起来很美,但我没打算买账。
首先,我本质上是个抠门的人。当一个 IDE 插件提示我额度用尽,要求掏出信用卡才能继续“思考”时,我直接关上了电脑,卸载了它,回到了 Emacs。这种为了维持思维流而进行的持续订阅,在我看来既荒谬又恐怖。
更深层的原因在于,编程不仅仅是在解决“偶然复杂度”(Accidental Complexity),比如写个排序算法或配置环境。真正的挑战在于“本质复杂度”(Essential Complexity):如何设计出优雅、清晰且可维护的系统。AI 擅长补全代码,但它无法理解为什么要选择这条路径,它无法进行元认知。它就像一个只看字符、不看语境的金鱼,试图用简化的模型去覆盖复杂的现实。
我需要那种“摩擦力”。
学习新框架时的挣扎、阅读陌生代码时的痛苦、架构设计遇到瓶颈时的停顿,这些摩擦力其实是极其重要的信号。它们提醒我:当前的路径可能错了,或者抽象层级不够。如果把这些过程都交给 AI,我不仅会失去对代码的掌控,更会失去通过失败来学习的机会。
有网友提到,这种做法就像是在用“毒品”写代码。AI 带来的那种狂热的、看似高速的产出,往往伴随着极其复杂、臃肿且难以维护的代码结构。它像是一个处于亢奋状态的开发者,写出了大量看似正确但逻辑散乱的东西。
编程对我来说是一种表达,一种在混乱中建立秩序的乐趣。如果把这种创造性的过程完全外包给机器,那我们剩下的只是在管理一群不可控的代理(Agents)。
当开发变成了一场只追求交付速度的竞速赛,我们是否正在失去对技术本质的敬畏?
jacobharr.is/personal/i-dont-vibe-code
