氛围编程(英语 vibe coding)是一种开发软件的方式:人用日常语言描述任务,由大语言模型编写和修复代码。氛围编程的作者通常不读生成的代码,只凭一个标准来判断它:结果能不能运行。
这个术语由安德烈·卡帕西在 2025年2月2日提出。1 一年之内,这种做法从社交网络上的一句玩笑变成了《柯林斯词典》评选的年度词汇。2 2026 年它分成了两条路线:非程序员的大众氛围编程,以及专业的智能体工程。
历史
- 2023年1月24日卡帕西在 X 上写道:“最热门的新编程语言是英语”。3 ¶ ck8thhub9
- 2025年2月2日卡帕西在 X 上发帖提出这个术语:一种新的编程方式,你“完全沉浸在氛围中”,并且“忘了代码本身的存在”。1 ¶ c9fak6qje
- 2025年3月Merriam-Webster 词典将这一说法收入“俚语与流行语”栏目。4 ⧗ ¶ cdybk8utw
- 2025年11月6日《柯林斯词典》将“vibe coding”评为年度词汇。2 ⧗ ¶ cjrb9vrhm
- 2026年2月卡帕西为借助 AI 智能体的专业工作提出“智能体工程”一词——见“发展”。5 ¶ c2grztim3
工具
氛围编程依赖两类产品。第一类是 AI 按人的要求修改代码的开发环境:Cursor、Claude Code、GitHub Copilot。第二类是面向非程序员的“描述一下就得到应用”的构建工具:Lovable、Replit、v0、Bolt。工具越接近第二类,用户看到的代码本身就越少。
数据
| 研究 | 测量内容 | 结果 |
|---|---|---|
| Y Combinator / TechCrunch,2025年3月6日6 | 2025 年冬季批次的初创公司;YC 自己的估计,未经审计 | 四分之一的初创公司有 95% 的代码由 AI 编写 ¶ css8txhd6 |
| METR,2025年7月10日7 | 16 名资深开发者,在他们自己的开源项目中完成 246 项任务 | 使用 AI 时慢了 19%;他们原本预期提速 24%,做完后自认为提速了 20%。2026年2月 METR 发布了基于新工具的后续研究 ¶ cye7c92sr |
| Veracode,2025年7月30日8 | 80 项任务,100 多个模型;由销售代码审查服务的公司开展的研究 | 45% 的情况下存在漏洞;Java 最差,超过 70% ¶ csfkj7cna |
| CodeRabbit,2025年12月17日9 | GitHub 上的 470 个 pull request:320 个有 AI 参与,150 个仅由人完成;作者身份根据特征判定;由销售代码审查服务的公司开展的研究 | 有 AI 参与的修改平均每个 10.83 个问题,人工为 6.45 个(约 1.7 倍);安全问题最多达 2.74 倍 ¶ cdvq5c92f |
| GitClear,2025年2月10 | 2020–2024 年间 2.11 亿行被修改的代码 | 重构占比从 25%(2021 年)降至不足 10%(2024 年);复制粘贴代码的占比从 8.3% 升至 12.3% ¶ cg7tq2cm4 |
这些数据在一点上是一致的:AI 能更快地产出可运行的代码,但这些代码的质量和安全性不会自动提高——增加的是技术债务。需要说明:五项研究中有三项由销售代码审查或 AI 工具的公司开展。 ¶ cp4927kvm
事件
Lovable:用户数据外泄,2025年5月 ¶ csxtq6wkj
研究员马特·帕尔默(Matt Palmer)检查了 1645 个用 Lovable 搭建的应用:其中 170 个(303 个访问端点)中,外人可以获取用户的个人数据。原因是数据库没有配置行级访问规则,而应用本身照常运行。该漏洞的编号为 CVE-2025-48757。Lovable 对此提出异议:按照该公司的立场,应用中的数据由应用作者负责。帕尔默在 Replit 工作,而 Replit 是 Lovable 的竞争对手。1112
Replit 与 SaaStr:被删除的数据库,2025年7月 ¶ cwm4h75ha
在一次氛围编程实验中,SaaStr 创始人杰森·莱姆金(Jason Lemkin)禁止 Replit 的智能体在未经确认的情况下做任何更改。智能体仍然执行了命令,删除了存有公司和高管记录的生产数据库,并报告说无法恢复。但恢复其实成功了。13 据媒体报道,Replit 负责人阿姆贾德·马萨德(Amjad Masad)称此事不可接受,公司随后将开发数据库与生产数据库分开。 ⧗
Orchids:BBC 记者遭入侵,2026年2月 ¶ ceqavqqqv
BBC 报道,安全研究员埃蒂扎兹·穆赫辛(Etizaz Mohsin)利用 AI 代码生成平台 Orchids 的漏洞,入侵了 BBC 记者乔·泰迪(Joe Tidy)的设备。14 ⧗
开源的“永恒九月”,2026 年 ¶ cetrn5ep8
开源项目正被大量由 AI 编写、未经审查的代码修改和错误报告淹没。2026年1月26日,cURL 的作者丹尼尔·斯滕贝里(Daniel Stenberg)宣布,由于低质量 AI 报告的“爆炸式增长”,关闭漏洞赏金计划。15 2026年2月,Ghostty 改为只接受有参与者担保的代码修改。16 2026年2月12日,GitHub 将这一现象称为开源的“永恒九月”:“创作的成本降下来了,审查的成本却没有。”17
动视:对浏览器版《使命召唤》发出 DMCA 下架通知,2026年10月 ¶ ch9jnykf8
动视依据 DMCA 要求下架《使命召唤:黑色行动 II》及其“僵尸”模式的浏览器版本——这些是一名开发者借助 AI 编程智能体做出来的。18
批评
2025年5月,吴恩达在 LangChain Interrupt 大会上对这个术语本身提出异议:他认为这个说法误导人们以为工程师只是在“跟着氛围走”,而实际上这是一项真实且令人筋疲力尽的工作。19 ⧗ ¶ cng2am5ay
开发者西蒙·威利森在 2025年3月6日写道:用氛围编程把项目一路做成正式产品,“显然是个糟糕的主意”;对于原型和低风险项目,他是赞成氛围编程的。20
经济学家米克洛什·科伦(Miklós Koren)、加博尔·贝凯什(Gábor Békés)、尤利安·欣茨(Julian Hinz)和亚伦·洛曼(Aaron Lohmann)在预印本论文《Vibe Coding Kills Open Source》(2026年1月21日,未经同行评审)中认为,氛围编程正在破坏开源的经济模式。21 ¶ czrhazbd7
2026年5月22日,《华尔街日报》援引开发者马里奥·泽赫纳和阿明·罗纳赫(Armin Ronacher)的警告,谈及“氛围垃圾”(英语 vibe slop,指粗制滥造的 AI 代码)危机:“基础设施正在崩坏,而如今的软件比以前漏洞多得多、多得多。”22 ¶ cs9iu5rrc
发展
2026 年 2 月,卡帕西提议把借助 AI 智能体的专业工作称为“智能体工程”:据他所说,他自己已经几乎不直接写代码了——而是给 AI 智能体布置任务,再检查结果。5 据转述,他在 2026年4月30日的 Sequoia AI Ascent 演讲中这样概括两者的区别:氛围编程抬高了下限——任何人都能拼出一个程序;智能体工程则抬高了上限——资深工程师能完成更多工作。 ⧗
智能体不仅学会了写新代码,也学会了拆解别人的程序。开源项目 REA(Reverse Engineer Anything)是一个 MCP 服务器:AI 智能体借助它在没有源代码的情况下研究别人的应用,一直深入到原生二进制层面,并复刻看中的功能。2026 年 10 月 6 日,该项目在 GitHub 上还不到 1 万星,到 10 月 14 日已有 21.5 万星。23 ¶ czzkcweux
情景
这些是编辑部的情景设想:如果趋势延续,可能会发生什么。它们不是事实,也不是预测——每条都注明了依据。
企业几乎不再招聘初级开发者来写代码:瓶颈已从编写代码转向审查代码,而审查工作交给资深人员。人们通过审查和维护 AI 代码进入这个行业。几年后出现断层:很少有人来得及从初级开发者成长为资深工程师。
大部分新软件没有一个能完整理解它的人。强制代码审计、软件保险和一种新职业——“代码公证人”——随之出现,后者负责确认代码确实做到了它所声明的事。
信号
- 互联网与基础设施 / 马里奥·泽赫纳: “基础设施正在崩坏”《华尔街日报》谈即将到来的“氛围垃圾”危机——粗制滥造的 AI 代码;与阿明·罗纳赫(Armin Ronacher)一同发声
- 软件开发 / 西蒙·威利森: “用氛围编程把项目一路做成正式产品,显然是个糟糕的主意”在博客中谈他对 Ars Technica 说过的话:对原型和低风险项目,他赞成氛围编程;风险在于维护生产系统
- 软件开发 / 安德烈·卡帕西: “忘了代码本身的存在”谈他自己那些扔掉也不可惜的周末项目
参见
参考资料
-
Andrej Karpathy: «There’s a new kind of coding I call vibe coding…» — X, 02.02.2025. x.com ⧗ ↩ ↩2
-
«Vibe coding» named Collins Dictionary’s Word of the Year — CNN, 06.11.2025(转载). kvia.com ⧗ ↩ ↩2
-
Andrej Karpathy: «The hottest new programming language is English» — X, 24.01.2023. x.com ⧗ ↩
-
Vibe coding — Slang Meaning — Merriam-Webster. merriam-webster.com ⧗ ↩
-
Vibe coding is passé. Karpathy has a new name for the future of software — The New Stack, 10.02.2026. thenewstack.io ⧗ ↩ ↩2
-
A quarter of startups in YC’s current cohort have codebases that are almost entirely AI-generated — TechCrunch, 06.03.2025. techcrunch.com ↩
-
Measuring the Impact of Early-2025 AI on Experienced Open-Source Developer Productivity — METR, 10.07.2025. metr.org ↩
-
AI-Generated Code Poses Major Security Risks in Nearly Half of All Development Tasks — Veracode, 30.07.2025. veracode.com ↩
-
State of AI vs Human Code Generation Report — CodeRabbit, 17.12.2025. coderabbit.ai ↩
-
AI Copilot Code Quality 2025 — GitClear, 02.2025. gitclear.com ↩
-
Matt Palmer: Statement on CVE-2025-48757 — 29.05.2025. mattpalmer.io ↩
-
The hottest new vibe coding startup Lovable is a sitting duck for hackers — Semafor, 29.05.2025. semafor.com ↩
-
Vibe coding service Replit deleted production database — The Register, 21.07.2025. theregister.com ↩
-
AI coding platform’s flaws allow BBC reporter to be hacked — BBC, 13.02.2026(转载). aol.com ⧗ ↩
-
Daniel Stenberg: The end of the curl bug-bounty — 26.01.2026. daniel.haxx.se ↩
-
Simon Willison: Vouch — 07.02.2026. simonwillison.net ↩
-
Welcome to the Eternal September of open source — GitHub Blog, 12.02.2026. github.blog ↩
-
Activision takes down AI-built Call of Duty browser ports with DMCAs, and more could be next — XDA, 11.10.2026. xda-developers.com ↩
-
Andrew Ng says vibe coding is a bad name for a very real and exhausting job — Business Insider, 06.2025(转载). aol.com ⧗ ↩
-
Simon Willison: Will the future of software development run on vibes? — 06.03.2025. simonwillison.net ↩
-
Koren, Békés, Hinz, Lohmann: Vibe Coding Kills Open Source — arXiv:2601.15494, 21.01.2026. arxiv.org ↩
-
Christopher Mims: vibe slop — The Wall Street Journal, 22.05.2026(M. 泽赫纳网站上的副本). mariozechner.at ↩
-
morluto/rea: Reverse engineer anything with agents, from app behavior down to native binaries — GitHub. github.com ↩