“写代码的尽头,是不写代码。”


一组颠覆认知的数据

“Vibe Coding”——这个词刚刚被评为 2025 年度词汇。

它的意思是:程序员不再逐行手写代码,而是用自然语言描述需求,让AI生成代码。

掘金开发者调查数据:

指标 数据
使用AI编程工具的开发者比例 76%
代码生成效率提升 40%-60%
AI生成代码占GitHub提交量 35%+
承认"几乎不手写代码"的开发者 28%

GitHub 官方更狠:

AI生成的代码量,已经超过人类手写的代码量。

这不是科幻,是正在发生的事。

💡 当AI写代码比你快10倍,你是选择继续手写,还是拥抱变化?


什么是 Vibe Coding?

“Vibe"的意思是"感觉”、“氛围”。

Vibe Coding 的核心理念是:

你不需要关心代码怎么写,只需要关心代码应该干什么。

传统编程:

你需要实现一个防抖函数 
→ 思考实现逻辑 
→ 手写代码 
→ 调试 
→ 优化

Vibe Coding:

告诉AI:"写一个防抖函数,支持立即执行模式"
→ AI生成代码 
→ 你审核 
→ 根据需要微调

💡 从"写代码"到"审代码",角色变了。你不是程序员,你是代码的"审稿人"。


我的 Vibe Coding 一天

上周,我刻意体验了一天纯 Vibe Coding 模式:

早上 9:00

产品经理发来需求:“做一个表格导出功能,支持Excel和CSV。”

我没有打开任何文档。

直接打开 Claude,输入:

帮我写一个React组件,实现表格数据导出功能:
1. 支持导出为Excel (.xlsx)
2. 支持导出为CSV
3. 使用TypeScript
4. 包含错误处理

30秒后,我拿到了完整的代码。

早上 9:05

我开始审核AI生成的代码:

  • 检查依赖是否合理(用了sheetjs,没问题)
  • 检查类型定义是否正确
  • 检查边界情况处理

发现问题:没有处理空数据的情况。

我输入:“补充一下空数据的判断,如果数据为空则弹出提示。”

10秒后,更新完成。

早上 9:15

代码已经合并到项目里,功能上线测试。

整个过程:15分钟。

如果是纯手写?至少1小时起步。

💡 这不是偷懒,这是"效率进化"。以前花1小时写代码,现在花1小时审代码——产出是一样的,但可以做更多事情。


Before vs After:代码对比

让我展示一个真实案例的对比:

需求:实现一个请求重试函数

传统写法(Before)

// 我需要:
// 1. 搜索"请求重试"的实现方式
// 2. 对比几种方案
// 3. 选择一种自己实现
// 4. 处理边界情况
// 5. 写单元测试
// 耗时:30-60分钟

async function fetchWithRetry(
  url: string, 
  options?: RequestInit,
  retries = 3,
  delay = 1000
): Promise<Response> {
  for (let i = 0; i < retries; i++) {
    try {
      const response = await fetch(url, options);
      if (response.ok) return response;
      throw new Error(`HTTP ${response.status}`);
    } catch (error) {
      if (i === retries - 1) throw error;
      await new Promise(r => setTimeout(r, delay * (i + 1)));
    }
  }
  throw new Error('Unreachable');
}

Vibe Coding(After)

我输入的 Prompt:
"写一个带有指数退避的请求重试函数,支持自定义重试次数、
延迟时间、可重试的状态码列表,TypeScript实现,加上JSDoc注释"

耗时:20秒

AI输出的代码质量?和我手写的几乎一样,甚至注释更规范。

区别在哪?

我不需要思考"怎么实现",只需要思考"需要什么功能"。

💡 编程正在从"写作文"变成"出题目"。以前你是写作者,现在你是出题人+阅卷人。


争议:这还算程序员吗?

Vibe Coding 的争议很大。

反对派的观点

  1. “这不叫编程,叫复制粘贴”
  2. “不手写代码,能力会退化”
  3. “遇到AI不会的问题怎么办?”
  4. “这样培养出来的程序员只是在’调用API’”

支持派的观点

  1. “Excel替代了手工计算,你不也在用吗?”
  2. “重要的是解决问题,不是手写代码”
  3. “省下来的时间可以做更有价值的事”
  4. “AI只是工具,会用工具是进化”

我的看法?

两边都对,但都不完全对。

真相是:Vibe Coding 是一种技能,但不是替代品

你需要:

  • 能够精准描述需求(否则AI给不出好代码)
  • 能够审核代码质量(否则就是埋雷)
  • 能够在AI失败时接手(否则你就废了)

💡 Vibe Coding不是让你不学编程,是让你站在更高的层次编程。你需要知道"对不对",但不一定非要亲自写。


Vibe Coding 的边界

Vibe Coding 不是万能的。

✅ 适合的场景

场景 原因
CRUD 业务代码 有大量重复模式,AI擅长
工具函数 有明确输入输出,容易描述
配置文件 格式固定,AI很少出错
单元测试 边界情况AI反而想得更全
文档生成 自动补全JSDoc、README

❌ 不适合的场景

场景 原因
复杂业务逻辑 AI不理解业务上下文
架构设计 需要全局思维,AI做不到
性能优化 需要实际profiling数据
安全敏感代码 AI可能引入漏洞
调试疑难bug 需要上下文推理

💡 Vibe Coding是"放大器",不是"替代器"。它放大你的效率,但不能替代你的判断力。


如何开始 Vibe Coding?

如果你想尝试,这里有几个建议:

1. 学会写好 Prompt

Prompt 质量决定输出质量。

❌ 差的 Prompt:
"写一个登录功能"

✅ 好的 Prompt:
"用React + TypeScript实现一个登录表单组件:
1. 包含用户名和密码输入框
2. 使用React Hook Form进行表单验证
3. 用户名至少3个字符,密码至少8个字符
4. 提交时调用login API,处理loading和error状态
5. 样式使用Tailwind CSS"

2. 永远审核代码

AI生成的代码可能:

  • 使用过时的API
  • 有安全漏洞
  • 不符合项目规范

复制粘贴之前,至少读一遍。

3. 保持手写能力

每周留出时间,关掉AI,手写代码。

这是你的"核心肌肉",不能完全退化。

💡 最强的程序员,是既会Vibe Coding,也能随时切换回手写模式的人。


写在最后

Vibe Coding 正在改变编程的方式。

但它不会淘汰程序员。

它淘汰的是:

  • 只会"手工搬砖"的程序员
  • 不愿意拥抱变化的程序员
  • 不会使用工具的程序员

而那些既懂技术又会用AI的人,效率会提升几倍。

💡 未来属于"人机协作"的程序员。你+AI > 你自己 > 只用AI。这个公式不会变。


问你一个问题:

你现在的代码,有多少是AI帮你写的?

评论区聊聊。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐