Vibe-Coding-当编程变成说出想法AI实现

2026-08-07hweihaobo-herbert👁 47 阅读6 分钟阅读📝 2659 字💬 0 评论
Vibe-Coding-当编程变成说出想法AI实现

Vibe Coding:当编程变成"说出想法,AI 实现"

“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,2025 年 2 月


一、什么是 Vibe Coding?

2025 年 2 月,前特斯拉 AI 总监、OpenAI 联合创始人 Andrej Karpathy 在 X(Twitter)上发了一条推文,创造了这个迅速走红的术语——Vibe Coding

他描述自己的新工作流是这样的:打开 Cursor 或 Windsurf 这类 AI IDE,用语音输入说"把侧边栏的 padding 减半",然后直接接受 AI 生成的代码。如果报错了,就把错误信息直接粘贴给 AI,不加注释,让它自己改。整个过程完全不看代码——用他的原话说:

“I just vibe, accept patches, run it, repeat.”

翻译成中文的大白话就是:把脑子里的想法"氛围感"地传达给 AI,剩下的交给 AI,你只管跑起来看看。


二、Vibe Coding 的本质:编程范式的转移

要理解 Vibe Coding,得先看看编程这条路的演变:

时代 方式 门槛
1950s 打孔纸带 物理层面操作机器
1960s-70s 汇编语言 需理解 CPU 指令集
1980s-90s C/C++ 需掌握指针和内存管理
2000s Java/Python 关注面向对象和框架
2010s 现代框架 + Stack Overflow 复制粘贴 + 理解
2025 Vibe Coding 描述意图 + AI 生成

每一步都在降低编程的门槛,把开发者的心智从"怎么实现"向"实现什么"转移。而 Vibe Coding 是这个链条的最新一环——连复制粘贴 Stack Overflow 都省了,你只需要把你的 vibe 传达出去。

Vibe Coding 不是不写代码,而是不再逐行思考代码。


三、一个典型的 Vibe Coding 流程

假设你想做一个番茄钟网页应用:

传统方式

  1. 打开终端,npm create vite@latest 初始化项目
  2. 配置路由、状态管理
  3. 手写计时器逻辑,处理 setIntervaluseEffect
  4. 调 CSS,试 flex 还是 grid
  5. 反复 Google “React timer component”、“CSS circular progress bar”
  6. 大概耗时:2 小时

Vibe Coding 方式

  1. 打开 Cursor,在对话框输入:

    “帮我做一个番茄钟网页,25 分钟工作时间 + 5 分钟休息,带圆形进度条和完成音效,使用 React + Tailwind”

  2. AI 生成 200 行代码
  3. 预览,觉得颜色不对,又说:

    “把配色改成暖色调,背景加个渐变”

  4. AI 修改,你再预览,满意就提交
  5. 大概耗时:10 分钟

区别不在于用不用 AI——而在于你是否阅读和理解 AI 生成的每一行代码。 Vibe Coding 的核心态度是:代码只是"手段",体验才是"目的",我不需要知道它内部是怎么转的,我只用看它跑起来对不对。


四、Vibe Coding 值得推崇吗?——一个客观的评价

它确实很爽的地方

  1. 极致的速度感
    以前搭个 Landing Page 要一下午,现在 15 分钟搞定。原型验证、MVP 构建的效率直接乘以 10。

  2. 降低非工程背景的创作门槛
    设计师、产品经理、创业者可以直接用自然语言做出可用的 Demo。编程变成了一种"表达"而非"技艺"。

  3. 解放心智负担
    不需要记住 Tailwind 那 3000 个类名,也不需要去想 useMemouseCallback 的区别。把认知资源留给更有价值的事情:产品逻辑、用户体验。

  4. "玩"的乐趣回来了
    很多开发者开始写一些没用的、有趣的小东西——给女朋友做告白网页、给猫做一个自动喂食器监控——只是因为"现在做一个东西太简单了"。

但问题也很明显

  1. 调试地狱
    当项目超过 500 行,AI 生成的代码开始出现逻辑冲突,而你看不懂其中的因果关系。你在一个黑盒上修 bug,修了一个冒出三个。

  2. 技术债务无声积累
    AI 倾向于给你"能跑就行"的代码。不处理边界情况、没有错误处理、可访问性为 0。当原型变产品时,refactor 的成本可能比从头写还高。

  3. 学习路径的悖论
    如果新人从一开始就 Vibe Coding,他永远不会理解"为什么这个组件会重新渲染"、“为什么 state 更新是异步的”。而当 AI 出错的时候,他没有任何 debug 的 mental model。

  4. 所有权的模糊
    当你没有亲手写下一行代码,这个项目到底还"是你的"吗?当项目复杂到一定程度,你会发现自己对系统的掌控力趋近于零。

Karpathy 自己怎么说?

值得注意的是,Karpathy 这条推文本身带有半开玩笑的性质。他被问到"这种方法适合真正的项目吗"时,给出的回答是:

“For throwaway weekend projects it’s amazing. For production systems, you still want to understand what’s happening.”

说白了:Vibe Coding 是快速原型和 side project 的神器,但不是构建生产级系统的正确方式。 最好的实践可能是——在理解代码和控制代码的前提下,把重复性、低价值的编码工作 vibe 掉。


五、如何正确地"Vibe"?

如果你决定尝试这种工作流,这里有一些建议:

1. 保持"导演思维"

你不是 AI 的打字员。你是导演,AI 是演员。你要清楚地描述场景、情绪、节奏,而不是漫无目的地让它"自由发挥"。

❌ "帮我写个好看的网页"✅ "做一个个人博客主页,极简风格,文章列表 + 标签筛选,移动端优先,配色参考 Linear 官网"

2. “信任但验证”

每接受一次 AI 的 patch,跑一下测试。不要去理解 200 行代码,但至少理解数据流和控制流的大方向。

3. 学会拆分任务

不要一次性给 AI 一个巨大的 prompt 让它生成 1000 行代码。拆成小步骤,每一步验证结果,类似 TDD 的思路:

  • 先让它生成页面结构
  • 再加交互逻辑
  • 再加样式
  • 再加动画

4. 把 vibe 出来的项目当成"草稿"

承认 vibe 出来的代码可能就是个垃圾,但垃圾代码也有价值——它能验证想法、给真实开发提供参考、快速确认"这个方向对不对"。


六、写在最后

Vibe Coding 与其说是一种编程技术,不如说是一种时代情绪

它代表了我们对编程这件事的态度转变:编程不再是苦行僧式的敲键盘过程,而是一种快速将想法转化为现实的创作方式。就像摄影从暗房变成手机拍照,编程也从一种需要深厚技法的手艺,向着更直觉、更民主的方向演进。

但这种演进并不意味着"手艺人"会消失。正相反,当 AI 能写出 80% 的代码时,能分辨哪 20% 需要重写、能设计出让 AI 写出好代码的架构、能在 AI 出错时有能力兜底的高级工程师,反而变得更加珍贵。

所以,尽情去 Vibe 吧——但别忘了,最好的 vibe,是建立在你真正懂代码的基础之上的。


2025 年 8 月

hweihaobo-herbert
技术博客作者
2659 字 · 0 评论
2026-08-07

评论 (0)

暂无评论,来写第一条吧

登录后发表评论