第 3 章

PRD 与文档驱动

掌握文档驱动开发的核心思想,学会用 AI 辅助编写 PRD,建立结构化思考方法,让文档成为开发的指南针。

核心洞察:文档即上下文

在 AI 编程时代,文档不是负担,而是 AI 理解需求的上下文。 好的 PRD 让 AI 准确理解需求,生成符合预期的代码。看完上一章的 VibeCoding 工作流,现在我们来学习如何编写 AI 可读的文档。

为什么需要 PRD

在传统开发中,PRD 是团队沟通的工具。在 AI 编程时代,PRD 是AI 理解需求的上下文

传统开发

  • • PRD 用于团队沟通
  • • 需求理解依赖人工讨论
  • • 文档和代码容易脱节
  • • 变更需要人工同步

AI 编程时代

  • PRD 是 AI 的上下文
  • • AI 直接读取 PRD 生成代码
  • • 文档即代码,版本同步
  • • 变更自动触发代码更新

文档驱动的价值

减少返工:先写文档,AI 理解后再编码,避免理解偏差
提高质量:结构化文档让 AI 生成更准确的代码
可追溯性:文档版本控制,变更历史清晰
团队协作:文档是团队共同语言,减少沟通成本

结构化思考方法:Sequential Thinking

编写 PRD 不是一蹴而就的,需要结构化思考。 使用 Sequential Thinking(顺序思考)方法,将复杂问题分解为可管理的步骤。

Sequential Thinking 工作流

1

问题分解

将复杂需求分解为多个子问题,每个子问题独立可解

2

逐步思考

对每个子问题逐步深入思考,记录思考过程

3

验证假设

对每个假设进行验证,确保逻辑正确

4

整合方案

将各个子问题的解决方案整合为完整方案

5

迭代优化

根据反馈不断优化和完善方案

实战示例:用户登录功能

思考步骤 1:问题分解
• 用户如何输入账号密码?
• 如何验证用户身份?
• 登录成功后如何保持状态?
• 如何处理登录失败?
思考步骤 2:逐步深入
• 前端:表单验证、错误提示、加载状态
• 后端:密码加密、Token 生成、会话管理
• 安全:防暴力破解、CSRF 防护
思考步骤 3:整合方案
将前端、后端、安全三个维度的方案整合为完整的登录功能设计

使用 AI 辅助结构化思考

使用 Sequential Thinking MCP 工具或类似的思考方法,让 AI 帮助你:

  • 分解复杂问题:AI 帮你识别关键子问题
  • 记录思考过程:每一步思考都被记录下来,可追溯
  • 验证逻辑:AI 帮你检查逻辑漏洞
  • 迭代优化:根据反馈不断改进方案

PRD 编写指南

PRD(Product Requirements Document)是产品需求的完整描述。 在 AI 编程时代,PRD 需要结构化、可执行、AI 可读

PRD 核心结构

1. 产品概述

必填

产品定位、目标用户、核心价值、一句话目标

2. 功能需求

必填

功能列表、用户故事、优先级、验收标准

3. 非功能需求

必填

性能、安全、可用性、可扩展性要求

4. 接口定义

必填

输入输出、数据结构、错误处理、API 规范

5. 约束与假设

必填

技术约束、资源限制、前提条件、非目标

6. 验收标准

必填

功能验收、性能验收、安全验收、DoD 清单

AI 可读的 PRD 原则

❌ 模糊描述
用户登录功能 - 用户可以登录 - 登录后可以访问系统
✅ 结构化描述
用户登录功能 目标:用户通过账号密码登录系统 输入:username (string), password (string) 输出:token (string), userInfo (object) 错误:401 密码错误, 429 请求过于频繁 验收:输入正确密码返回 token,错误密码返回 401

PRD 编写最佳实践

  • 明确目标:每个功能都要回答"为什么需要"和"一句话目标"
  • 定义非目标:明确说明不做什么,避免范围蔓延
  • 结构化描述:使用 Markdown 格式,清晰的层级结构
  • 可测试性:需求要能够被验证和测试,包含验收标准
  • 版本控制:PRD 应该像代码一样进行版本管理(Git)
  • 持续更新:需求变更时及时更新文档,保持文档和代码同步

Spec 驱动开发

Spec-Driven Development 强调先写规范,再写代码。 规范即上下文,让 AI 更好地理解需求,生成符合预期的代码。

传统开发流程

1需求讨论
2直接编码
3发现问题
4返工修改

Spec 驱动流程

1编写 Spec
2评审确认
3基于 Spec 编码
4按 Spec 验收

Spec 的核心要素

1
目标 (Goals):这个功能要解决什么问题?一句话目标是什么?
2
非目标 (Non-Goals):这个功能不做什么?明确边界
3
接口定义:输入输出、数据结构、错误处理、API 规范
4
验收标准 (Acceptance Criteria):怎样才算完成?包含功能验收、性能验收

使用 AI 生成 Spec

让 AI 帮你从需求生成 Spec,然后你进行评审和优化:

Prompt 示例:
请帮我生成一个用户登录功能的 Spec,包含: 1. 目标和非目标 2. 接口定义(输入输出、错误处理) 3. 验收标准 4. 技术约束

WBS 工作分解

WBS(Work Breakdown Structure)将复杂项目分解为可管理的小任务。 在 AI 编程时代,任务分解让 AI 可以分步执行,提高成功率。

分解原则

MECE 原则
相互独立,完全穷尽(Mutually Exclusive, Collectively Exhaustive)
粒度适中
每个任务 1-3 天可完成,适合 AI 分步执行
可交付
每个任务都有明确的产出物,可验证
依赖清晰
明确任务之间的依赖关系,确定执行顺序

示例:用户登录功能

WBS 结构:
用户登录功能 ├─ 前端登录页面 │ ├─ UI 组件开发 │ ├─ 表单验证 │ └─ 错误提示 ├─ 后端 API 开发 │ ├─ 登录接口 │ ├─ Token 生成 │ └─ 会话管理 └─ 测试 ├─ 单元测试 └─ 集成测试

使用 AI 辅助任务分解

让 AI 帮你将 PRD 分解为可执行的任务列表:

Prompt 示例:
请将以下 PRD 分解为 WBS 任务列表: [粘贴 PRD 内容] 要求: 1. 每个任务粒度适中(1-3天可完成) 2. 明确任务依赖关系 3. 每个任务有明确的验收标准

DoD 完成定义

DoD(Definition of Done)定义了任务完成的验收标准。 在 AI 编程时代,DoD 可以自动化检查,确保质量一致。

标准 DoD 检查清单

代码已通过所有测试(单元测试、集成测试)
代码已通过代码审查(AI 审查 + 人工审查)
文档已更新(PRD、API 文档、README)
符合编码规范(ESLint、Prettier、TypeScript)
已部署到测试环境并验证通过
产品经理已验收(功能符合 PRD)

AI 自动化 DoD 检查

使用 AI 工具自动检查 DoD 清单,提高效率:

代码审查
使用 AI 代码审查工具(如 Cursor、GitHub Copilot)自动检查代码质量
测试生成
使用 AI 生成测试用例,确保代码覆盖率
文档同步
使用 AI 检查文档和代码的一致性,自动更新文档

DoD 的价值

  • 质量保证:确保所有任务都达到统一的质量标准
  • 减少返工:提前发现问题,避免后期修改
  • 团队共识:所有人对"完成"有统一的理解
  • 可追溯性:明确记录每个任务的完成情况
  • AI 友好:清晰的验收标准让 AI 知道何时完成任务

文档即代码

在 AI 编程时代,文档应该像代码一样管理: 版本控制、代码审查、自动化检查、持续集成。

文档版本控制

使用 Git 管理文档
docs/prd/
├── user-login.md
├── user-profile.md
└── README.md
  • • 文档变更通过 PR 提交,代码审查
  • • 文档版本与代码版本同步
  • • 变更历史清晰可追溯

文档自动化检查

CI/CD 集成
  • • 检查 PRD 格式是否符合规范
  • • 检查文档和代码的一致性
  • • 自动生成 API 文档
  • • 检查文档完整性(必填字段)

文档即上下文

文档不仅是记录,更是AI 理解需求的上下文。 好的文档让 AI 准确理解需求,生成符合预期的代码。文档和代码应该同步更新,保持一致性。

学习成果

完成本章后,你将:

  • 1理解文档驱动开发的核心思想,掌握文档即上下文的理念
  • 2掌握结构化思考方法(Sequential Thinking),能够分解复杂问题
  • 3能够编写 AI 可读的 PRD 文档,包含完整的产品需求
  • 4掌握 Spec 驱动开发流程,理解规范即上下文的理念
  • 5能够进行有效的任务分解(WBS),管理项目进度
  • 6理解 DoD 的重要性,能够定义清晰的验收标准
  • 7掌握文档即代码的管理方法,建立文档版本控制流程