什么是 Vibe Coding

2025 年 2 月,前 OpenAI 联合创始人、前 Tesla AI 总监 Andrej Karpathy 在社交平台上抛出了一个引爆开发者圈的概念——Vibe Coding。

"There's a new kind of coding I call 'vibe coding', where you fully give in to the vibes, embrace exponentials, and forget that the code even exists."

—— Andrej Karpathy

Vibe Coding 的核心精神是:你不需要看代码,甚至不需要关心代码长什么样。你只需要沉浸在创造的"氛围"里,用自然语言描述你的感觉、你的意图、你想要的效果,AI 负责把这一切变成可运行的软件。这是一种从"工程师思维"到"创作者思维"的范式跃迁——你不是在调试代码,你是在与 AI 共创。

正如 Paul Graham 在《黑客与画家》中所言,编程本质上是一种创作媒介。Vibe Coding 把这个媒介的摩擦力降到了近乎为零。

核心转变:代码从"你需要写的东西"变成了"你不需要看的东西"。


我的 Vibe Coding 工作流程

经过大量实践,我总结出了一套四步工作流:

第一步:搭建 Vibe 环境

Vibe 是会被打断的。一个好的环境决定了一半的创作效率。

层级 工具 作用
AI 层 WorkBuddy / Cursor / Claude 对话生成代码
预览层 浏览器实时预览 即时感受效果
部署层 Vercel / Netlify / 自有服务器 一键上线

关键原则:预览闭环要足够短。描述完到看到效果,理想情况不超过 3 秒。每多一秒等待,vibe 就断一次。Karpathy 自己也说过,他用 Cursor + Sonnet 的组合,配合 SuperWhisper 语音输入,连键盘都不怎么碰——这才是纯正的 Vibe Coding。

第二步:从模糊 vibe 到精准表达

这是最被低估的一步。大多数人脑子里有个模糊的感觉就直接让 AI 写代码,结果来回改七八遍,vibe 全跑光了。我的做法是先花 5 分钟把 vibe 翻译成 AI 能理解的语言。

具体操作:

  1. 用一段话描述你想要的"感觉"和"结果"
  2. 让 AI 帮你拆解为功能清单
  3. 逐条确认优先级和边界
  4. 最终形成一份一句话需求文档

模糊的 vibe → "我想要一个很 chill 的博客页面"

精准的表达 → "一个单页博客,白色背景,顶部导航固定,文章列表支持按标签筛选,每篇文章有封面图、标题、摘要、日期,点击进入详情页"

这个"vibe 到精准"的翻译过程,我自己做大概 5 分钟,但能省下后面反复修改的 50 分钟——更重要的是,vibe 不会被反复的失败消磨掉。

第三步:用指令驾驭 AI 生成代码

需求清晰后,生成代码反而是最快的一步。几个实战经验:

  • 分模块生成,不要一次性要整个项目。先骨架,再组件,再样式。保持每一步都有正反馈。
  • 给 AI 看参考:如果你看到某个网站的风格喜欢,截图贴给它,比用语言描述快十倍。视觉 vibe 比文字 vibe 更精准。
  • 每次只改一个东西:不要同时改布局和配色。原子化修改,逐个验证。
好的指令:
"把这个按钮改成圆角 8px,hover 时颜色变深"

差的指令:
"把整个页面改好看一点"

两者的区别不在于技术,而在于——前者保持了 vibe 的连续性,后者让 vibe 在一次模糊的等待中消散。

第四步:上线部署

代码就绪后,部署反而是最简单的一步。现代工具链让上线变得几乎无感:

  1. 本地预览确认无误
  2. 推送到 GitHub(AI 可以帮你生成 commit message)
  3. 关联 Vercel/Netlify 自动部署
  4. 绑定域名,完成

整个过程从代码完成到公网可访问,不超过 5 分钟。


Vibe Coding 中容易犯的错误

1. 一次给太多指令

AI 不是人类程序员。你一口气提十个需求,它大概率会在其中两三个上出错,然后你得分不清是哪个环节出了问题。一次一个,逐个验证,这是铁律。更重要的是——每失败一次,vibe 就掉一格。

2. 不检查就继续改

每轮修改后立刻预览。很多人连续改五六轮才看一次效果,结果问题累积,最后得全部推倒重来。到那个时候,你最初的 vibe 早就凉透了。

3. 忽略边界情况

AI 生成的代码通常只覆盖"正常流程"。你需要主动追问:空数据怎么办?移动端怎么显示?加载中是什么状态?把这些边界告诉 AI,它会处理得很好——但你得先想到。Vibe Coding 不代表只负责快乐的部分,边界思考是创作者的责任。

4. 过早纠结细节

先让功能跑通,再让界面好看。很多人在按钮颜色上纠结半小时,结果核心功能还没实现。

记住:一个功能完整的丑页面,远好过一个好看但什么都没做的页面。先有东西,再有 vibe。


结语

Vibe Coding 的核心不是技术,是心态。它要求你放下"我需要理解每一行代码"的工程师执念,转而拥抱"我只需要描述我想要什么"的创作者自由。

Karpathy 说得很直白:"It's not really coding — I just see stuff, say stuff, run stuff, and copy paste stuff, and it mostly works." 这不是在贬低编程,而是在重新定义编程——编程不再是一种专业技能,而是一种表达方式。

正如 Steve Jobs 所说:"那些疯狂到以为自己能改变世界的人,才是真正改变世界的人。" 在 Vibe Coding 的时代,你不需要先学会写代码才能改变世界——你只需要有想法,并且愿意把它说出来。