VibeCoding介绍
1. 什么是 Vibe Coding
Vibe Coding(氛围编程)是 2025 年初由 OpenAI 联合创始人 Andrej Karpathy 在一条推文里提出的概念。原话大致是:
"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."
中文意思:你不再去"写代码",而是告诉 AI 你想要什么感觉的东西,AI 写、你看效果、不满意继续描述、直到对了为止。代码本身退到幕后,你只关心"vibe"是否对。
一句话总结:Vibe Coding 是用自然语言驱动 AI 完成大部分编码工作的新工作流。
2. 为什么会出现 Vibe Coding
几个条件同时成熟,才让这种工作流成为可能:
| 条件 | 说明 |
|---|---|
| 大模型理解力达标 | Claude / GPT 能准确理解"做一个看起来像 Notion 的笔记应用" |
| AI 编程工具成熟 | Cursor、Claude Code、Copilot 等可以读、写、跑代码 |
| 上下文窗口够大 | 模型可以一次"看到"整个项目,做整体调整 |
| 运行/调试自动化 | 工具能自己运行命令、看报错、自我修正 |
在此之前,AI 只能"补全代码",需要程序员主导。现在 AI 可以"接管编码",程序员只需要给方向。
3. Vibe Coding 与传统编码的区别
| 维度 | 传统编码 | Vibe Coding |
|---|---|---|
| 主体 | 人写代码 | AI 写代码,人审校 |
| 关注点 | 语法、API、实现细节 | 需求、效果、整体感 |
| 沟通方式 | 写代码 | 写自然语言 |
| 迭代速度 | 分钟到小时 | 秒到分钟 |
| 产物 | 自己写的代码 | AI 生成、自己理解(或不理解)的代码 |
| 风险 | 写错 bug | 看不懂 bug,无法判断对错 |
注意最后一行 —— 这是 Vibe Coding 最大的争议点。
4. 一次完整的 Vibe Coding 流程
以"做一个本地的待办事项 PWA"为例:
[你] 帮我做一个本地的待办事项应用
- 不要后端
- 数据存在 IndexedDB
- 可以离线使用
- UI 像 Apple Reminders 那种风格
[AI] 我会用 Vite + React + Dexie.js 实现……
[创建文件、写代码、运行 npm install、启动 dev server]
[你] 看了下,UI 有点花,我想要更简洁,背景纯白,按钮黑色
[AI] [改 CSS、热更新]
[你] 加一个按完成日期分组的功能
[AI] [改组件结构、添加分组逻辑]
[你] 做一个 logo 放在左上角
[AI] [生成 SVG,引入到 Header]
整个过程你没看一眼源码,只看效果。
5. Vibe Coding 的几种形态
形态 1:完全 Vibe 模式
不看代码、不审 PR,纯效果驱动。适合:个人玩具项目、原型验证、快速 demo。
形态 2:半 Vibe 模式
让 AI 写代码,自己快速过一眼关键位置。适合:业余项目、内部工具。
形态 3:审慎 Vibe 模式
让 AI 写代码,自己仔细 review,有疑问就问 AI,重要逻辑会手动验证。适合:生产代码。
形态 4:Pair 模式
不让 AI 直接动手,而是讨论 → 自己写 → AI 审查。适合:核心模块、安全敏感代码。
关键原则:项目越重要,越要往 3、4 形态偏;玩具项目用 1、2 飞起来。
6. Vibe Coding 的工具链
| 工具 | 定位 | 特点 |
|---|---|---|
| Claude Code | CLI 中的 AI 编程伙伴 | 上下文管理强、可执行 shell |
| Cursor | 编辑器 + AI | 类 VS Code,AI 深度集成 |
| Windsurf | AI-first IDE | "Cascade" 模式接近自动化 |
| GitHub Copilot | 编辑器内补全 | 适合补全式 vibe,不太适合大改 |
| v0.dev | UI 生成器 | 描述 → React 组件 |
| Bolt / Lovable | 全栈生成 | 一句话生成完整应用 |
| Replit Agent | 云端环境 + AI | 适合 demo 和教学场景 |
不同工具的"自动化程度"不同:v0/Bolt 偏一键生成,Cursor/Claude Code 偏交互迭代。
7. 写好"Vibe"的提示词
Vibe Coding 的本质还是提示词工程,但风格不同。
不要这样
应该这样
做一个 todo app,要求:
【技术栈】
- React 18 + TypeScript + Tailwind
- 数据存 localStorage
- 不需要后端
【功能】
- 添加、删除、勾选完成
- 按"待办 / 已完成"过滤
- 拖拽排序
【设计感】
- 简约风格,参考 Things 3 / Apple Reminders
- 主色调白色 + 黑色,强调用淡蓝
- 圆角 12px,按钮有微妙的 hover 动画
- 字体用 SF Pro Display 或类似
【其他】
- 完成时有打勾的动画
- 空状态时显示友好的插图占位
记住:Vibe Coding 的"vibe",70% 是设计感的描述。功能要求 AI 能搞定,但设计感的"调性"必须由你来给。
8. Vibe Coding 的优势
| 优势 | 说明 |
|---|---|
| 极快的原型速度 | 一个想法到能跑,从天级到分钟级 |
| 降低编程门槛 | 不会写代码的人也能做出能用的产品 |
| 拓宽能力边界 | 写 Python 的可以快速做 iOS 原生应用 |
| 关注创意而非实现 | 把脑力释放到"做什么"而不是"怎么做" |
| 快速试错 | 不满意就推翻重来,没有沉没成本 |
很多独立开发者用这套工作流,一个月能上线 3-5 个产品。
9. Vibe Coding 的陷阱
陷阱 1:看不懂自己的代码
AI 引入了某个奇怪的库、用了某种你不熟悉的模式,出问题时你完全无从下手。
应对:每次 AI 改大功能后,让 AI 用三句话解释它做了什么。
陷阱 2:技术债积累
AI 倾向于"加代码"而不是"改代码",几轮迭代后,代码会膨胀、重复、矛盾。
应对:每隔 N 轮,让 AI 专门做一次重构,明确指示"不加新功能,只清理"。
陷阱 3:测试覆盖率为零
Vibe Coding 模式下,几乎没人会主动写测试。一旦项目稍有规模,改一处崩三处。
应对:从一开始就让 AI 写测试,把"加测试"作为提示词模板的一部分。
陷阱 4:安全问题
AI 经常做出"能跑就行"的选择:把密钥写进前端、SQL 不参数化、CORS 全开……
应对:生产环境的代码必须人审,特别是认证、支付、数据访问相关。
陷阱 5:过度依赖
一旦习惯 Vibe Coding,遇到 AI 解决不了的问题(比如复杂的并发 bug),可能彻底卡死。
应对:不要让 AI 替你思考。重要决策、架构选择,自己想清楚再让 AI 实现。
陷阱 6:AI 幻觉
AI 可能引用不存在的库、调用错误的 API、写出"看起来对"但跑不通的代码。
应对:永远要跑一遍,跑通了才算"完成",看着对不算。
10. Vibe Coding 适合什么场景
✅ 适合:
- 个人项目、副业产品
- MVP 和快速原型
- 内部工具、Hackathon
- 学习陌生技术栈("用 Rust 做一遍")
- UI 实验、视觉迭代
- 自动化脚本、爬虫、数据处理
❌ 不太适合:
- 大型生产代码(核心业务逻辑)
- 高并发、高性能场景
- 安全敏感系统(金融、医疗)
- 嵌入式、底层系统
- 需要长期维护的开源项目
但"不太适合"不代表完全不能用,而是要切换到形态 3、4,AI 只是辅助,人是主导。
11. Vibe Coding 时代的程序员
很多人担心"Vibe Coding 会让程序员失业",但更准确的说法是:程序员的工作正在转型。
| 旧能力 | 新能力 |
|---|---|
| 熟练写各种循环、数据结构 | 准确描述需求和约束 |
| 记 API 文档 | 设计良好的提示词和工作流 |
| 写代码 | 审代码、给反馈 |
| 单兵作战 | 调度多个 AI 做不同任务 |
| 解决具体 bug | 判断 AI 给的方案对不对 |
真正受影响的是"只会执行不会思考"的工作,会思考的人反而被放大了 N 倍。
12. 何时不要 Vibe
什么时候必须停下来、自己写?
- AI 反复改不对:通常说明你的需求没说清,停下来思考清楚再说
- AI 兜圈子:改 A 引出 B,改 B 引出 C,绕回来又破坏了 A —— 说明架构有问题
- 核心算法:性能、正确性都关键的部分,自己写
- 学习阶段:学新技术时,让 AI 写完你不会更懂;亲手写一遍才能进步
- 安全代码:认证、加密、权限,自己写或用经过审计的库
判断标准:你能不能审出 AI 写错?能 → 可以 Vibe。不能 → 自己写。
13. 一个真实的小项目
需求:给老婆做一个记录每天孩子吃奶量的小程序。
[你] 做一个 PWA,记录婴儿吃奶量
- 每条记录:时间、毫升数、左/右侧(喂奶)
- 显示当天总量、24小时内列表
- 数据本地存储,可以导出 CSV
- UI 简洁可爱,主色调粉色
[AI] [生成 Vite + React + Dexie 项目]
[写完组件、样式、导出逻辑]
[跑起来]
[你] 加一个按周看趋势的图表
[AI] [接入 recharts,画了 7 天柱状图]
[你] 凌晨喂奶时手抖经常按错按钮,按钮做大点,
而且要确认对话框
[AI] [改了交互]
[你] 部署到 Vercel
[AI] [生成 vercel.json,给出部署命令]
整个过程 30 分钟,原本可能要花一个周末。
这就是 Vibe Coding 的真实价值:把那些"该做但没必要费心做"的项目变得可行。
14. 学习建议
- 先打好基础:Vibe Coding 不是不用学编程,而是让你学过的知识更有杠杆
- 从小项目开始:一个 todo、一个时钟、一个备忘录,体会"描述 → 出货"的快感
- 学会 review:刻意去读 AI 写的代码,问自己"为什么这样写"
- 沉淀提示词模板:好用的提示词存下来,下次直接复用
- 了解工具差异:Cursor 和 Claude Code 的工作流不同,适合不同场景
- 把 AI 当同事:会沟通的人才能用好 AI,不是什么都丢给它
总结
- Vibe Coding = 用自然语言驱动 AI 完成大部分编码工作
- 核心理念:你给 vibe(方向、约束、设计感),AI 给代码
- 工具链:Claude Code、Cursor、Windsurf、v0 等
- 优势:极快的原型速度、降低门槛、聚焦创意
- 陷阱:技术债、安全问题、看不懂自己的代码
- 适合:个人项目、MVP、内部工具、学习
- 不适合:核心生产代码(除非切换到审慎模式)
- 程序员能力转型:从"写代码"到"调度 AI 写代码 + 审代码"
- 终极心法:会判断对错的人,才能用好 Vibe Coding