ZJY365 实战
从想法到上线

第 3 章 · 写出 PRD:把决策变成约定

把 D1–D7 固化成一份精简但完整的 PRD:用户流程、功能范围、页面、数据需求、异常情况和 8 条可测的验收条件。

这一章解决什么问题

决策表还停留在对话里。对话会被清空、记忆会走样,AI 下一次会话并不知道你拍板过什么。PRD(需求说明文档)就是把决定固化成你和 AI 共同的约定:接下来的每一步——选型、拆任务、验收——都回到这份文档对答案。

先把丑话说在前面:写完 PRD ≠ 需求验证过了。 PRD 固化的是你的决定和假设,不是市场真相。「我会坚持录入两周」这类假设,只有第 8 章上线后的真实使用才能验证。PRD 的价值是让验证失败时你能知道当初为什么这么想,从而改得有依据。

开始前你要有什么

  • 第 2 章的决策表(D1–D7,每条带理由和取舍)
  • 第 1 章的需求说明(PRD 的「问题陈述」直接从它来)

分工:人判断什么,AI 做什么

人负责(判断)AI / Skills 负责(加工)
决定每个 D 落进 PRD 哪一部分、措辞是否符本意按模板起草全文(可用 to-spec 一类 skill,或直接给模板)
砍掉 AI 顺手加进去的功能把每个决定翻译成可测试的验收条件
最终逐条确认检查遗漏:决策表里拍了板、PRD 里却没影的内容

怎么做

第 1 步:认识 PRD 的七个部分,以及每部分后面归谁用

部分为什么需要后面谁用它
问题陈述防止做到一半忘了当初解决什么第 7 章排错时判断「这算不算 bug」
用户与场景决定界面为谁优化(手机优先还是电脑优先)第 4 章评估模板、第 5 章排任务顺序
用户流程把使用过程拆成可实现的步骤第 5 章拆任务、第 6 章讲链路
功能范围(做/不做)「不做」清单比「做」清单更防跑偏第 5 章约束 AI 别顺手加功能
页面清单页面数量决定工作量第 4 章评估模板够不够用
数据需求存什么字段,决定数据库长什么样第 6 章建表直接照抄
异常情况 + 验收条件定义「做对了」的客观标准第 7 章 AC 逐条验收、第 8 章线上重跑

第 2 步:生词本案例 PRD(精简完整版)

案例文档,示例数据均为教学假设。可整体抄做模板,方括号外都是你可以改的部分。

# PRD:我的生词本(第一版)

## 1. 问题陈述
我在手机备忘录里记了 300 多条生词,从不复习,也分不清哪些已掌握。
(来源:需求说明 · 事实部分)

## 2. 用户与场景
用户:我自己,备考英语,手机(地铁/睡前)与电脑(录入)都要用。
核心场景:读到生词 → 录入(词+释义)→ 之后按「未掌握」筛选复习。

## 3. 用户流程
登录 → 录入单词(单词+释义必填,例句/来源选填)→ 列表查看
→ 复习时按「未掌握」筛选 → 标记某词「已掌握」→ 随时切回。

## 4. 功能范围
做(V1):邮箱登录;录入;列表+按状态筛选;状态切换。
不做(V1):词典 API 自动释义;间隔重复算法;导入导出;分享;
多语言界面;任何形式的排行榜。
(不做清单来源:D2/D3;分享被拒来源:D1——没有别人要用的证据)

## 5. 页面清单
- 登录页:邮箱登录/注册
- 单词列表页(唯一主页面):顶部录入表单 + 词表 + 状态筛选
(V1 不单独做「录入页」和「编辑页」,列表页一个顶三个)

## 6. 数据需求
words 表:id、user_id(归属账号)、word、meaning(必填)、
example(选填)、source(选填)、status(learning/mastered,
默认 learning)、created_at、updated_at。
约束:同一账号下 word 不重复。

## 7. 异常情况
- 词表为空:显示引导语和录入入口,不是一片空白
- 重复录入同一词:提示「已录入过」,不产生第二条
- 保存失败(断网/服务错误):明确显示失败,绝不假成功
- 未登录访问任何页面:跳转登录页
- 超长输入:单词 100 字符、释义 500 字符上限,超出给出提示

## 8. 验收条件(AC)
AC1 未登录打开任意页面 → 进入登录页
AC2 登录后录入「resume」+ 释义 → 列表立即出现,状态为「未掌握」
AC3 刷新页面、或换浏览器登录同一账号 → 已录的词都在
AC4 点状态标签 → 未掌握/已掌握互相切换,刷新后保持
AC5 筛选「未掌握」→ 列表只剩未掌握的词
AC6 再次录入 resume → 明确提示已存在,列表不出现第二条
AC7 断网时点保存 → 显示失败提示,不显示「已保存」
AC8 用第二个账号登录 → 看不到第一个账号的任何词
    (包括直接请求列表接口)

第 3 步:给每条 AC 做「可测性」体检

AC 是整套教程复用率最高的产物:第 5 章把它分摊进任务、第 7 章逐条验收、第 8 章在线上重跑。可测的标准是「动词 + 可观察结果 + 无需解释」:

  • ✅ 「AC6 再次录入 resume → 明确提示已存在」——任何人照着做都能得出是/否。
  • ❌ 「录入体验流畅」——流畅没法判卷,等于没写。

给 AC 编号(AC1–AC8)也是刻意的:后面所有地方用编号引用,避免「那个登录的检查」这种指代不清。

第 4 步:让 AI 做一致性体检(约 5 分钟)

对照这份决策表(粘贴 D1–D7)检查这份 PRD(粘贴 PRD):
1. 决策表里拍板过的,PRD 是否都有落点?
2. PRD 里有没有决策表没拍过板的内容(AI 自作主张的部分)?
3. 每条 AC 是否可测?不可测的给出改写。
只报告问题和建议,不要直接改写整份文档。

产物与检查

产物:PRD 一份。检查表:

  • 七个部分齐全,「不做」清单至少 3 条
  • AC 编号连续、每条可独立测出是/否
  • 数据需求里的字段和异常情况能对上(有「重复录入」异常,就有 unique 约束)
  • AI 体检报告里的问题全部处理过

不满意或失败时怎么调整

  • 某条 AC 写不出来:多半是背后的决定没拍透(比如「掌握」怎么定义)。别硬编,回第 2 章把那个 D 重新过一遍。
  • 范围又膨胀了(写着写着「要不顺便做个……」):用第 1 章的终极问题过滤——它影响两周试用那三条判断吗? 不影响,进「不做」清单。
  • AI 起草的 PRD 读起来像商业计划书(愿景、竞品、营收模式):删。第一版 PRD 只服务一件事:你和 AI 对「做什么、做到什么程度」达成一致。

交给下一章什么

  • PRD 全文——第 4 章从「页面清单、数据需求、异常情况」提取技术约束,评估候选模板够不够用;
  • AC1–AC8——第 5 章把它们分摊成任务清单的验收锚点。

案例进度:PRD 定稿。下一步拿着「要数据库、要登录、要响应式、维护要省心」这四个约束去挑起点模板——先查证,再决策。

On this page