2025年初,AI 教父 Andrej Karpathy 提出了一个听起来很”玄学”的概念——Vibe Coding。半年后,它从一句玩笑变成了被广泛讨论的编程范式。
什么是 Vibe Coding?
Vibe Coding 直译是”跟着感觉写代码”,或者更准确地说——**全靠 AI 写代码,人类只负责”感觉”**。
Karpathy 原话是这么描述的:
「我不再写代码了,我只是看代码、说代码、”感觉”代码。我完全沉浸在 GitHub Copilot 或 Cursor 的自动补全里,几乎从不手动敲代码。我只要说”往这边改一下”、”再往下加点东西”,AI 就帮我做了。我甚至不怎么看生成的内容——如果它跑起来了,那就是对的。」
简单来说,Vibe Coding 的流程是:
- 用自然语言描述你想要的功能
- AI 生成代码
- 运行试试
- 如果不 work,复制粘贴错误信息回去让 AI 修
- 如果 work 了,提交代码,下一个功能
全程几乎不自己写一行代码。 你的工作是”感觉”——感觉方向对不对,感觉代码能不能跑,感觉需不需要重构。
为什么它突然火了?
Vibe Coding 的爆火不是偶然,有几个因素叠加:
1. AI 代码生成质量跃升
GPT-4、Claude 3.5、Cursor 的代码生成已经到了”能用”的临界点。对于原型、脚本、小工具,AI 写的代码往往比自己从零写更快更好。
2. IDE 深度集成
Cursor、Copilot、Windsurf 等工具的体验已经足够流畅——Tab 键接受建议,自然语言编辑代码,上下文感知越来越强。
3. 非程序员加入编程浪潮
Vibe Coding 降低了门槛。不懂编程的人也能通过自然语言”编”出能用的应用——Web 页面、Chrome 插件、数据分析脚本、自动化工具。
4. 效率提升巨大
对于有经验的开发者,Vibe Coding 相当于把”敲键盘”的时间压缩到极致,专注力全部放在设计和决策上。
讽刺与真相:Vibe Coding 的争议
当然,这个词也收到了不少揶揄:
「Vibe Coding 就是把 bug 从自己的键盘上转移到别人的键盘上。」
这话有道理。AI 生成的代码虽然能跑,但不一定对。Vibe Coding 不读生成的代码,意味着:
- 你可能永远不知道代码里埋了什么坑
- 安全漏洞悄无声息
- 性能问题被忽略
- 代码库变成黑盒
一个经典的嘲讽是:Vibe Coding 是”写代码”的极致——写完就忘,绝对不回头看。
但也有人反驳:你开车的时候也不需要理解发动机原理,不是吗?
范式转变:从”写代码”到”指挥代码”
我认为 Vibe Coding 代表着一个更深层次的转变:
传统编程是翻译——把你的想法翻译成机器能理解的语言。
Vibe Coding 是指挥——告诉 AI 你想要什么结果,它来完成翻译。
这跟历史上每一次编程范式的演进很像:
- 机器码 → 汇编:不需要记二进制了
- 汇编 → 高级语言:不需要管寄存器了
- 高级语言 → 框架:不需要管内存了
- 框架 → AI 辅助编程:不需要写样板代码了
- AI 辅助 → Vibe Coding:不需要亲自写代码了
每一次都在抽象层级上升,每一次都有人说”这不行,你会失去控制”。但每一次,生产力都上了一个台阶。
什么时候该 Vibe,什么时候不该
说实话,Vibe Coding 不是银弹。以下场景适合:
- 快速原型 / MVP
- 个人项目 / Side Project
- 一次性的脚本和工具
- 不太在乎代码质量的后端 API
以下场景不适合:
- 生产级金融/医疗系统
- 对性能敏感的核心模块
- 多人协作的大型项目
- 安全合规相关的代码
最合理的方式可能是混合模式:原型阶段 Vibe,快速验证想法;进入生产阶段再认真 review 和重构。
写在最后
Vibe Coding 是一个有趣的概念,它精准地描述了这个时代 AI 与开发者之间的关系正在发生的变化。
但我想说的是——Vibe Coding 不等于不会 Coding。
真正的 Vibe Coder 往往是那些已经写过足够多代码、知道什么是好代码的人。他们选择”不看代码”,是因为他们已经知道代码大概长什么样。
就像 Karpathy 自己说的:*”You have to know the rules to break them.”*
所以,享受 Vibe Coding 带来的高效吧。但别忘了,当 AI 搞砸的时候,你还是得知道怎么修。