Vibe Coding开发前的 7 个关键步骤
这两天我Vibe Coding了一个项目,纯vibe那种,,一行代码都没有写。
理解了很多Vibe Coding新手遇到的问题:AI写代码,改来改去越改越乱,最后项目直接崩了。
反思了一下自己Vibe Coding的过程之后,我清空了AI写了两个小时的代码,从头再来,这次就十分顺利地将项目开发完成。
其实问题不在AI,而在于跳过了最重要的准备环节。就像盖房子,没有图纸就开工,盖到一半发现门窗位置不对,只能推倒重来。 所以,在让AI写第一行代码之前我们要做好些必要的准备工作。
打开 Claude或者 ChatGPT,跟它聊聊产品想法。按照这7个步骤,一步步来。
第一步:把想法聊清楚
把你的想法完整地说出来。注意,是“完整地”,不 是"简洁地"。
比如你想做个记账工具,别只说“帮我做个记账 App"。你得说清楚:
- 为什么要做这个?现有的记账App哪里不满意?
- 核心功能是什么?记录收支?生成报表?设置预算?
- 谁会用这个工具?就你自己,还是想给朋友用?
- 使用场景是什么?每天记一次,还是花钱就记?
这个过程其实是在帮你自己理清思路。很多时候, 你以为自己想清楚了,真说出来才发现到处是模糊地带。
于是,第一步就是跟AI聊天,像跟朋友聊天一样,把脑子里的想法全倒出来,细节越多越好。
一个实用的模板:
|我想做一个[产品名称] |主要是为了解决[什么问题] |目标用户是[谁] |核心功能包括: |[功能一] |[功能二] |[功能三] |我希望它能 [达到什么效果]
第二步:要一份 PRD
聊完之后,别急着写代码。让AI帮你把刚才的对话整理成一份PRD,也就是产品需求文档。
直接说:“帮我把刚才聊的内容整理成一份产品需 求文档。” AI会给你输出一个结构化的文档,通常包括:
- 产品定位:这个产品是干什么的
- 核心功能列表:有哪些功能,每个功能具体做什么
- 用户流程:用户怎么使用这些功能
- 技术要求:需要什么技术支持
然后,认真读这份PRD。
这是整个流程里最容易被跳过,但其实最关键的一 步。逐条对照你的原始想法,看AI理解的跟你想的是不是一回事。
发现不对的地方,现在就改。改PRD花5分钟,改代码可能要花5个小时。
把PRD当作你和AI之间的"合同”,确保双方理解 一致。
第三步:明确项目目标
做什么搞清楚了,接下来要想清楚:做到什么程度?
这个问题直接决定了技术方案的选择。
你是要:
- 自己用用,能跑就行?
- 给朋友们用,需要稳定一点?
- 做成正式产品,想发布到应用市场?
不同的目标,技术方案完全不同。
比如,如果只是自己用:
- 数据库可以用SQLite,一个本地文件就够了
- 不需要用户登录系统
- 不用考虑性能优化
- 本地运行,不需要服务器
但如果要做成产品:
- 需要真正的数据库,比如PostgreSQL
- 需要用户注册登录
- 要考虑数据安全和隐私保护
- 需要部署到云服务器
- 还要考虑多人同时使用的性能问题
所以,开发前一定要告诉AI你的真实目标。不要一开始就搞得很复杂,结果一堆功能根本用不上。
可以这样说:
这个项目主要是我自己用,目标是低成本实现,
在本地运行就可以,不需要考虑多人使用的情况。
或者:
这个项目我想做成可以release的产品,
需要考虑用户数据安全、性能优化和未来扩展性。
第四步:确定技术栈
目标明确了,就可以让AI推荐技术栈了。
一个实用的prompt模板:
|我想做一个[项目描述] |项目目标是[自用/商用/学习] |我的技术水平是[完全零基础/有一些基础/比较熟练] |请推荐合适的技术栈,并说明为什么这样选择。
AI会告诉你前端用什么框架、后端用什么语言、 数据库选什么、需要哪些工具库。
选技术栈的核心原则是:
- 选主流的:遇到问题容易找到解决方案
- 选成熟的:工具链完善,坑少
- 选合适的:匹配项目规模,不要杀鸡用牛刀
比如做个简单的网页工具,React+Node.js+ SQLite就够了。不需要上Kubernetes、微服务这些大杀器。
第五步:要 一份架构设计
技术栈定了,接下来要一份系统架构设计。
可以这样问AI:
根据这个PRD,请为我设计一个适合个人项目的轻量架构,包括:
- 项目目录结构
- 核心模块划分
- 数据模型设计
- 代码规范建议
我的技术背景是:[你的水平]
我希望这个项目:[本地运行/可部署/需要扩展性]
AI会给你输出:
1. 目录结构
|project/ ||—————src/ || |—————components/ #UI组件 || |—————services/ #业务逻辑 || |—————utils/ #工具函数 || |—————config/ #配置文件 ||—————public/ ||—————tests/ |—————README.md
2.模块划分方案
比如记账工具可以分成:
- 数据录入模块
- 数据展示模块
- 统计分析模块
- 数据导出模块
3.数据模型
定义需要存储哪些数据,数据之间的关系是什么。
4.代码规范
比如:
- 组件命名用 PascalCase
- 函数命名用 camelCase
- 文件命名用 kebab-case
- 每个函数前要写注释说明功能
不必追求“完美架构”或“企业级架构”,架构是为项目服务的。
你做个小工具,用个简单清晰的架构就够了。过度设计不仅增加开发难度,还让项目难以维护。
好的架构应该是“刚刚好”的:满足当前需求,有一定扩展空间,但不会为了可能永远用不到的功能增加复杂度。
而且,架构不是一成不变的,可以随着项目发展逐步调整。
第六步:整理项目文档
现在你手上有了PRD、技术栈、架构设计,接下来要把这些内容整理成文档,保存在项目里。
建议创建这几个文件:
README.md
- 项目简介:这个项目是干什么的
- 如何运行:怎么把项目跑起来
- 技术栈:用了哪些技术
PRD.md
- 产品定位
- 核心功能列表
- 用户使用流程
ARCHITECTURE.md
- 技术栈选择及原因
- 项目目录结构
- 核心模块说明
- 数据模型设计
- 代码规范
只要使用 Cursor/Claude Code等工具,它能直接访问你的项目文件夹,会自动读取项目根目录的文档。
于是每次你和AI对话,它都已经“知道”了你的项目架构和规范。不需要反复上传文档。
最后一个提醒:文档要跟着项目更新。
如果你调整了架构、改变了某个设计,记得让AI同 步更新文档。
否则AI会按照过时的文档理解项目,导致新代码跟现有代码对不上。
第七步:设置
Git 版本管理
在写第一行代码之前,最后一件必须做的事:设置 Git版本管理。
即使你从没用过Git。这一步也不能省,因为它是你整个开发过程中最重要的“后悔药”。
Git是做什么的?
简单说,就是给你的项目创建“存档点”。就像玩游戏时的存档系统,每完成一个阶段就存个档,后面打不过了可以读档重来。
为什么AI编程特别需要Git?
因为AI在修改代码时,很容易在解决一个小bug 的同时,不小心破坏其他正常工作的功能。
这不怪AI,代码之间有复杂的依赖关系,改一处能影响其他地方。这是软件开发的固有特性。
有了Git,每次完成一个功能,你就创建一个“存档点"。后面改出问题了,随时可以回到之前的安全状态。
怎么用 Git?
1. 项目开始时:
git init git add. git commit-m"项目初始化"
2.每完成一个功能:
git add. git commit-m"完成了XX功能" ......
commit 信息要写清楚这次改了什么,方便以后查找。
3.改出问题要回滚:
git log #查看历史记录 git reset -- hard[某个commit的ID]#回到那个版本
一个实用的节奏:
让AI列出开发计划,然后按计划一步步开发。每完成一个独立功能,就创建一个commit。
这样如果某个功能出问题,可以精确回退到这个功能添加之前,不影响其他已完成的部分。
举个例子:
✅完成数据录入功能→git commit
✅完成数据展示功能→git commit
✅完成统计功能→git commit
❌添加导出功能后整个项目崩了→git reset回到添加前
完整流程总结
现在把七个步骤串起来:
完成这些准备,才真正开始写代码。
这个过程可能需要30分钟到1小时,但能帮你避免后续几小时甚至几天的返工。
更重要的是,它让你对整个项目有了清晰的认识:要做什么、为什么这样做、怎么做。
从准备到开发
准备工作做完,就可以开发了。但记住几个原则:
1.先做MVP(最小可用版本)
不要一开始就追求完美。先做一个能跑、能用、实现核心功能的版本。后面再慢慢优化。
比如记账工具,第一版只要能记录收支、能查看列表就够了。报表、预算、数据分析这些可以后面加。
2.小步迭代
每次只做一个功能,做完测试没问题,再做下一 个。
别一口气让AI写一大堆代码,那样出问题很难定位。
3.勤 commit
每完成一个小功能就commit一次。这是我们的安全网,别省。
4. 验证AI的代码
AI写的代码要自己测试。不要盲目相信,也不要过度怀疑,测试是最好的验证方式。
如果是完全零基础 的新手,建议:
从简单项目开始。
别一上来就做复杂的。先做个待办事项管理、简易记账本、个人博客这种简单项目。
目的不是做出多牛的产品,而是把整个流程走一遍,体会每个步骤的作用。 做完一个项目,流程就刻在脑子里了,也有了 Vibe Coding的感觉。
别害怕出错。
有Git在,出错了就回滚,没什么大不了的。多试几次,经验就来了。
#你都用vibe coding做过什么?#
查看20道真题和解析