很多人第一次想用 AI 做项目时,心里会同时出现两种声音。
一个声音说:“现在 AI 都能写代码了,我是不是也可以做点东西?”另一个声音马上补一句:“可是我不会完整写一个项目,连报错都看不太懂。”
Vibe Coding 之所以让人兴奋,就是因为它让这两句话可以同时成立:你不需要一开始就能从零写出完整代码,也可以开始把想法往项目方向推进。但它也不是“完全不懂技术,随便说一句,AI 就自动交付完美产品”。
更准确地说,Vibe Coding 是一种和 coding agent 协作的工作方式:你负责方向、判断和验收,AI 负责生成、解释和修改代码。项目不是一次变出来的,而是在一轮一轮对话、运行、反馈、修正里长出来的。
这听起来没有“十分钟做出一个 App”那么刺激,但更接近真实情况,也更有用。
Vibe Coding 不是什么
先把几个误会拿掉。
Vibe Coding 不是把大脑关掉,让 AI 想做什么就做什么。你仍然要判断这个功能是不是你想要的,输出是不是合理,代码有没有跑起来,有没有改到不该改的地方。
它也不是完全不需要学习。你不一定要先学完整的前端、后端、数据库和部署,但你至少要愿意看运行结果、复制报错、理解项目文件大概放在哪里,并学会问更清楚的问题。
它更不是“只要 prompt 写得玄妙,一切都会解决”。Prompt 很重要,但项目能不能做起来,还取决于你是否把目标缩小、是否及时运行、是否把失败现象反馈清楚。
如果用生活里的例子,Vibe Coding 有点像你请一位很会动手的新同事帮忙做东西。你不一定会亲自拧每一颗螺丝,但你要说清楚要做一张桌子还是一个书架,要放在哪里,要承重多少,做完以后你还要晃一晃,看它稳不稳。
AI 可以帮你加工木板、解释图纸、返工修改,但它不能替你决定“我到底需要什么”。
真正的分工:人负责方向,AI 负责推进
在传统学习路径里,新手常常会被一整套知识压住:先学语言语法,再学框架,再学工程结构,再学调试,然后才开始做项目。这个路径当然有价值,但它很长,很多想法在路上就凉了。
Vibe Coding 改变的是起步方式。你可以先从一个很小的目标开始,让 AI 帮你补齐暂时不会写的部分,然后在真实运行中学习。
人的工作主要有五件事。
第一,描述目标。你要说清楚自己想做什么、给谁用、输入是什么、希望输出是什么。比如“做一个博客选题助手”还不够清楚;“输入一个写作方向,输出 5 个选题、每个选题的切入角度和简单大纲”就清楚很多。
第二,控制范围。新手最容易一开始就想要登录、数据库、漂亮界面、自动部署、历史记录和分享功能。结果功能还没跑起来,复杂度先爆炸。Vibe Coding 的第一步应该是最小版本:先让它能在本地跑,能完成最核心的一件事。
第三,确认结果。AI 写出第一版之后,你不能只看它说“完成了”。你要真的运行,输入一个例子,看输出有没有用。
第四,指出问题。不要只说“不对”“报错了”“不好用”。要告诉 AI:你执行了什么命令,输入了什么,期望看到什么,实际发生了什么。
第五,决定下一步。AI 可以提出方案,但你要判断是继续加功能、先修 bug、删掉复杂设计,还是回到最小目标。
AI 的工作也很明确。
它可以帮你拆任务,生成项目文件,写第一版代码,解释报错,提出几种修复方案,调整 prompt,补充说明文档,把你模糊的想法整理成更具体的功能。
换句话说,人不再需要独自完成所有代码细节,但人仍然是项目的产品经理、验收员和安全员。
一个基本循环
Vibe Coding 最重要的不是某个神奇提示词,而是一个可以反复执行的循环:
描述目标 -> 让 AI 拆任务 -> 让 AI 写第一版 -> 本地运行
-> 发现问题 -> 反馈给 AI -> 修改 -> 再验收
这条循环很朴素,但它能帮你避免两个极端。
一个极端是一直聊天,不运行。你和 AI 讨论了很多架构、技术栈和未来功能,但项目文件始终没跑起来。另一个极端是让 AI 一次性写太多,然后你面对一堆陌生文件,不知道哪里坏了。
更稳的做法是:每次只推进一小步,每一步都有能观察的结果。
例如你想做一个“博客选题助手”,第一轮不要说:
帮我做一个完整的 AI 博客平台,要有登录、数据库、管理后台、自动发布和漂亮界面。
这句话不是不能做,而是对新手来说太大了。更适合第一轮的是:
我想做一个最小版博客选题助手。
用户输入一个想写的方向,比如“AI 工具入门”。
程序输出 5 个博客选题,每个选题包含标题、适合读者、切入角度和 3 条大纲。
先做命令行版本,不要数据库,不要登录,不要网页界面。
请生成最小项目,并告诉我如何运行和验收。
这段话没有更高级,但更可执行。AI 知道目标、输入、输出、范围和验收方式,也知道哪些功能先不要做。
第一版只要能跑,不要急着漂亮
新手做项目时,很容易把“能跑”和“像正式产品”混在一起。其实第一版的目标应该非常低:能在你的电脑上运行,能接收一个输入,能给出一个还算有用的输出。
它可以是命令行,不需要界面。它可以先把结果打印出来,不需要保存历史。它可以先使用固定 prompt,不需要复杂配置。
第一版越小,你越容易判断它哪里不对。
如果输出太空泛,你可以让 AI 调整 prompt。如果程序报错,你可以把报错贴回去。如果文件结构看不懂,你可以让 AI 解释每个文件的作用。如果你发现需求本身没说清楚,也可以让 AI 帮你重写需求说明。
真正重要的是让项目尽早进入“能观察”的状态。只要能观察,你就能反馈;只要能反馈,就能迭代。
怎么把需求说清楚
和 coding agent 沟通时,最有用的不是一句“帮我做一个 Agent”,而是一份小小的任务说明。
你可以直接套这个模板:
我想做一个___。
它的使用场景是___。
用户会输入___。
我希望程序输出___。
先做最小版本,只需要___。
暂时不要做___。
请先帮我拆成几个小步骤。
然后生成第一版,并告诉我:
1. 需要创建哪些文件;
2. 如何安装依赖;
3. 如何运行;
4. 我应该用什么例子验收。
这里最关键的是“暂时不要做”。很多项目不是因为功能太少失败,而是因为第一步加了太多东西,导致新手完全失去掌控感。
如果你还不知道具体技术栈,也可以诚实告诉 AI:
我不确定应该用 Python 还是 Node.js。
请根据“新手容易运行、代码少、适合命令行小工具”的标准推荐一个方案。
先解释理由,再开始生成项目。
好的 coding agent 不只是写代码,也应该帮你做选择。但它给出选择之后,你仍然要根据自己的电脑环境、学习目标和维护成本来判断。
怎么反馈问题
反馈问题是 Vibe Coding 里最容易被低估的能力。
很多新手看到报错,第一反应是把最后一行复制给 AI,或者只说“运行不了”。AI 可能仍然能猜,但猜测会增加来回次数。更好的反馈应该像一份现场记录。
可以用这个模板:
我刚刚执行的命令是:___
我输入的内容是:___
我期望发生的是:___
实际发生的是:___
这是完整报错信息:
___
请先解释可能原因,再给最小修改方案。
不要重构无关文件。
如果不是报错,而是输出不满意,也可以这样说:
程序能运行,但输出不符合预期。
我的输入是:___
当前输出是:___
我希望输出更像这样:___
请判断这是 prompt 问题、输入格式问题,还是代码逻辑问题。
优先做最小修改。
这类反馈看起来啰嗦,但它会让 AI 少猜很多。你贴得越完整,AI 越容易定位;你越强调“最小修改”,它越不容易把整个项目翻新一遍。
验收标准比“感觉不错”更可靠
Vibe Coding 里的 “vibe” 容易让人误会成全凭感觉。感觉当然有用,但只靠感觉,项目很快会飘。
更好的做法是给每个小版本写几条验收标准。
比如博客选题助手的第一版,可以这样验收:
- 输入一个主题后,程序能输出 5 个选题;
- 每个选题都包含标题、目标读者、切入角度和 3 条大纲;
- 输出不要出现明显重复的标题;
- 当输入为空时,程序要提示用户重新输入;
- README 里写清楚如何运行。
这些标准不复杂,但它们能帮助你判断“这一版到底算不算完成”。当输出不符合标准时,你也能把具体哪一条没通过反馈给 AI。
验收标准还有一个好处:它会逼你把想法从“我想要一个聪明的助手”变成“我希望它在这些情况下做出这些结果”。后者才是项目可以被实现、被测试、被改进的形状。
什么时候该停下来学一点基础
Vibe Coding 可以让你更早开始做项目,但它不应该让你永远绕开基础。
当你反复遇到同一类问题时,就说明该补一点知识了。比如你总是不知道命令在哪里运行,那就花半小时学终端和项目目录。你总是不理解依赖安装失败,那就了解一下包管理器。你总是不知道网页为什么没显示,那就补一点 HTML、CSS 和浏览器控制台。
学习基础不是回到“必须先学完才能做项目”的老路,而是按问题驱动学习。你先做起来,遇到真实卡点,再补最相关的一小块。
这样学到的东西会更牢,因为它马上能解决你手里的问题。
常见误区
第一个误区是目标太大。刚开始不要做“万能助手”,做一个只解决单一问题的小工具。能稳定完成一件事,比看起来什么都能做但处处不稳更有价值。
第二个误区是不运行。AI 说完成不等于真的完成。只要是项目,就要在本地运行,用真实输入试一次。
第三个误区是反馈太模糊。“不行”“还是错”“你再改改”都会让 AI 猜。把命令、输入、期望、实际结果和报错贴清楚,才是在缩短路径。
第四个误区是让 AI 一次改太多。尤其是新手,一次改动越大,越难知道问题来自哪里。可以经常提醒它:“请只做最小修改,不要重构无关部分。”
第五个误区是不保存版本。哪怕你暂时不熟 Git,也要养成阶段性保存的习惯。等你开始使用 GitHub,就可以在每次功能跑通后提交一次。这样改坏了也有路可退。
第六个误区是把 AI 当权威。AI 可能说得很自信,但它仍然可能误解需求、漏掉边界、生成不能运行的代码。你的运行结果和验收标准,比它的自信语气更重要。
新手真正要练的能力
如果你还不会完整写代码,最值得先练的不是背框架,也不是收集一百条 prompt。
先练这几件事:
- 把一个想法缩小成最小版本;
- 说清楚输入、输出和不要做什么;
- 按步骤运行项目;
- 完整复制报错和运行环境;
- 用验收标准判断结果;
- 让 AI 做小步修改,而不是一次性重写;
- 在每轮迭代后记录当前做到哪里。
这些能力听起来不像“编程技巧”,但它们正是和 coding agent 协作时最重要的基本功。
会写代码的人当然能走得更远,因为他们能更快看懂问题、判断方案、控制风险。但不会完整写代码的人,也不必一直站在门外。只要你能清楚表达目标,愿意运行和反馈,就已经可以开始做一些小项目。
结尾
Vibe Coding 的核心不是“让 AI 替我做完一切”,而是“我用更低的门槛进入项目实践,在实践中学会表达、判断和迭代”。
你负责想法从哪里来,项目做到什么程度算有用,哪些结果可以接受,哪些风险不能碰。AI 负责把你的意图转成代码,解释你暂时看不懂的地方,并在一次次反馈中帮你修正。
当这个分工成立,项目就不再是“等我学完所有基础以后再说”的远方,而是可以从一个很小的命令行工具开始。
下一篇,我们就来整理真正动手前需要准备的东西:编辑器、GitHub、API Key、项目文件夹、运行环境,以及怎样给 coding agent 一份清楚的开工说明。
本系列目录
这是「AI / Vibe Coding 新手系列」的第 2 篇,全系列共六篇:
- 先听懂:AI、LLM、Prompt、Agent、RAG、Tool、Memory 到底是什么
- Vibe Coding 是什么:不会完整写代码,也能把想法变成项目(当前篇)
- 做第一个 Agent 前,要准备哪些东西
- 实战:用 Vibe Coding 做一个最小 Agent
- 让 Agent 更像项目:工具、记忆、文件读写和简单界面
- 从能跑到好用:怎么调 prompt、看错误、让 AI 帮你修 bug
延伸阅读(比本系列更偏工程化,建议跑通第一个 Agent 后再看):从 Demo 到可交付:如何做一个 Agent 项目
