🔁 一轮该做多小?——vibe coding 的迭代节奏
上一篇讲了「为什么小步更重要」。这一篇讲具体怎么切: 一轮该做多小?什么时候该打断它?怎么让它别跑偏?
这一篇是手感篇。看完你会拿到一个可以直接用的节奏模板。
先说一个最常见的错误
很多新手第一次尝试 vibe coding,会犯同一个错:
「你先把整个项目搭出来,我看看效果。」
Agent 会高高兴兴地给你 2000 行代码、十几个文件。然后:
- 你不知道从哪看起
- 它实现的功能有一半你没要
- 细节全是你不喜欢的默认样式
- 想改一处,怕牵动别处
然后你的结论往往是:「AI 写代码不太行。」
而真相是:不是它不行,是你没给它一个能走的小路。
核心原则:一轮 = 一件能立刻看到结果的小事
判断标准很简单:
这一轮做完,你能在 10 秒内说清楚「对了」还是「不对」吗?
如果不能,说明这一轮太大了。
粒度参照表
| ✅ 好的粒度 | ❌ 坏的粒度 |
|---|---|
| 把按钮改成圆角、深蓝色 | 把整个界面重新设计一遍 |
| 加一个「清除已完成」按钮 | 加一整套筛选和排序功能 |
| 删掉一条待办时弹确认框 | 完善整个数据层 |
| 让刷新后数据不丢 | 把待办做成多用户同步 |
| 把标题字号调大一点 | 优化整个 UI 风格 |
规律:好的粒度 = 一件事 + 一个明确验收标准。
一轮的完整流程
这是核心模板,建议直接照着做:
1. 定一件事 → 这一轮只做这一件
2. 说清边界 → 哪些别动、做到什么程度算完成
3. 看结果 → 打开看,别只看它说「已完成」
4. 判断 → 对 → 下一轮;不对 → 纠偏第 1 步:定一件事
反面示例:「帮我完善一下这个项目。」
问题:没有边界,AI 会自己决定「完善」是什么意思,可能给你重构整个架构。
正面示例:「现在给待办列表加一个删除按钮,点了就删掉那一条。」
检查方法:这句话能不能一句话说完?能不能一眼判断做完了没有?
第 2 步:说清边界
这是最容易被忽略、但收益最大的一步。
💡 一个技巧:明确说出「别动什么」。
| 你想加的东西 | 顺带说这句 | 效果 |
|---|---|---|
| 加删除按钮 | 「只加按钮,其他别改」 | AI 不会趁机重构你的样式 |
| 改样式 | 「只改颜色,布局别动」 | 布局不会莫名其妙变了 |
| 修 bug | 「只修这个报错,别的地方别动」 | 不会引入新问题 |
| 加功能 | 「这个功能先简单做,不用考虑空状态」 | 不会过度设计 |
为什么这句这么重要? 因为 AI 的默认倾向是「顺手把相关的地方都优化一下」。你不划边界,它就会动。
第 3 步:看结果
⚠️ 最重要的一句话:永远别只看 AI 说「已完成」。
一定要自己打开看:
| 看什么 | 怎么做 |
|---|---|
| 页面 | 浏览器打开 |
| 功能 | 真的点一下、真的输入一下 |
| 报错 | 终端里有没有红色报错 |
| 手机端 | 浏览器按 F12 → 切手机视图 |
为什么? 因为 AI 经常「写完了但没跑通」,或者「跑通了但不是你要的方向」。
第 4 步:判断
只有三种结果,对应三种反应:
| 结果 | 你的反应 |
|---|---|
| 对了 | 说「好,下一件事:……」——直接接下一轮 |
| 大方向对,细节不对 | 说「方向对,但 X 要改成 Y,只改这个」——精准微调 |
| 完全跑偏 | 说「停。我们重来,这轮的目标是……」——重来,不要在错的基础上改 |
注意第三种。 「完全跑偏」时最糟糕的反应是:在错的基础上继续小修小补。因为你不知道它是哪一步开始歪的,越修越乱。
这时候正确的做法是重来,但要说清楚为什么重来,这样 AI 这次不会重蹈覆辙:
「前面我们想要的是 X,但做出来是 Y。我们重来,这轮只做 Z。」
每轮必问的三句话
做完一轮、准备进入下一轮时,先问这三句。这是把「感觉」变成「判断」的开关:
| 问什么 | 怎么问 | 用来干什么 |
|---|---|---|
| 它理解对了吗? | 「刚才那轮,你理解我的需求是什么?用一句话复述。」 | 防止它在你的模糊处自行脑补 |
| 有没有多做? | 「这轮你改了哪些文件?哪些地方是你顺手加的?」 | 抓出偷偷扩范围的部分 |
| 现在什么状态? | 「现在这个版本能干什么?还差什么才能用?」 | 知道自己在哪,下一步去哪 |
第一句是全篇最有价值的一句。
为什么?因为 AI 误解你的需求时,它通常不会告诉你它误解了,它会直接做出一个「合理但不是你想要的」东西。而让它复述,等于在它动手之前就把它的理解暴露出来。
只需要一句话的成本,拦掉了一整轮的返工。
什么时候该打断它
另一个高频问题:它跑起来了,我要不要打断?
先区分两种情况:
| 情况 | 说明 | 怎么办 |
|---|---|---|
| 它在做你要的事 | 正在按你要求改 | 别打断,等它做完 |
| 它在做另一件事 | 开始顺手优化、重构、加你没要的功能 | 打断,用一句话拉回来 |
打断的话术:
「停。我只要 X,你先撤回刚才对 Y 的改动。」
注意:打断时别急着说「你做错了」,先说你到底要什么。因为对它来说,「撤回 Y」比「你错了」清晰得多。
一个反面案例
你:「加个删除按钮」 AI:开始改,顺手重构了状态管理、抽了个 hook、加了 toast 提示 你:(看不懂,沉默)
这时候沉默是最贵的选择。 AI 会以为你默许了,继续往下做。
节奏模板(可以直接抄)
第 1 轮 定骨架 「先做一个最简版本,只放 XXX,我看看。」
↓ ↑ 看到丑但能跑的东西,忍住不要大改
第 2 轮 调样式 「把 XXX 改成 XXX,其他别动。」
↓
第 3 轮 加功能 「现在加 XXX,验收标准是 XXX。」
↓
第 4 轮 补关键 「XXX 要能 XXX(刷新不丢 / 手机能用 / 报错能提示)。」
↓
第 5 轮 收口 「检查一下还有没有 XXX 没做完的,列给我。」注意第 5 轮「收口」。 很多新手做到第 4 轮就急着用,其实还差关键能力没补(比如数据一刷新就没)。收口这一轮专门用来把这类「藏着的问题」挖出来。
每一轮开始前,先问:「上一轮它理解对了吗?」
一个真实例子
一个用户做「记账 App」,第一版直接说「帮我做一个记账 App」,做出来 2000 行,用了 5 轮才勉强能用。
另一个用户做同样的 App,第 1 轮只说「先做一个只有输入框和列表的页面,能加进去、能看到」,第 2 轮加删除,第 3 轮加分类,第 4 轮加日期,第 5 轮补持久化,第 6 轮修手机端,第 7 轮收口。
同样 7 轮,后者更接近能用的产品,前者还在补窟窿。
差别不在于谁更懂代码,而在于谁把每一轮切得更小。
下一步
现在你知道一轮该切多小了。但下一个问题立刻出现:
我不会写代码,怎么判断它做得对不对?
它跑起来了,看着也能用——但我心里没底。是不是有 bug?是不是漏了什么?