Vibe编程已经出现半年了,这半年也尝试了很多工具和构建了一些小的应用,这篇文章也谈谈我对于Vibe编程的理解。
Vibe编程
Vibe编程中文翻译是氛围编程,2025年2月3日,前OpenAI联合创始人、前特斯拉人工智能主管Andrej Karpathy在社交平台X上发布了一条看似平常却引发全网热议的推文,其大意是说:
有一种新的编码方式,称之为Vibe编程;它让你完全沉浸在氛围中,拥抱指数级增长,甚至忘记代码的存在。
Karpathy用一种近乎诗意的语言描述了他的编程体验:"这已经不能算是真正的编程了,我只是看看、说说、运行、复制并粘贴,然后程序就能运行了。 ",这句话瞬间击中了无数开发者的内心,因为它精准地概括了一种全新的软件开发体验,在短短48小时内,这条推文获得了超过50万次转发,Vibe编程的话题迅速登上全球趋势榜。

我理解的氛围编程就是将 AI
工具当成你的编码助手,您就是一个架构师或者产品经理,其两者的分工是架构师或者产品经理描述详细的产品形态,编码助手负责所有的编码和部署工作。
Vibe编程和传统编程的差异
在传统编程中,开发者必须同时处理多个层次的抽象------不仅需要了解操作系统,还需要了解编程语言的细节,可能一不小心就出现内存泄漏或者 panic
,每一行代码都必须实现,可能遇到常用的库也需要自己重新实现一遍。
在Vibe编程中,开发者似乎已经不需要关心编程语言了,由于底层大模型是全能的,从 C/C++
到 Rust
,从 JS
到偏门的 Web
框架,开发者转变为架构师,不再需要关心编码细节。
但是有个问题必须要注意:如果你真的想成为一个优秀的Vibe编程工程师,你还是需要懂数据结构、算法和设计模式等基础知识和行业经验知识,为什么?
- 底层模型不一定能完全遵循规则,可能实现的算法不一定是最优的,你需要了解算法,并且将模型纠正过来
- 行业经验知识有很多沉淀或者规则,大模型能了解通用知识,但是行业知识甚至私有化知识不一定能遵循,所以你需要读懂行业代码
所以对于复杂的系统架构、专业领域知识等,传统编程的精确性和可控性仍然不可替代,而快速原型开发、个性化应用等场景,Vibe编程的优势则更加明显。
Vibe编程工具推荐
以下是排名靠前的工具和LLM模型:

从上面看有很多Vibe工具是被大家在长期使用的,下面我重点介绍几个氛围编程的工具。
1. Lovable:lovable.dev/

Lovable设计哲学是"零技术门槛",你不需要理解什么是前端、后端,也不需要知道数据库如何工作,只需要描述清楚想要什么,Lovable就会处理所有技术细节。
它特别适合产品经理、设计师或创业者快速验证商业想法。
2. V0:v0.app/

Vercel推出的快速构建原型的工具,V0主要专注于前端界面生成,它的强项是创建美观、现代的用户界面,V0基于shadcn/ui和Tailwind CSS,生成的代码不仅功能完整,还遵循软件设计最佳实践。
3. bolt.new:bolt.new/

bolt.new特别合快速原型开发和MVP验证,内置了与Netlify的部署集成,可以一键将项目部署到生产环境,也集成了github,Figma等常用的程序员和产品经理的工具。
bolt.new的最大优势是整个编辑器都在浏览器中运行,无须下载安装任何软件,这降低了技术门槛,它支持多种技术栈;通过使用不同的技术组合,能帮你将逐渐理解前端、后端、数据库等概念的区别和联系。
4. Cursor,TRAE和其他vscode copilot
这些工具应该大家都不陌生,可能已经成为大家日常使用的一部分了,就不过多介绍了,对于氛围编程来说,这些工具其实是辅助,主要解决:
- 如何选择最好的LLM模型,更好的生成工程
- 如何处理长上下文,解决幻觉或者需求不遵循问题
- 如何集成MCP或者Agent,实现高度自动化 ....
Vibe编程实践
1. 熟练掌握Prompt
Prompt
是 AI
时间的必备技能,我之前写过很多 Prompt
技能,这里就不再赘述了,就总结几个比较常用的:
- 少样本提示,让
AI
模拟样例完成任务 - 角色提示,比如以产品经理角度观察问题,就写"你是专业的产品经理",以程序员角度完成工作,就写"你是专业的后端程序员,需要处理..."
- 思维链提示,这块可以用于解决程序bug,比如出现什么问题,可能是什么原因,排查路径可能是什么,让AI更快速的解决或者深入解决问题
- 思维树提示,将问题分解为多个实现路径,让AI决定先实现哪个方案,再实现下一步,类似
plan
计划 - 写
Prompt
尽量提示样例,并给出明确的指令解决哪一个问题,而不是泛化 - 告诉模型应该做什么,不应该做什么,当然这里不一定一次就能给出完整的,可以让模型多次输出后,总结一些约束规则
更多的 Prompt
,可以参考:mp.weixin.qq.com/s/q5O32QOIY...
2. 四步法
如果要用好Vibe编程,可以尝试这4步:
(1)找到问题
如果你要尝试氛围编程,先不着急开始让 AI
开始帮你干活,你需要做好的就是分析问题,分析你需要的是什么,这个产品或者项目会有什么问题,风险点有哪些。
这个阶段你需要像一个非常有经验的产品经理,亦或是一个非常老练的项目经理,将问题找出来,一步一步拆解。
(2)转换问题,提出解决方案
这个阶段主要是对问题的细化,解决方案是什么,选项具体的技术方案,比如选择后端是 golang
,选择的 golang
的框架是什么,是否需要采用微服务架构,部署的方案选择是什么,这一部分需要有经验的程序员调研其各个 AI
的工具链是否完善。
所以我觉得氛围编程会涌现类似 SupeBase
这样的全栈产品作为基础设施,解决前后端的部署和数据存等问题。
(3)实现最小可行性(MVP)
通过上面两个步骤,这一步就是开始让 AI
干活了,这一步骤需要掌握的最重要的技能就是 Prompt
,将你的问题,解决方案,产品思路通过细化的 Prompt
给到 AI
,当前阶段有些实践如下:
MVP
的原则是什么?最小化产品,这一步骤切记不要求将功能全部实现,AI
也不能接受这么多输出。- 目标验证工程的可行性,将"不需要的功能"告诉
AI
不要实现,做一些约束,输出的越多,需要改的就越多。 Prompt
一定是清晰的,比如说:"帮我做个编程网站",改为"创建一个蓝白色调的技术博客网站,主要分享Python编程教程,首页展示最新5篇文章的摘要和封面图片,文章支持代码高亮显示,右侧边栏包含文章分类、标签和作者简介,底部有评论功能。 "- 掌握具体化描述,最有效的练习方法是"5W1H":Who(用户是谁)、What(做什么功能)、When(什么时候使用)、Where(在什么环境下使用)、Why(为什么需要)、How(如何实现)。
(4)完善和优化方案
这一步骤是最难的,当 AI
将产品拆解为工程,并实现代码运行的 demo
,但是可能会经历如下问题:
- 运行出现错误,怎么解决?
- 产品的
demo
不符合实际的要求? - 想修改按钮的逻辑,但是让
AI
修改可能改出几百行代码? - 修改颜色或者大小等属性,
AI
一直不能理解,最后不得不亲自动手? ...
遇到如上问题怎么办?这里很多问题其实我也无法给出具体的方法,我给一些经验:
-
错误反馈技巧:直接复制错误信息比描述更有效,比如编译报错,将报错信息直接贴给
AI
-
先读一下大概的代码,当你知道需要修改那部分样式或者功能,可以直接指定当前文件或者给出具体的哪些行,这样
AI
能更准确的了解你的需求 -
优化当前
demo
,可以给出明确的要求,比如:请为应用添加如下精细化改进。 1. 视觉优化:使用现代的渐变背景,卡片式设计显示记录,添加适当的阴影效果。 2. 图标支持:为不同类别添加相应的图标(餐饮用餐具图标,交通用汽车图标等)。 3. 颜色区分:收入记录显示为绿色,支出记录显示为红色。 4. 动画效果:添加和删除记录时有平滑的过渡动画。 5. 个性化设置:用户可以自定义类别和对应的图标颜色。
-
将大的优化改为小的优化,每次只修改一个功能点
-
提供参考样例,比如你的实现可以参考
xxx
网站的颜色和布局,哪些功能不需要等
....
验证Vibe编程的可能性
基于以上实践,我用 TRAE
尝试实现了一个 SimpleMath
,主要解决在工作中要演示动画的问题,其中github如下:
以下是我的拆解步骤:
(1)第一步:找到问题
开始的时候我已经先想好我需要做什么,其实我的目标很简单,不需要复杂的功能,只需要结合了人工智能和可视化技术,让用户通过简单的文字描述就能生成精美的数学动画。
(2)第二步:提出解决方案
其实实现生成数学动画的方案有很多,用python也可以,用web展示也可以,但是选择不同的语言又有不同的技术栈,这样就变成了一颗决策树,对于 AI
直接让他干活肯定是不行,怎么办?
- 自己先收集资料,这里的可行的实现方案有哪些?
- 用什么技术栈,最好选择你自己熟悉的,这样出现问题,可以排查,另一个也可以鉴别
AI
是不是走偏 - 大概的架构方案是什么?
- ...
最后根据以上的综合考虑,我选择 p5.js
,参考 Manim
方案实现,技术栈就用 Vue
,为了整个项目简单部署,就没有选择后端方案。
(3)第三步:让 AI
实现MVP
完成前面两步骤,就可以开始让 AI
实现最小化需求,于是我简单描述我的 Prompt
如下:
markdown
你是专业的Vue的开发者,现在要基于p5.js实现类似Manin的各种数学和算法演示项目,要求如下:
1. 基于Vue
2. 使用p5.js实现动画效果
3. 在AI对话框内输入,自动生成代码,放入p5.js框架内运行,展示动画效果
4. 使用openai的标准API
3. 样式布局:
- 左边是对话框架,类似AI对话框
- 右边是展示p5.js的演示动画效果
- 有设置的功能,选择模型,设置模型的参数等
- 页面简洁,清晰,不要有多余的功能(不需要登录)
这个时候 AI
工具会将如上需求拆解,细分,然后等你的想法和 AI
的想法是否一致,如果一致就开始编码。
(4)第四步:优化
优化这个步骤是最难的,如果你有编程基础可能还能看懂代码,分析出现的问题,如果只是产品,那遇到一个比较难的问题可能就会卡住很久,不过像 TRAE
等工具已经将生成的工程放到整个沙盒环境,从编译到控制台报错,都可以让 AI
基于错误找到问题的地方,这个还是挺方便的。
除了上述问题,在这个项目中遇到我到底要不要加一个后端接口的问题,由于没有加后端接口,发现使用 p5.js
重新渲染动画一直会报错,让 AI
尝试了十几次以后,问题还是没有解决,怎么办?只能修改方案,可能模型并不知道使用 p5.js
动态加载会出现一系列的 bug
,于是架构师出马了,开始换方案,Prompt
如下:
markdown
p5.ts 改为生成代码,从后端返回,然后加载到动画展示区域,应该需要改如下功能:
1. 增加express作为后端框架
2. 生成的代码传给express,express自动返回一个动态的URL
3. 动画展示区域展示返回的URL
这样就能解决动态加载p5.js的生成代码了
...
经过一系列的折腾,终于完成了,效果如下:

Vibe编程的思考
从各种网上的结论怎么看 Vibe编程
这个概念的呢?有两种不同的声音:
有人说:"氛围编程看似捷径,但本质是死路"
为什么这么说,可能很多人没有使用氛围编程写过生产代码,如果用代码上线过,的确可能会发生问题,看似逻辑是正确的,没有工程师当监工,这些代码只能永远存在仓库中。
氛围编程或许让功能上线飞快,但需要真正支撑生产环境的,是懂系统、能排查、懂业务逻辑的工程师。
我认可这种结论,作为一个工作10年的后端工程师,线上的任何一行代码都必须要保证准确,一旦内存泄漏,或者使用了某些全局变量,或者没有判空等,可能当时不会发现,运行几天以后就挂了...。
氛围编程毕竟用 AI
,AI
不一定 100%
准确,特别是复杂的问题,现在做一个假设,将一个复杂的问题拆分为 10 个步骤,假设 AI
每个步骤都能按照 98%
遵循,根据出问题的概率叠加,0.98
进行 10 次相乘,就只有 80%
左右的概率不出现问题,所以问题的确在 AI
上叠加。
有人说,可以让 AI
多次检查,多写测试用例,多做代码覆盖,其实对于一个黑盒来说,AI
是裁判也是运动员,怎么能做到一定正确呢?
也有人说:"氛围编程是未来,将改变编程的新范式"
我认为任何一种新的效率提升的范式都会受到旧思想的阻挠,又会被一群看到希望的人追捧,就像当年重新塑造经济范式的 BTC
。
反对的观点是氛围编程不能 100%
解决问题,但是真实情况是的确能提效,你想像一下当你想了解某个知识点,以前的思考习惯是自己整理资料,而且资料的内容可能杂乱,导致你的系统性思考是复杂的,现在 AI
按照你的想法帮你整理资料,并实现代码逻辑,是不是好像多了一个助手,肯定能提效。
就像我上面自己实现的 SimpleMath
开源项目,如果要我自己实现,至少需要3-5天,但是用 AI
写代码并优化,只花了5个小时。
如果你没有尝试氛围编程,可以尝试一下,你可能刚开始不适应,但是你的确能获得惊喜,不过前提是你接受这种方式,并且有一定的编程基础。
参考
(1)《玩转氛围编程》