什么是 Vibe Coding?

2025年初,OpenAI前研究总监 Andrej Karpathy 发了一条推文,引爆整个技术圈:

“I just mass-mass-produce code with AI. I barely look at the diffs. I call this Vibe Coding.”

“我现在用AI大规模生产代码,几乎不看diff。我称之为 Vibe Coding。”

这不是玩笑。这位顶级AI科学家在认真描述他的日常工作方式:

  • 用自然语言告诉AI要做什么
  • AI生成代码
  • 直接运行看效果
  • 有问题就让AI改

不看代码,只看结果。

这就是 Vibe Coding —— 一种全新的编程范式。


从"写代码"到"描述需求"

传统编程

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
# 手动实现一个用户登录功能
def login(username: str, password: str) -> dict:
    # 验证输入
    if not username or not password:
        raise ValueError("用户名和密码不能为空")
    
    # 查询数据库
    user = db.query(User).filter(User.username == username).first()
    if not user:
        raise AuthError("用户不存在")
    
    # 验证密码
    if not verify_password(password, user.hashed_password):
        raise AuthError("密码错误")
    
    # 生成token
    token = create_access_token(user.id)
    
    return {"token": token, "user": user.to_dict()}

你需要:

  1. 了解所有API
  2. 处理边界情况
  3. 手动写每一行

Vibe Coding

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
You: 实现用户登录功能,要验证输入、查数据库、验密码、返回JWT token

AI: [生成完整代码]

You: 跑一下

AI: [执行测试] 测试通过

You: 加个登录失败次数限制,超过5次锁定账号

AI: [修改代码] 已添加

你需要:

  1. 清楚地描述需求
  2. 验证结果是否符合预期
  3. 迭代优化

代码变成了"中间产物",不再是最终目标。


为什么现在可行了?

1. 模型能力的跃升

Claude 3.5 Sonnet → Claude Opus 4.5 → GPT-5,代码能力指数级提升:

指标2023年2025年
SWE-bench20%75%
HumanEval67%96%
复杂项目理解单文件整个仓库

2. 工具链的成熟

  • Cursor:AI原生IDE,理解整个项目
  • Claude Code:终端里的AI程序员
  • Windsurf:Copilot++,无缝集成
  • Replit Agent:从描述到部署一条龙

3. 上下文窗口爆炸

  • 2023年:4K tokens(一个文件)
  • 2024年:128K tokens(小型项目)
  • 2025年:1M+ tokens(大型代码库)

AI终于能"看懂"整个项目了。


Vibe Coding 实战演示

场景:从零搭建一个博客系统

传统方式:2-3天

Vibe Coding方式:2小时

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
第1轮对话:

You: 我要做一个个人博客系统,技术栈用 Next.js 14 + Prisma + PostgreSQL。
功能需要:
- Markdown 文章编辑
- 文章分类和标签
- 评论系统
- 暗黑模式
帮我搭建项目框架。

AI: 好的,我来创建项目...
[执行 npx create-next-app@14 ...]
[创建 prisma/schema.prisma]
[创建数据库模型]
[创建基础组件]
...
框架搭建完成,运行 npm run dev 查看效果。
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
第2轮对话:

You: 首页看起来太丑了,参考 Vercel 官网的设计风格美化一下

AI: 明白,我来调整样式...
[修改 globals.css]
[修改 components/Header.tsx]
[添加渐变背景和动画效果]
...
已更新,刷新页面查看。
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
第3轮对话:

You: 文章编辑器需要支持实时预览,左边写 Markdown 右边显示效果

AI: 
[安装 react-markdown]
[创建 SplitEditor 组件]
[添加语法高亮支持]
...
编辑器已完成。

2小时后:一个功能完整、样式精美的博客系统上线。


谁适合 Vibe Coding?

最适合

  1. 资深开发者

    • 知道要做什么,懒得写具体实现
    • 能快速判断AI代码质量
    • 专注架构设计和业务逻辑
  2. 创业者/独立开发者

    • 一个人当一个团队用
    • 快速验证想法,MVP开发
    • 把时间花在更重要的事情上
  3. 非专业程序员

    • 产品经理自己做原型
    • 设计师实现交互效果
    • 运营搭建内部工具

需要谨慎

  1. 涉及核心算法的场景

    • 交易系统的风控逻辑
    • 推荐算法的核心实现
    • 需要100%正确的关键路径
  2. 安全敏感场景

    • 加密解密实现
    • 认证授权逻辑
    • 需要人工审查每一行
  3. 性能极端场景

    • 毫秒级响应要求
    • 资源受限环境
    • 需要手工优化

程序员的新技能栈

Vibe Coding 时代,程序员需要的能力正在转变:

重要性降低

  • ❌ 记忆API语法
  • ❌ 手写样板代码
  • ❌ 调试简单Bug
  • ❌ 代码格式规范

重要性提升

  • 需求分析:把模糊需求转化为清晰描述
  • 架构设计:决定系统如何组织
  • 代码审查:快速判断AI输出质量
  • Prompt工程:如何让AI更好地理解你
  • 测试验证:确保结果符合预期
  • 领域知识:理解业务,而不只是技术

新的工作流程

1
2
3
4
传统:需求 → 设计 → 编码 → 测试 → 部署

Vibe:需求 → 描述 → AI编码 → 审查 → 迭代 → 部署
          ↑_________←_________|

核心变化:你从"生产者"变成了"指挥者"和"质检员"


一些实用建议

1. 学会"说人话"

1
2
3
4
5
6
7
❌ 不好的描述:
"写一个函数处理用户数据"

✅ 好的描述:
"写一个函数,接收用户注册表单数据(name, email, password),
验证邮箱格式和密码强度(至少8位,包含大小写和数字),
验证通过返回处理后的数据,失败抛出具体错误信息"

2. 分步迭代

不要试图一次性让AI写完所有功能。

1
2
3
4
5
第1步:搭建基础框架
第2步:实现核心功能
第3步:添加边界处理
第4步:优化性能
第5步:完善样式

3. 保持代码审查习惯

AI不会100%正确。关键代码一定要review:

  • 安全相关(认证、权限、加密)
  • 性能相关(循环、查询、缓存)
  • 业务相关(核心逻辑、金额计算)

4. 建立项目规范

在项目中维护一个 CLAUDE.md.cursorrules 文件:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
# 项目规范

## 技术栈
- Next.js 14 (App Router)
- TypeScript 严格模式
- Tailwind CSS
- Prisma ORM

## 代码风格
- 使用函数式组件
- 所有函数必须有 JSDoc 注释
- 错误处理使用自定义 Error 类

## 禁止
- 使用 any 类型
- 直接操作 DOM
- 在组件中写内联样式

这是终点吗?

Vibe Coding 可能只是开始。

接下来可能发生的

  1. AI理解产品文档:直接从PRD生成代码
  2. AI参与代码审查:自动发现问题并修复
  3. AI运维系统:监控、报警、自动修复
  4. AI产品经理:分析用户行为,提出优化建议

终极形态

你描述一个想法,AI完成从设计到开发到部署到运维的全流程。

这不是科幻,可能就在3-5年内。


结语

Vibe Coding 不是要消灭程序员,而是在重新定义什么是编程。

20年前,“程序员"意味着要懂汇编和指针。 10年前,“程序员"意味着要懂框架和设计模式。 今天,“程序员"可能意味着要懂需求分析和AI协作。

不变的是:解决问题的能力、对技术的理解、对产品的洞察。

变化的是:实现方式从"手写代码"变成了"指挥AI”。

你可以选择抵触,也可以选择拥抱。但无论如何,这个浪潮已经来了。