1. 什么是Vibe Coding
什么是Vibe Coding
2025 年初,特斯拉前 AI 总监、OpenAI 联合创始人 Andrej Karpathy 发了一条推文,大意是说他发现了一种新的编程方式——不用写代码,只需要用自然语言告诉 AI 你想要什么,AI 就能帮你把代码写出来。他给这种方式起了个名字,叫 Vibe Coding,翻译过来就是"氛围编程"。
这条推文瞬间引爆了整个技术圈。不是因为 AI 写代码这件事有多新鲜,而是因为 Karpathy 本人就是顶级的 AI 研究者和程序员,连他都开始用"说话"代替"写代码"了,这件事本身就很有说服力。更关键的是,他描述的那种体验击中了太多人的痛点——想做个小工具、想搭个网站、想实现个想法,但卡在"不会写代码"这一步上,而现在这个门槛可能真的要消失了。
1. Vibe Coding 到底是什么
Karpathy 在推文里是这样描述 Vibe Coding 的:
"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',你完全沉浸在感觉中,拥抱指数级的变化,甚至忘记代码的存在。)
这段话听起来有点抽象,用大白话翻译一下就是:你不用去纠结代码怎么写、语法对不对、变量该叫什么名字,你只需要把你的想法用人话说出来,AI 来帮你把代码搞定。你关注的是"做什么",而不是"怎么写"。
打个比方,传统编程就像你自己下厨做菜。你得知道什么菜怎么切、油温多少度下锅、盐放多少克、翻炒几分钟。做出来好不好吃,全靠你的手艺。而 Vibe Coding 更像是你坐在餐厅里点菜——你只需要告诉服务员"我要一份糖醋排骨,不要太甜,微辣",厨师就会帮你做出来。你不需要知道怎么腌肉、怎么调糖醋汁,你只需要知道自己想吃什么,以及尝了之后告诉厨师"再咸一点"或者"火候过了"。
【建议配图1 —— 传统编程 vs Vibe Coding 对比图】
图片描述:左右两栏对比布局。左侧标题"传统编程",背景浅红色,图标是一个人坐在电脑前满头大汗,周围漂浮着代码符号(花括号、分号、变量名),下方文字"你需要:学语法、写代码、调Bug、查文档"。右侧标题"Vibe Coding",背景浅绿色,图标是一个人轻松地对着电脑说话,电脑屏幕上显示聊天气泡,AI 机器人图标在旁边工作,下方文字"你需要:说清楚想要什么"。中间用一个大的 VS 符号连接。底部有一行小字:"从'我来写'到'AI来写,我来看'"。
整体目的:让读者一眼看懂 Vibe Coding 和传统编程的本质区别
这个类比虽然简单,但它揭示了 Vibe Coding 的核心思路——把编程从"写代码"变成"表达需求"。你要做的不是学习某种编程语言的语法,而是学会怎么把你的想法清晰地传达给 AI。
当然,这并不意味着 Vibe Coding 是"随便说两句就行"。就像去餐厅点菜,你说"随便来个菜"和你说"来一份糖醋排骨,不要太甜,微辣,排骨要用小排",出来的结果差距会很大。Vibe Coding 的核心技能不是写代码,而是精确地表达你的需求——在这个领域,这种技能叫做 Prompt Engineering(提示工程)。
2. 一个真实的例子
光说概念太抽象了,来看一个真实的案例。假设你是一个完全不会写代码的产品经理,老板让你做一个简单的团队内部投票工具,用来收集大家对午餐餐厅的偏好。
按照传统方式,你需要找一个前端开发和一个后端开发,写需求文档,排期开发,前后端联调,测试上线,怎么也得一两周。
用 Vibe Coding 的方式呢?你打开一个 AI 编程工具(比如 Claude Code),输入这样一段话:
Prompt:
帮我做一个团队午餐投票的网页工具,要求:
1. 页面顶部有一个标题"今天中午吃什么"
2. 下面列出5个餐厅选项:沙县小吃、黄焖鸡、麻辣烫、轻食沙拉、麦当劳
3. 每个选项后面有一个投票按钮,点击后票数+1
4. 实时显示每个选项的当前票数和占比
5. 页面底部显示总投票人数
6. 风格简洁清爽,用浅蓝色主题
用纯HTML + CSS + JavaScript实现,不需要后端,数据存在浏览器本地就行。不到一分钟,AI 就会给你生成一个完整的网页文件。你把这个文件用浏览器打开,一个能用的投票工具就出现在你面前了。
【建议配图2 —— 投票工具效果展示】
图片描述:一个浏览器窗口截图,展示生成的投票工具页面。顶部大标题"今天中午吃什么",下方 5 行,每行左侧是餐厅名称(沙县小吃、黄焖鸡等),中间是一个蓝色的进度条显示占比,右侧是票数数字和一个蓝色"投票"按钮。其中"麻辣烫"的进度条最长(35%),"轻食沙拉"最短(8%)。页面底部显示"共 47 人参与投票"。整体风格简洁,浅蓝色调。
整体目的:让读者直观看到 Vibe Coding 的产出效果——一段自然语言就能生成一个能用的工具
如果你觉得哪里不满意,比如你想给每个餐厅加上一张图片,或者想限制每人只能投一票,你只需要继续用自然语言告诉 AI:
Prompt:
效果不错,再改两个地方:
1. 每个餐厅名称前面加一个对应的emoji图标
2. 限制每个人只能投一次票,投完之后按钮变成灰色的"已投票"AI 会在原来的代码基础上帮你修改,几秒钟后你刷新页面,新功能就生效了。整个过程你没写一行代码,但你做出了一个实实在在能用的东西。
这就是 Vibe Coding 的魔力——你负责想,AI 负责做。你的角色从"程序员"变成了"产品经理"加"代码审查员"。
3. Vibe Coding 和传统编程的区别
很多人第一次听说 Vibe Coding 会有个疑问:这不就是 AI 帮你写代码吗?和之前的代码补全工具有什么区别?
区别其实很大。传统的 AI 代码辅助工具(比如早期的 GitHub Copilot)本质上是"你写一半,AI 帮你补另一半"。你仍然需要懂编程,需要自己搭建项目结构,需要知道应该写什么函数,AI 只是帮你加速了"敲键盘"这一步。这就好比你在写作文,AI 帮你联想下一句话,但整篇文章的思路、结构、主题都是你在把控。
Vibe Coding 则完全不同。它是"你说需求,AI 从零开始帮你写整个项目"。你甚至不需要知道代码长什么样,不需要知道什么是 HTML、什么是 JavaScript、什么是数据库。你就像一个甲方,用自然语言描述你要的东西,AI 作为乙方帮你交付。
【建议配图3 —— AI编程方式演进图】
图片描述:一个从左到右的时间线/阶梯图,分三个阶段。第一阶段(浅灰色)标题"手动编程",图标是键盘,描述"一行一行敲代码",时间标注"2020年以前"。第二阶段(浅蓝色)标题"AI辅助编程",图标是代码编辑器+小AI图标,描述"你写一半,AI补一半",时间标注"2021-2024",代表工具"Copilot"。第三阶段(浅绿色,最大最醒目)标题"Vibe Coding",图标是聊天气泡+大AI图标,描述"你说需求,AI全写",时间标注"2025-",代表工具"Claude Code / Cursor"。三个阶段之间用粗箭头连接,箭头上标注"门槛越来越低"。
整体目的:让读者理解 Vibe Coding 是 AI 编程的最新阶段,不是简单的代码补全
但这里需要说清楚一件事:Vibe Coding 不等于不需要动脑子。恰恰相反,当你不再需要把精力花在语法和调试上的时候,你可以把全部的注意力放在更重要的事情上——你的产品到底要解决什么问题?用户体验怎么设计才合理?架构怎么规划才能让项目后期不至于一团乱麻?这些"上层"的思考能力,AI 并不能替你完成。
换句话说,Vibe Coding 消灭的不是编程思维,而是编程语法的门槛。它让你不需要花几个月学 Python 或 JavaScript 的语法就能把想法变成现实,但"想法"本身是否靠谱,这仍然取决于你自己。
4. 谁适合玩 Vibe Coding
Vibe Coding 不是只给程序员用的。恰恰相反,它对不同背景的人都有不同的价值,只是切入的角度不太一样。
4.1 完全不会编程的人
如果你是产品经理、设计师、运营、市场人员,或者任何一个"有想法但不会写代码"的人,Vibe Coding 可能是你见过的最低门槛的编程入口。
以前,你想把一个想法变成可运行的产品原型,要么自己花几个月学编程,要么找开发同事帮忙(还得看人家有没有空),要么花钱找外包。现在有了 Vibe Coding,你可以自己动手,半个小时就做出一个 MVP(最小可行产品)来验证你的想法是否靠谱。你不需要学什么是 for 循环、什么是 if 判断,你只需要会清楚地描述"我要什么"。
一个做运营的朋友,之前每周要手动从三个不同的后台导出数据,然后在 Excel 里拼在一起做周报,每次要花两三个小时。他用 Vibe Coding 让 AI 写了一个 Python 脚本,自动从三个平台的 API 拉数据、合并、生成图表,现在每周只需要双击一下脚本,5 秒钟就出结果。他完全不懂 Python,但这不妨碍他用 AI 写出一个能跑的脚本。
4.2 初级开发者
如果你是刚入行的程序员,或者在校的计算机专业学生,Vibe Coding 可以帮你大幅加速学习和开发的过程。
传统的学习路径是先花几个月啃语法和框架,再花几个月做练手项目,中间遇到 Bug 可能要在 Stack Overflow 上搜索半天。有了 Vibe Coding,你可以反过来——先用 AI 快速做出一个能跑的项目,然后再回过头去理解 AI 写的代码是什么意思。这种"先跑通,再理解"的学习方式,往往比"先学会,再动手"更高效,因为你有了一个完整的上下文,学起来不会觉得知识是碎片化的。
而且,AI 生成的代码本身就是一份不错的学习材料。你可以问它"这段代码为什么要这样写"、"这里用的是什么设计模式"、"如果我想改成另一种实现方式该怎么办",AI 会像一个随时在线的导师一样给你解答。
【建议配图4 —— 不同人群使用 Vibe Coding 的场景图】
图片描述:三列卡片式布局,白色背景。第一列卡片标题"非程序员",浅紫色顶部色条,图标是一个穿西装的人(产品经理),下方场景描述"用自然语言描述需求,30分钟做出产品原型",底部标注"核心技能:需求表达"。第二列卡片标题"初级开发者",浅蓝色顶部色条,图标是一个戴耳机的年轻人(学生),下方场景描述"AI 写代码 + 你学代码,边做边学效率翻倍",底部标注"核心技能:代码理解"。第三列卡片标题"资深开发者",浅绿色顶部色条,图标是一个自信的技术人员,下方场景描述"把重复劳动交给AI,专注架构设计和技术决策",底部标注"核心技能:架构把控"。三张卡片下方有一条横线连接,标注"Vibe Coding 对每个人都有不同的价值"。
整体目的:让不同背景的读者都能找到自己的定位,知道 Vibe Coding 能给自己带来什么
4.3 资深开发者
如果你已经是一个经验丰富的程序员,你可能会觉得"我自己写代码挺快的,为什么要用 AI"。说实话,这种想法很正常,但当你真正试过之后就会改变看法。
Vibe Coding 对资深开发者最大的价值不在于"帮你写你已经会写的代码",而在于帮你处理那些你觉得无聊但又必须做的事情。写单元测试、写接口文档、写配置文件、做代码迁移、处理各种 boilerplate(模板代码)——这些事情耗费你大量时间但又没有太多技术含量。把它们交给 AI,你可以把精力集中在架构设计、性能优化、技术选型这些真正需要人类判断力的事情上。
Karpathy 自己就说了,他用 Vibe Coding 写了好几个项目,虽然他完全有能力自己写,但用 AI 写让他把时间集中在了"这个功能应不应该做"而不是"这个功能怎么实现"。这个效率提升是数量级的。
5. Vibe Coding 能做什么
说了这么多理论,你可能想知道 Vibe Coding 目前到底能做出什么样的东西。这里举几个真实的品类,让你有个直观的感受。
网站和网页应用 是 Vibe Coding 最拿手的领域。从简单的个人主页、博客网站,到有交互功能的 Web 应用(比如待办清单、投票工具、数据看板),AI 都可以一条龙帮你搞定前端和后端。这类项目技术栈成熟、开源资料丰富,AI 的训练数据里见过大量类似的代码,所以生成质量通常很高。
自动化脚本 也是一个非常实用的方向。把日常重复性的工作自动化——比如批量处理文件、定时发邮件、从网页上抓取数据、自动生成报表。这类需求通常逻辑不复杂,但如果自己写可能要查不少 API 文档,而 AI 对各种常用库和 API 的使用方法烂熟于心。
小工具和插件 也很常见。浏览器插件、命令行工具、VS Code 插件等等。有人用 Vibe Coding 做了一个浏览器插件,可以一键把网页上的英文翻译成中文并且保留原来的排版;有人做了一个命令行工具,可以用自然语言搜索本地文件。这些小工具可能只有几百行代码,但解决了一个实实在在的痛点。
移动端应用 目前也能做,但有一定门槛。用 React Native 或 Flutter 这类跨平台框架,AI 可以帮你生成一个能运行的 App,但调试和发布的过程还是需要一些技术知识。不过随着工具的进步,这个门槛也在快速降低。
【建议配图5 —— Vibe Coding 应用场景全景图】
图片描述:中心放射状布局。中心是一个大的"Vibe Coding"文字 + 聊天气泡图标。从中心向四周发散出四个分支,每个分支连接一个应用场景卡片。左上角"网站应用"(图标:浏览器窗口),标注"个人主页、博客、Web工具",难度标签"入门级"绿色。右上角"自动化脚本"(图标:齿轮+闪电),标注"数据处理、定时任务、批量操作",难度标签"入门级"绿色。左下角"小工具/插件"(图标:积木拼图),标注"浏览器插件、命令行工具、效率工具",难度标签"进阶级"黄色。右下角"移动端应用"(图标:手机),标注"iOS/Android App、跨平台应用",难度标签"高级"橙色。
整体目的:让读者一眼看到 Vibe Coding 能做哪些事情,以及各个方向的难度梯度
不过也有 Vibe Coding 目前不太擅长的领域。比如对性能要求极高的系统(高频交易、实时音视频处理)、对安全性要求极高的场景(金融系统、支付系统)、以及需要深度领域知识的项目(操作系统内核、数据库引擎)。这些领域的代码需要非常精细的控制和深厚的专业知识,目前 AI 生成的代码质量还达不到生产要求。但对于绝大多数日常开发需求来说,Vibe Coding 已经完全够用了。
6. Vibe Coding 的工作流程
理解了 Vibe Coding 的理念之后,来看看它在实际操作中是怎么运作的。整个流程可以概括为一个循环:描述需求 → AI 生成 → 查看效果 → 反馈调整。
第一步是描述需求。你用自然语言告诉 AI 你想要什么。这一步是整个流程中最关键的,你描述得越清楚、越具体,AI 给你的结果就越接近你的预期。比如你不应该说"帮我做个好看的网站",而应该说"帮我做一个个人主页,包含自我介绍、项目展示和联系方式三个板块,使用深蓝色主题,响应式设计,适配手机和电脑"。
第二步是AI 生成代码。根据你的描述,AI 会生成完整的代码文件。这个过程通常很快,几秒到一分钟不等,取决于项目的复杂度。
第三步是查看效果。你运行 AI 生成的代码,看看实际效果是否符合你的预期。如果是网页类项目,直接在浏览器里打开就能看到;如果是脚本类项目,在终端里运行一下就行。
第四步是反馈调整。几乎不可能一次就完美。你可能觉得颜色不对、布局不好看、少了某个功能、有个 Bug。这时候你只需要用自然语言告诉 AI 哪里需要改——"把背景色换成浅灰色"、"导航栏固定在顶部"、"点击按钮后弹出确认框"。AI 会在已有代码的基础上做修改,你再看效果,再反馈,如此循环,直到你满意为止。
【建议配图6 —— Vibe Coding 工作流程循环图】
图片描述:一个顺时针的循环流程图,四个节点,每个节点是一个圆角矩形。顶部节点"描述需求"(蓝色,图标:人说话的气泡),右侧节点"AI生成"(绿色,图标:AI机器人+代码),底部节点"查看效果"(橙色,图标:眼睛+浏览器窗口),左侧节点"反馈调整"(紫色,图标:铅笔+聊天气泡)。四个节点之间用粗弧线箭头顺时针连接。中心区域写着"迭代循环"。在"反馈调整"到"描述需求"的箭头旁边,有一个分支箭头指向外部,标注"满意→完成!"。整体布局对称美观,白色背景。
整体目的:让读者理解 Vibe Coding 的核心工作模式是一个"描述→生成→查看→反馈"的迭代循环
这个循环看似简单,但里面有几个值得注意的点。
一是不要追求一步到位。很多新手会试图在第一条 Prompt 里就把所有需求描述得面面俱到,结果写了一大段话,AI 反而被搞糊涂了。更好的做法是先描述核心功能,等 AI 生成一个基础版本之后,再逐步追加细节和优化。这就像盖房子,先搭框架,再装修,最后摆家具,而不是一开始就把所有家具的摆放位置都规划好。
二是学会看 AI 的输出。虽然你不需要自己写代码,但你至少应该能大致看懂 AI 生成的代码在做什么。这不是说你需要理解每一行的语法,而是能判断"AI 是不是在按我的意思做"。随着你使用 Vibe Coding 的经验越来越多,这种能力会自然而然地提升。
三是善用版本控制。AI 修改代码的时候有时候会改出新问题,这时候你需要能够回退到之前的版本。Git 是最常用的版本控制工具,即便你是零基础,也建议在学 Vibe Coding 的同时学一点基本的 Git 操作——这会在后续的文章中详细介绍。
7. 一段真实的对话过程
为了让你更直观地感受 Vibe Coding 的体验,这里展示一段我用 Claude Code 做一个天气查询小工具的真实对话过程。
第一轮,我先描述了基本需求:
Prompt:
帮我写一个天气查询的网页,用户输入城市名称,点击查询按钮后显示该城市的当前天气信息,包括温度、天气状况、湿度和风速。页面设计要简洁美观,有天气相关的图标。用HTML + CSS + JavaScript实现。AI 几秒钟就生成了一个完整的 HTML 文件,页面有一个搜索框、一个查询按钮,和一个显示天气信息的卡片区域。我在浏览器里打开一看,基本框架没问题,但有两个地方我不满意:搜索框太小了,而且天气卡片的背景色太单调。
第二轮,我给出了修改意见:
Prompt:
两个修改:
1. 搜索框加宽到页面的60%,高度也稍微加大一些,输入框里加一个placeholder提示"请输入城市名称,如:北京"
2. 天气卡片的背景改成渐变色,晴天用蓝色到白色的渐变,阴天用灰色渐变,雨天用深蓝色渐变AI 立刻在原来的代码上做了修改。我刷新页面,搜索框变大了,天气卡片也变得好看多了。
第三轮,我想加一个新功能:
Prompt:
再加一个功能:在天气卡片下方显示未来3天的天气预报,每天一个小卡片,横排排列,显示日期、天气图标和温度范围。三轮对话,不到五分钟,一个有模有样的天气查询工具就做好了。整个过程我没写一个字符的代码,全程都在用中文和 AI 聊天。
【建议配图7 —— 天气查询工具对话过程与效果】
图片描述:上下两部分。上部分是三轮对话的简要摘要,用聊天气泡的形式展示(用户气泡在右侧蓝色,AI 气泡在左侧灰色),每轮只显示一句话的精简版("做个天气查询网页"→"AI生成基础版本"→"搜索框加宽,卡片加渐变"→"AI修改完成"→"加未来3天预报"→"AI添加新功能")。下部分是最终效果的浏览器截图:顶部是一个宽大的搜索框,中间是一个渐变蓝色背景的天气卡片(显示"北京 28°C 晴 湿度45% 风速3级"),下方是三个小卡片横排(明天/后天/大后天的天气预报)。
整体目的:通过一个完整的对话过程和最终效果,让读者身临其境地感受 Vibe Coding 的体验
8. Vibe Coding 不是万能的
聊了这么多 Vibe Coding 的好处,也得说说它的局限性,这样你的预期才会更合理。
AI 会犯错,而且犯得很自信。AI 生成的代码并不总是正确的,有时候它会写出有 Bug 的代码,但表现得好像一切正常。更棘手的是,它有时候会"幻觉"——编造一个根本不存在的 API 或者库函数,然后理直气壮地告诉你"这样写就行"。所以你不能盲目信任 AI 的输出,一定要运行一下看看效果,如果结果不对,就把错误信息反馈给 AI,让它修正。
复杂项目需要规划。做一个简单的网页工具,你可以边想边做,但如果你想做一个稍微复杂的项目——比如一个有用户登录、数据存储、多个页面的完整应用——你就需要先做好规划。把项目拆成模块,把每个模块拆成小任务,一步一步来。没有规划就直接让 AI 写一个大型项目,大概率会写成一团意大利面条式的代码,后面越改越乱。这一点我们在后面的工程实践篇会详细展开。
安全问题要自己把关。AI 生成的代码可能存在安全漏洞——比如 SQL 注入、跨站脚本攻击、密码明文存储等等。如果你只是做一个内部小工具或者学习项目,问题不大;但如果你要把项目部署到互联网上让真实用户使用,安全问题必须重视。你可以让 AI 帮你检查安全问题("请检查这段代码是否有安全漏洞"),但不能完全依赖它。
【建议配图8 —— Vibe Coding 适用范围图】
图片描述:一个类似信号灯的图表,三个区域从上到下排列。顶部绿色区域"非常适合",图标是大拇指朝上,列出"个人项目、内部工具、原型验证、学习练手、自动化脚本"。中间黄色区域"可以用但要注意",图标是感叹号三角,列出"中等复杂度的Web应用、需要数据库的项目、面向小范围用户的产品"。底部红色区域"需要专业知识配合",图标是警告盾牌,列出"高并发系统、支付/金融系统、数据安全敏感项目、底层系统开发"。右侧有一个竖向的箭头,从上到下标注"AI 独立完成 → AI + 人类审查 → 人类主导 + AI 辅助"。
整体目的:帮助读者建立对 Vibe Coding 适用范围的合理预期,避免过度信任或过度低估
不要把 Vibe Coding 当作不学编程的借口。虽然 Vibe Coding 让你不需要会写代码也能做出东西,但如果你打算长期用 AI 来开发项目,多少了解一些编程基础知识会让你事半功倍。你不需要成为一个专业程序员,但能看懂 AI 写的代码在做什么、能判断代码结构是否合理、能发现明显的 Bug——这些能力会极大地提升你使用 Vibe Coding 的效率和产出质量。
9. 小结
Vibe Coding 的本质是一次编程范式的转变。几十年来,编程的门槛一直在降低——从机器语言到汇编语言,从汇编到 C 语言,从 C 到 Python,每一次进化都让更多的人能够参与到软件开发中来。Vibe Coding 只是这条路上的最新一步,它把门槛从"学会一门编程语言"降低到了"学会表达你的需求"。
这不意味着程序员会失业,就像自动档汽车的出现并没有让驾驶教练失业一样。它意味着更多的人可以参与到"造东西"这件事中来,而专业程序员则可以把精力从"怎么写"转移到"写什么"和"为什么写"上面。对于每一个有想法但苦于没有技术能力的人来说,现在正是最好的时代——你的想法和 AI 的能力之间,只差一段 Prompt。
关注秀才公众号:IT杨秀才,领取精品学习资料
- 公众号后台回复:Go面试,领取Go面试题库PDF
- 公众号后台回复:Go学习,领取Go必看书籍
- 公众号后台回复:大模型,领取大模型学习资料
- 公众号后台回复:111,领取架构学习资料
- 公众号后台回复:26届秋招,领取26届秋招企业汇总表

