Vibe Coding 经验与挑战复盘
研发团队分享材料 · 产品 / 开发 / 测试全员适用
格式:Markdown(可直接投屏或导出 PDF)
一、我如何理解 Vibe Coding
Vibe Coding 不是「把需求丢给 AI 然后等结果」,而是一种人机协作的节奏:人负责意图、边界、验收与判断;AI 负责展开、实现、试错与填充细节。
它的价值不在于替代谁,而在于把重复劳动交给工具,把人的精力留给更难的事——方向、架构、体验、风险与「对不对」。
最大优势:扩能力半径,而不只是提效
很多人会把 Vibe Coding 的第一印象落在「写得更快」上。我的体会是:提效是副产物,更核心的价值是让人敢做、能做更多事。
以前可能因为能力栈、时间成本或心理门槛,不敢碰的领域——比如前端同学试后端、后端同学改 UI、测试同学写脚本、产品同学搭原型——在 AI 补位实现细节、降低试错成本的前提下,可以小步尝试、逐步建立手感。这相当于用工具扩大了单个人的能力半径:不是让你一个人干十个人的活,而是让你在主业之外,多了一块可探索的版图。长期看,团队里「只会一端」的隔阂会变小,协作时的共同语言也会变多。
君子性非异也,善假于物也。
能力未必天生不同,差别往往在于会不会、敢不敢、能不能用好外物。Cursor、Agent、各类 Copilot 都是「物」;会假于物的人,同样时间能走更远。
二、如何写好 Plan:先骨架,再血肉
AI 很擅长「填肉」,但骨架必须是人定的,否则容易产出能跑却不对、能看却难维护的代码。
推荐 Plan 模板
## 目标
一句话说明要达成什么。
## 非目标
明确不做什么(不改哪些模块、不引入哪些依赖)。
## 逻辑骨架
- 伪代码或 mermaid 流程图
- 关键分支、错误路径、边界条件
## 步骤(可勾选)
- [ ] 步骤 1 …
- [ ] 步骤 2 …
## 验收标准
谁、在什么场景、什么结果算通过。
实践习惯:先用伪代码或流程图描述逻辑骨架,再让 AI 按骨架填充实现;关键路径和边界写死,实现细节交给 AI。
常见挑战:Plan 太细像写完整设计文档成本高;太粗则 AI 自由发挥。平衡点在于——骨架必须可 Review,血肉可以迭代。
三、小步快跑,持续验证
这是实践中最稳的一条心法:拆得够小、验得够早、回滚够便宜。
| 原则 | 做法 | 收益 |
|---|---|---|
| 拆 | 大需求切成可独立验收的小块 | 每块都有「做完就能点、能跑、能测」的标准 |
| 验 | 每完成一小块就本地跑、自测或补最小用例 | 避免堆到最后一刻才集成 |
| 收 | 小步意味着 AI 跑偏时损失可控 | 通常只是一两个文件,而非整仓重写 |
小步迭代流程
角色视角
- 产品:每个小步对应可演示切片,便于早对齐「是不是这个意思」。
- 开发:避免「一次生成两千行再修」的泥潭。
- 测试:每步有明确验收点,回归范围可控。
常见挑战:拆得太碎会碎片化;拆得太粗又失去验证意义。练习目标是——一步刚好能证明一个假设。
四、架构能力大于编码能力
Vibe Coding 时代,写语法的速度在贬值,定结构的能力在升值。AI 可快速产出 CRUD、组件、测试样板;若模块边界、数据流、扩展点未想清楚,会得到大量正确但放错地方的代码。
推荐协作顺序
人更应关注:
- 分层是否清晰(UI / 领域 / 基础设施)
- 依赖方向是否合理
- 状态放哪、谁拥有「唯一真相」
- 失败重试、幂等、安全边界
原则:人定架构,AI 填实现——顺序反了,后期重构成本会指数上升。
五、节省 Token:上下文也是成本
Token 不只是账单,更是注意力与噪音。长上下文里混杂已废弃方案、错误尝试,容易让 AI「记得」早已不存在的逻辑。
对话与上下文管理
| 做法 | 说明 |
|---|---|
| 一事一会话 | 完成一个功能就切新对话,减少无关历史 |
| 精确引用 | 用 @文件 / @目录,避免粘贴整项目 |
| 交接摘要 | 切对话前写:当前状态、已做、待做、已知坑 |
| 规则沉淀 | 团队约定写入 Rules / Skill,少重复口头解释 |
角色提示
- 产品:结构化需求(用户故事 + 验收条件)比长篇聊天记录更高效。
- 测试:用例列表、失败日志单独会话,不与开发调试混在一起。
常见挑战:新对话会丢「默契」——靠交接摘要和仓库内短文档补齐,否则重复解释更费时。
六、审美与判断力:AI 不能替你负责
AI 能生成「看起来完整」的 UI、文案、测试,但好不好用、好不好看、该不该上线,仍是人的责任。
mindmap
root((人的判断力))
审美
布局层次
留白与一致性
品牌与场景贴合
工程
安全与权限
性能与可扩展
可访问性
质量
测什么不测什么
什么算缺陷
何时说「不」
- 审美:可借助设计 Skill 或参考稿,但最终要有人对齐品牌与场景。
- 判断力:密钥、权限、N+1、合规等要在 Review 时主动问,不能默认 AI 已考虑。
- 说「不」:明显过度设计、多余抽象、炫技式依赖,要敢于砍掉。
建议:把 AI 产出默认视为草稿,必须经过人眼与自动化门禁(Lint、CI、核心用例)。
七、端到端协作框架
产品、开发、测试在同一套节奏下协作,而不是各用各的「聊天技巧」。
sequenceDiagram
participant P as 产品
participant D as 开发
participant T as 测试
participant AI as AI 工具
P->>P: 用户故事 + 验收条件
P->>D: 需求切片 · 可演示标准
D->>D: Plan 骨架(流程图/伪代码)
D->>AI: 小步实现
AI-->>D: 代码 / 单测草稿
D->>D: 本地验证
D->>T: 可测增量 + 验收说明
T->>T: 场景 · 风险 · 回归范围
T->>AI: 用例/脚本辅助(独立会话)
T-->>D: 缺陷 · 边界反馈
D->>AI: 修复(小步)
Note over P,T: 全员:完成一功能可切新对话,控 Token
| 维度 | 产品 | 开发 | 测试 |
|---|---|---|---|
| 核心价值 | 意图清晰、验收可测 | 骨架与边界、可维护 | 风险与场景覆盖 |
| 善用 AI | 原型、文案、用户故事 | 实现、重构、单测 | 用例、数据、脚本 |
| 常见坑 | 需求漂移、口头约定 | 架构缺失、盲目采纳 | 只测 happy path |
共性:小步验证、好 Plan、控上下文、人做最终判断。
八、可落地的个人 Checklist
开工前
- 需求是否已切成可验收的小块?
- Plan 是否包含:目标、非目标、骨架、验收标准?
- 是否需要新开对话(新功能 / 新模块)?
实现中
- 是否先骨架后血肉,而非一句模糊话直接生成?
- 是否用
@精确引用,避免整仓上下文? - 每小步是否已本地验证?
交付前
- 架构与依赖方向是否仍合理?
- UI / 文案 / 安全 / 性能是否有人判断?
- 是否写好交接摘要(若下一步换会话)?
结语
君子性非异,善假于物也——愿我们都能做会假于物的人,而不是被物牵着走的人。