Vibe Coding:非程序员也能造软件

2025 年 2 月 2 日,OpenAI 联合创始人、前特斯拉 AI 总监 Andrej Karpathy 发了一条”浴中哲思”式的推文,顺手造了个词——vibe coding。这条推文后来被浏览数千万次,并入选多方”年度词汇”。本文还原它的准确含义与出处,讲清它适合做什么、风险在哪,以及非程序员到底能从中获得什么。

概念与准确出处

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.” (有一种新的编程方式,我称之为 vibe coding:你完全臣服于氛围,拥抱指数增长,甚至忘记代码的存在。)

他描述的工作状态是:用 Cursor Composer 配 Claude Sonnet 写代码,用 SuperWhisper 语音输入,“我基本不碰键盘”;遇到想改的小事(“把侧边栏内边距减半”)懒得自己找 CSS,直接让 AI 改;永远点 “Accept All”,不再看 diff;报错就原样粘回对话框,“通常这就修好了”(Karpathy, X,2025-02-02)。

原文链接:https://x.com/karpathy/status/1886192184808149383

要点澄清:vibe coding 不是一套严谨方法论,而是给一种早已存在、却没被命名的行为贴了标签——用自然语言描述想要的东西,接受 AI 的生成,靠”感觉对不对”来判断,不逐行读代码。它是一种”重结果、轻审查”的造原型态度,不是工程规范。

一个常被忽略的细节:Karpathy 在 2025 年底的回顾里称,编程正日益成为专业人士”带更多监督和审视”的默认工作流,他更偏爱的新词是 “agentic engineering”——即你不再直接写 99% 的代码,而是编排多个 Agent 并做监督。这恰好说明:vibe coding 是起点,带护栏的 Agent 工程是更成熟的去向。

适用场景

vibe coding 在”低成本试错、失败无严重后果”的场景里价值最大:

  • MVP / 原型:周末项目、内部小工具、验证一个想法,几小时跑通比”写三天”重要得多。
  • 个人项目与学习:非程序员用自然语言把脑中想法变成能用的小应用,过程中顺便理解基本概念。
  • 一次性/可丢弃工具:处理一次数据的脚本,“用完即弃”,不必长期维护。
  • 演示与内部效率工具:团队里不懂代码的人也能自助搭个小看板、自动化表单。

它的本质优势是大幅压低”想法→可运行软件”之间的摩擦。Karpathy 的原话:“It’s not really coding — I just see stuff, say stuff, run stuff, and it mostly works.”(这不算真编程,我只是看、说、跑,大多能成。)对原型而言,这已经足够。

风险提示

把”不看代码”的原型态度直接搬到生产环境,风险会被放大。需要清醒认识四类问题:

安全风险

不看代码的代价,是看不到里面的漏洞。AI 可能写出含注入、硬编码密钥、越权访问的代码而不自知。一旦这类代码上线或处理真实数据,后果由你承担。

可维护性问题

vibe coding 产出的代码常”能跑但说不清为什么能跑”。当需求变化、要接新功能、或出怪 bug 时,没人读得懂的代码会变成负担。Karpathy 自己也承认代码库膨胀到超出理解范围时,“真要搞懂得花不少时间读”。

幻觉与”看似正确”

模型会自信地生成看起来合理、实则错误的代码,尤其在它不熟悉的库或冷门 API 上。原样 Accept 而不验证,等于把错误埋进产品。

技术债累积

大量自动生成、未经打磨的代码会快速堆叠技术债:重复、无测试、结构混乱。短期快,长期可能”改不动”。这点在 METR 2025 年的研究中也有呼应——在复杂成熟代码库上,缺乏深度上下文的 AI 工具反而增加返工与审查负担(Becker 等,arXiv:2507.09089)。

与专业开发者的分工

vibe coding 不是”程序员失业”的信号,而是改变了分工边界:

  • 非程序员 / 业务人员:用 vibe coding 造原型、做内部工具、验证想法,把”能不能做”的门槛降到几乎为零。
  • 专业开发者:把 vibe coding 当快速起手,但随即介入——读关键代码、补测试、做安全审查、重构结构、管理技术债。
  • 协作模式:业务方用自然语言甩出第一版,开发者把它”工程化”。正如 Karpathy 所说,vibe coding 让”本不会被写出来的软件”被写出来,专业开发者的角色上移到审查、架构与把关。

换句话说,vibe coding 扩展的是”谁能造软件”,专业开发者扩展的是”造出来的软件能否可靠存在”。

对非程序员的意义

对非程序员,vibe coding 真正的意义不是”你不用学编程了”,而是:

  1. 想法可立即变现:不用等排期、不用雇人,自己就能把一个工具做出来。
  2. 降低试错成本:小工具、自动化脚本自己搞定,把重复劳动交给软件。
  3. 倒逼清晰表达:要指挥 AI,你得把需求说清楚——这本身是一种越来越值钱的能力。
  4. 仍需基本判断力:能识别明显错误、知道何时该找专业开发者审、理解”这个能不能上线”的边界,是新的基本功。

务实建议:用 vibe coding 造原型、做自用工具完全没问题;但凡涉及真实用户、真实数据、安全敏感,就补上”读关键代码 + 补测试 + 找人审”这三道护栏,或干脆升级到带监督的 Agent 工程。

小结

  1. Vibe coding 由 Karpathy 于 2025-02-02 提出,原意是”臣服于氛围、忘记代码存在、靠感觉验收”,是一种重结果轻审查的造原型态度,并非工程规范(出处:x.com/karpathy/status/1886192184808149383)。
  2. 适用场景集中在 MVP、内部工具、个人项目、一次性脚本等”失败后果小、试错成本低”的地方。
  3. 主要风险是安全漏洞、可维护性差、模型幻觉、技术债累积——把原型态度直接搬去生产很危险。
  4. 与专业开发者是分工而非替代:业务方起手造原型,开发者负责审查、测试、架构与把关。
  5. 对非程序员的意义在于降低造软件的门槛、倒逼清晰表达,但基本判断力与”何时找人审”仍是刚需。
  6. 更成熟的去向是 Karpathy 后来偏好的 “agentic engineering”:编排 Agent 并做监督,而非完全放手。

参考来源

  1. Andrej Karpathy 原推(vibe coding 一词出处,2025-02-02):https://x.com/karpathy/status/1886192184808149383
  2. Business Insider,Karpathy 年底回顾(vibe coding “terraform software”、agentic engineering 演变、METR 19% 放缓研究提及):https://www.businessinsider.com/andrej-karpathy-coined-vibecoding-ai-prediction-2025-12
  3. Becker, Rush, Barnes, Rein,《Measuring the Impact of Early-2025 AI on Experienced Open-Source Developer Productivity》(复杂代码库上 AI 工具的返工与审查负担):https://arxiv.org/abs/2507.09089
  4. Anthropic,《Building effective agents》(从 vibe 走向有护栏的 Agent 工程的理念基础):https://www.anthropic.com/engineering/building-effective-agents
  5. Anthropic,Claude Code 官方最佳实践(补测试、给验证门槛、人工审查等护栏实践):https://code.claude.com/docs/en/best-practices
  6. SWE-bench 官方站(理解”可客观验证”的编码能力口径,对照 vibe coding 的”靠感觉验收”):https://www.swebench.com/
本文累计阅读