首页 / 资讯中心 / 文章详情

Vibe Coding实战:从需求描述到验收的完整工作循环

Vibe Coding实战:从需求描述到验收的完整工作循环 ★ FEATURED ARTICLE
写完第一版草稿后我重新想了一遍章节结构。Vibe Coding这个词在Karpathy抛出之后已经从一句调侃变成了一个真实的工作方式。我决定不把它写成工具评测而是围绕这套工作方式到底是什么、怎么落地、边界在哪来组织内容同时把嵌入式场景单独拆出来讲因为那是最多人好奇也最容易翻车的方向。1. Vibe Coding到底在聊什么从一次三句话建站说起上周一个朋友给我看他自己做的网页小工具我随口问了一句代码写在哪发我看看他愣了一下说没有代码我全程没碰代码就是跟AI聊出来的。我当时第一反应是嗤笑——这不就是拖个模板改改吗结果他当着我的面打开对话记录三句话第一句描述页面要什么功能第二句说风格现代一点、深色主题第三句把运行时报的错贴了回去。前后不到十分钟一个能用的工具就在浏览器里跑起来了。这就是Vibe Coding。这个词是Andrej Karpathy在2025年初丢出来的用来形容一种他已经全面拥抱的编程方式你不是在逐行写代码而是通过自然语言描述你想要的效果让AI把代码生成出来运行、报错、再把错误丢回去让AI修循环往复。你自己甚至可以不逐行读懂代码只要大概知道它在干什么、结果对不对就行。Karpathy原话里有个很传神的说法——这不是真正的编程这是跟着氛围走vibe这个词本身就是氛围、感觉的意思。这个词能火是因为它恰好戳中了很多人的共同体验。过去两年我们用Copilot、Cursor本质还是我写代码AI补全主动权牢牢攥在手里。但Vibe Coding把主动权交出去了你说需求AI执行你验收。如果验收通过你甚至不需要理解中间那几十行代码具体在做什么。这种体验对老程序员来说是失控感对非程序员来说却是终于能用电脑解决问题的快感。这篇文章不是来吹捧或者唱衰Vibe Coding的。我花了大半年时间在各种项目里故意用这种跟着感觉走的方式去写代码也带着它去做过嵌入式相关的开发踩了一堆坑总结出了一些还算靠谱的方法论。如果你想知道这玩意儿到底能不能用于正经开发、边界在哪里、怎么用才不至于翻车这篇文章应该能给你一些参考。1.1 为什么这个词能引发这么大的讨论Karpathy的推文之所以传得这么快我觉得是因为他精准描述了一个很多人已经在做、但没人给它命名的事情。在他说出Vibe Coding之前你问一个程序员你天天让AI写代码算什么水平他大概率会有点心虚地说只是辅助。但他把这个行为大方地摆出来还配上一句我已经完全沉浸进去了等于替所有人承认了这活儿早就这么干了别装了。更深一层的原因是这个词触碰到了两个让人不安的命题。第一个是程序员的核心技能还是写代码吗——如果写代码可以让AI干那程序员的价值是不是就只剩下会说人话了第二个是代码质量还要不要把关——如果连代码本身都没人逐行看了软件工程几十年积累的评审、测试、规范是不是全要推倒重来这两问题至今没有标准答案但大家都在用脚投票。我观察到的现象是越靠近原型验证、自动化脚本、一次性工具这些场景Vibe Coding的普及速度越快越靠近生产系统、金融、医疗、底层驱动这些错一行就要出大事的场景大家越谨慎。说白了Vibe Coding的火爆本质上是AI把编程的准入门槛打下来了至于这把锤子能砸多大的钉子因人而异。1.2 Vibe Coding和普通AI辅助编程不是一回事很多人觉得我用过Copilot那我不就是在Vibe Coding了吗这是个很容易踩的认知误区。我来分一下区别。传统AI辅助编程比如Copilot的补全、Cursor的Tab键逻辑是人写代码AI猜你下一步要写啥。决策权始终在人手里AI只是加速你的手指。你可以说这是用AI的IDE但工作流还是老一套先设计再编码再测试。Vibe Coding的逻辑完全不同。它的最小工作单元是一个完整的循环你给AI一个意图描述甚至不用很技术化AI生成一整段代码你运行它运行结果尤其是报错信息再变成下一次对话的输入AI修改代码再跑循环往复。决策权从写什么代码转移到了接受什么结果。有个很直观的例子。传统方式写一个Python脚本你会自己写import os、for root, dirs, files in os.walk()AI只是帮你补全循环体。Vibe Coding的方式是你直接说写个脚本遍历某个目录下所有jpg文件按拍摄日期归档到子文件夹然后它给出完整代码你跑一下发现日期格式不对贴报错让它改。这个过程中你压根没关注它是怎么遍历文件的你在乎的是照片是不是乖乖按时间进了对应文件夹。这个区别带来一个很重要的推论Vibe Coding的门槛不在于会不会写代码而在于会不会验收。你不需要知道每一行代码的原理但你需要能判断AI给你的结果对不对并且能准确地把哪里不对描述给AI听。这其实是一个全新的技能后面我会专门讲。1.3 什么样的人适合Vibe Coding我用两类人一条界线来概括。第一类是完全不写代码的人产品经理、设计师、运营、非技术背景的创业者。他们的痛点历来是有想法做不出来Now想法可以直接变成能用的原型。我一个做运营的朋友靠对话让AI搭了一套内部用的数据周报自动汇总页面放在以前这事得排期等开发两周。第二类是正在写代码的程序员尤其是做应用层、工具链、脚本、前端页面的。这类人用Vibe Coding不是因为它比手写更高级而是它的确能把重复劳动压缩掉七八成。我拿它写过一次性数据清洗脚本、内部运维小工具、还有前端页面的框架代码效率提升非常明显。界线也很清楚如果你正在维护的代码关乎身家性命——比如医疗设备、自动驾驶、支付系统、底层操作系统的核心路径——那不是适合不适合的问题是现阶段根本不应该把最终决定权交给AI。这种场景里AI生成的代码只能当草稿必须经过严格的人类审查和测试。2. 我跑通的Vibe Coding黄金循环需求、对话、验收很多人第一次试Vibe Coding体验是AI好厉害第二次变成了AI好蠢第三次直接放弃。问题绝大多数不出在AI能力上而出在没有建立正确的工作循环。我用下来觉得稳定的Vibe Coding流程其实就是古典的需求-实现-验收循环只是三个步骤的形式全变了。2.1 需求描述才是这场游戏里唯一的技术活Vibe Coding里你写不了几行代码但你对需求表达的精确程度直接决定AI产出的质量。说帮我做个网站和说帮我做一个着陆页顶部有Logo和导航中间是产品功能介绍区底部有联系方式表单表单提交后发邮件到我QQ邮箱AI输出的东西差距是天上地下。我的习惯是写需求时遵循目标、输入、输出、边界四要素。目标告诉AI这玩意儿是干什么用的输入告诉它数据从哪来是用户手动输入还是读文件还是调接口输出告诉它结果长什么样是网页还是命令行输出还是Excel文件边界是限制条件比如只用Python标准库不要装额外依赖或者要在树莓派上跑内存控制到100MB以内。举个小例子。我让AI写过一个批量压缩图片的小工具第一版需求是写个Python脚本压缩图片结果它丢给我一个用PIL的简单脚本能用但完全不符合我想要的目录结构。后来我改成写一个命令行工具遍历输入目录下所有jpg和png文件按80%质量压缩输出到指定目录并保持原目录结构支持--quality参数调整质量不加额外依赖的话就用PIL但请先检查是否安装。第二轮出来的东西一次就跑通了。这不是什么玄学。大语言模型的注意力机制决定了它擅长捕捉显式约束你不说目录结构它就自由发挥你说了它就会严格遵守。写需求的过程其实就是在替AI划定搜索空间别让它瞎猜。2.2 把报错信息变成你和AI之间的共享屏幕Vibe Coding最核心的循环动作就是跑一下报错把错误贴回去AI改再跑。这个循环里最重要的一件事是你得把报错信息完整地、不加修饰地交给AI同时告诉它上下文。我发现很多人会栽在这个环节报错了自己先看两行觉得好像是路径问题然后跟AI说好像路径错了你改改。这是把最有价值的信息丢了。正确做法是原样贴出完整报错堆栈然后补一句这个脚本是刚才那个压缩图片的工具我运行的时候传了中文路径参数Windows环境。AI拿到堆栈再结合上下文定位错误的能力比我描述半天的感觉强得多。另一个技巧是主动给AI喂反馈。程序没报错但输出明显不对比如压缩后的图片全是黑的这时候你要把预期输出和实际输出都告诉它。我通常会把输出文件的大小、格式、甚至是截图后的文字描述一起贴过去。AI看不到你的屏幕但它能看到你看到的报错和结果你给它喂多少信息它就有多少判断依据。这里也要提醒一句AI能达到什么效果还取决于模型本身的推理能力。多
阅读完成 · 觉得有帮助?
咨询建站