Vibe Tutorial
PRD 与文档驱动开发

3.1 AI友好的PRD结构

Tip

学会写AI友好的PRD文档,让AI在写代码前就理解整个系统的全貌。


1. 为什么要学这个?

你可能会直接对AI说:"帮我做一个商城"。

AI会像打鸡血一样生成一堆代码。但当你想加"购物车"功能时,发现它把"商品"和"订单"写死在一个文件里,根本改不动。

想象你要盖房子。

  • 没有图纸:工人每天问你"今天盖哪?",你随口说"这里加个房间"。结果盖出来的房子,楼梯通向天花板,门打开是墙。
  • 有图纸:工人拿着蓝图,知道哪里是承重墙,哪里是厕所,一次性盖好,不用返工。

关键问题:

  • 怎么让AI理解整个系统的全貌?
  • 怎么避免AI写出改不动的代码?
  • 什么时候需要写PRD,什么时候不需要?

PRD就是给AI的建筑蓝图。


2. 核心概念

2.1 PRD - 产品需求文档

技术定义:PRD(Product Requirements Document)是详细描述产品功能、用户流程、技术栈的文档。

就像建筑蓝图。

  • 作用:让AI在写第一行代码前,就知道整个系统的全貌。
  • 内容:项目目标、核心功能、用户流程、技术栈、数据模型。
  • 好处:避免AI写出改不动的代码,减少返工。

2.2 AI友好的PRD特点

技术定义:AI友好的PRD要结构化、可视化、精简,让AI能快速理解。

就像给工人的施工图。

  • 结构化:用标题、列表、表格组织内容
  • 可视化:用Mermaid图展示流程
  • 精简:只写核心逻辑,不写废话
graph TD
    A[用户需求] --> B[写PRD]
    B --> C[AI理解全貌]
    C --> D[生成代码]
    
    E[没有PRD] --> F[AI猜测需求]
    F --> G[生成混乱代码]
    G --> H[返工重写]
    
    style A fill:#e1f5ff
    style B fill:#fff3e0
    style C fill:#e8f5e9
    style D fill:#e8f5e9
    style F fill:#ffebee
    style G fill:#ffebee
    style H fill:#ffebee

3. PRD的五要素

📦 要素1:项目目标

一句话讲清楚:做什么?给谁用?解决什么问题?

# 项目目标
一个面向自由职业者的发票生成器,解决Excel开票慢、易出错的问题。

⚙️ 要素2:核心功能

列出3-5个必须有的功能(MVP)。

# 核心功能
- 用户注册/登录
- 发票表单填写
- PDF生成与下载
- 历史记录查询

✨ 要素3:用户流程

用Mermaid画出用户怎么用这个产品。

graph TD
    A[用户访问首页] --> B{是否登录?}
    B -->|否| C[注册账号]
    B -->|是| D[进入仪表盘]
    
    D --> E[点击新建发票]
    E --> F[填写表单]
    F --> G[预览PDF]
    G --> H[下载保存]
    
    style A fill:#e1f5ff
    style D fill:#fff3e0
    style H fill:#e8f5e9

🔧 要素4:技术栈

明确告诉AI用什么工具,别让它猜。

# 技术栈
- 前端:Next.js 14 + TypeScript + Tailwind CSS
- 组件:shadcn/ui
- 数据库:Supabase
- PDF生成:jsPDF

💾 要素5:数据模型

简单描述核心数据长什么样。

# 数据模型
Invoice (发票)
- id: 唯一标识
- user_id: 用户ID
- amount: 金额
- date: 日期
- status: 状态(草稿/已发送)

4. 什么时候需要PRD?

🎯 场景 是否需要PRD 理由
改按钮颜色 ❌ 不需要 原子操作,直接对话即可
写个图片转换脚本 ❌ 不需要 单一功能,一句话能说清
做一个全新的商城App ✅ 必须 复杂度极高,必须先有图纸
给商城加拼团功能 ✅ 必须 大功能模块,需要梳理逻辑

5. 避坑指南

❌ 不要这样做 ✅ 应该这样做 为什么
"帮我做一个像微信一样的App" 先做"聊天MVP",只有发送文字功能 太抽象,AI会不知所措
写了50页文档 核心逻辑讲清楚,细节开发时再补 太长吃光Context,AI记不住
不画图,纯文字描述流程 用Mermaid画流程图 一图胜千言,AI更容易理解
没说技术栈,让AI自己选 明确指定技术栈 避免AI选错工具

6. 真实案例

Story

1884年,温彻斯特神秘屋的38年混乱

美国加州的温彻斯特神秘屋,屋主Sarah Winchester雇工人日夜不停建造了38年。关键问题是:她没有建筑蓝图。每天早上随性画张草图给工头:"今天在这里加个房间"。结果这座房子有160个房间,但结构极其诡异:有的楼梯通向天花板(死胡同),有的门打开是墙,有的窗户装在地板上。这座房子现在成了著名的"鬼屋"旅游景点,但作为住宅完全无法使用。

Vibe心法:复杂项目必须先写PRD——目标、功能、流程图、技术栈、数据模型,五要素缺一不可。


7. 本章小结

  1. 📐 PRD是蓝图:让AI在写代码前就理解整个系统
  2. 📋 五要素:目标、功能、流程(Mermaid)、技术栈、数据模型
  3. 🎯 什么时候写:复杂项目和大功能模块必须写,小改动不需要
  4. 📊 用Mermaid画图:一图胜千言,AI更容易理解
  5. ✂️ 保持精简:只写核心逻辑,不要超过3页