Skip to Content

15b - AI 辅助需求定义与 PRD

本文是《AI Agent 实战手册》第 15 章第 2 节。 上一节:15a-AI辅助市场调研 | 下一节:15c-AI辅助用户访谈分析

概述

需求定义和 PRD(产品需求文档)是连接”想法”与”代码”的桥梁。2025-2026 年,AI 工具已经从简单的文档生成进化到 Spec-Driven Development(规格驱动开发)——AI 不仅能帮你写 PRD,还能将需求自动转化为技术设计和可执行的任务列表。本节覆盖 AI 辅助需求定义的完整工具链、用户故事生成、验收标准编写、Spec 创建的 prompt 模板,以及 PRD 审查与迭代技巧,帮助产品经理和开发者用 AI 将模糊的想法变成清晰的、可执行的产品规格。


1. AI 辅助需求定义工具全景

1.1 PRD 生成与需求管理工具

工具用途价格适用场景
Kiro SpecSpec-Driven 需求定义,自动生成 requirements → design → tasks免费(Preview 阶段)完整的 Spec-Driven 开发工作流
GitHub Spec Kit开源规格驱动开发框架,PRD/ADR/任务分解模板免费(开源)与 Copilot/Claude Code/Gemini CLI 配合使用
ChatPRDAI 产品经理副驾驶,对话式 PRD 生成免费试用 / $8+/月(Pro)快速生成 PRD 初稿、用户故事
Vector (PM Agent)会议转录自动生成 PRD 和用户故事新产品,关注定价更新从会议记录直接生成需求文档
aigents.pm免费 AI 产品经理 Agent 集合(PRD 生成器等)免费快速生成 PRD、策略、想法探索
GiselleAI 应用构建器,含 PRD 生成功能免费(基础)/ $20+/月PRD 大纲、用户故事、技术需求生成
MakePRD从想法生成 PRD 和构建提示词免费(基础)独立开发者快速锁定范围
PMPrompt了解你产品的 AI PM 助手免费(基础)/ $15+/月PRD、决策备忘录、利益相关者更新
EltegraAIAI 需求生成器,自动生成开发就绪的 PRD联系销售企业级 PRD 生成,含用户故事和验收标准

1.2 需求管理与协作工具

工具用途价格适用场景
Linear需求管理 + AI 辅助,Agent 工作流免费 / $8/用户/月工程团队需求追踪、AI 驱动的 Intake
Notion AI文档协作 + AI 生成需求文档$10+/用户/月团队协作式需求文档管理
Figma MakeAI Agent 工作流构建器,捕获逻辑和边缘场景Figma 订阅内PM 用 prompt 定义产品逻辑和流程
UserdocAI 生成用户故事、Persona、用户旅程$19+/月专业的用户故事和需求文档生成
Claude(Sonnet/Opus)深度需求分析、PRD 撰写、用户故事生成$20/月(Pro)/ API 按量复杂需求的深度分析和文档生成
ChatGPT(GPT-4o)PRD 生成、需求对话、验收标准编写$20/月(Plus)/ API 按量通用需求文档生成和迭代

1.3 Spec-Driven 开发工具对比

2025 年下半年,Spec-Driven Development 成为 AI 辅助开发的主流方法论。以下是两大核心工具的对比:

维度Kiro SpecGitHub Spec Kit
类型IDE 内置功能开源框架/模板集
工作流Requirements → Design → Tasks(三阶段自动生成)Specify → Plan → Tasks → Implement(四阶段)
输出格式requirements.md + design.md + tasks.mdPRD.md + ADR + task breakdown
AI 集成内置 AI Agent 自动执行任务与 Copilot、Claude Code、Gemini CLI 配合
适合场景完整项目开发,从需求到代码灵活的规格定义,适配多种 AI 工具
学习曲线低(IDE 引导式)中(需要理解模板结构)
价格免费(Preview)免费(开源)

2. AI 辅助需求采集:从模糊想法到清晰需求

2.1 AI “采访”法:让 AI 帮你把需求想清楚

需求定义最大的挑战不是”写文档”,而是”想清楚”。AI 可以扮演一个经验丰富的产品经理,通过结构化的提问帮你发现遗漏的需求和边缘场景。

操作步骤

步骤 1:启动 AI 需求采访

使用 Claude 或 ChatGPT 进行多轮对话式需求采集:

提示词模板(AI 需求采访 - 启动): 你是一个拥有 10 年经验的资深产品经理。我要做 [产品描述]。 请像面试一样"采访"我,帮我理清需求。 规则: - 每次只问 2-3 个问题,等我回答后再问下一轮 - 问题要具体、有针对性,避免泛泛而谈 - 如果我的回答模糊,追问细节 - 主动提出我可能遗漏的场景和边缘情况 需要覆盖的维度(按优先级): 1. 目标用户是谁?他们的日常工作流是什么? 2. 核心问题是什么?现在他们怎么解决的?痛点有多痛? 3. MVP 必须包含哪些功能?哪些可以后续迭代? 4. 有哪些边缘场景需要处理? 5. 数据模型是什么样的? 6. 有哪些非功能性需求(性能、安全、可用性)? 7. 商业模式是什么?用户愿意为什么付费? 8. 成功指标是什么?如何衡量产品是否成功? 请开始第一轮提问。

步骤 2:深度追问边缘场景

经过 3-5 轮基础对话后,让 AI 专门挖掘边缘场景:

提示词模板(边缘场景挖掘): 基于我们之前的对话,请帮我系统化地思考边缘场景: 1. **用户异常行为**: - 用户输入了无效数据怎么办? - 用户在操作中途退出怎么办? - 多个用户同时操作同一资源怎么办? 2. **系统异常**: - 网络断开时怎么处理? - 第三方 API 超时或返回错误怎么办? - 数据库满了或写入失败怎么办? 3. **业务边界**: - 数据量极大时(10x 预期)系统能否承受? - 免费用户和付费用户的功能边界在哪里? - 国际化/多语言需要考虑吗? 4. **安全场景**: - 未授权访问怎么防御? - 敏感数据如何存储和传输? - 用户数据删除请求如何处理? 对每个场景,请评估: - 发生概率:高/中/低 - 影响严重度:高/中/低 - 建议处理方式:MVP 必须处理 / 可以后续迭代 / 可以忽略

步骤 3:需求优先级排序

提示词模板(需求优先级矩阵): 基于我们的对话,请将所有识别出的需求按以下框架排序: **P0 - MVP 必须(没有就不能上线)**: - [列出核心功能] - 判断标准:用户无法完成核心任务 **P1 - 重要(上线后 1-2 个迭代内完成)**: - [列出重要功能] - 判断标准:显著影响用户体验或留存 **P2 - 锦上添花(有时间再做)**: - [列出增强功能] - 判断标准:提升体验但不影响核心流程 **P3 - 未来考虑(记录但不承诺)**: - [列出远期功能] - 判断标准:需要更多验证或技术成熟度 对每个需求,请标注: - 预估开发工作量:S(1-2天)/ M(3-5天)/ L(1-2周)/ XL(2周+) - 依赖关系:是否依赖其他需求先完成

2.2 从会议记录到需求文档

Vector (PM Agent) 等工具可以直接从会议转录生成结构化需求,但你也可以用通用 LLM 实现类似效果:

提示词模板(会议记录 → 需求提取): 以下是一次产品讨论会议的记录/转录: [粘贴会议记录] 请从中提取结构化的产品需求: 1. **决策事项**(会议中明确达成共识的决定) | 决策 | 决策人 | 影响范围 | |------|--------|---------| 2. **功能需求**(讨论中提到的功能点) | 功能 | 提出者 | 优先级推测 | 是否达成共识 | |------|--------|-----------|-------------| 3. **待确认事项**(讨论中未达成共识或需要进一步调研的) | 事项 | 相关方 | 建议下一步 | |------|--------|-----------| 4. **用户故事草稿**(从讨论中提炼) - As a [角色], I want [功能], so that [价值] 5. **风险和顾虑**(会议中提到的担忧) | 风险 | 提出者 | 严重度 | 建议缓解措施 | |------|--------|--------|-------------| 请标注哪些是"明确提到的",哪些是"AI 推断的"。

3. AI 辅助用户故事生成

3.1 用户故事生成工作流

用户故事是敏捷开发的核心需求表达方式。AI 可以从产品描述自动生成结构化的用户故事,但关键在于生成后的人工审查和迭代。

提示词模板:批量用户故事生成

提示词模板(用户故事批量生成): 产品描述:[一段话描述你的产品] 目标用户:[列出 2-3 个主要用户角色] 请为每个用户角色生成用户故事,遵循以下格式: ### [用户角色名称] **US-001: [故事标题]** - As a [角色] - I want [功能/行为] - So that [业务价值/用户价值] - Priority: P0/P1/P2 - Estimated Size: S/M/L/XL **验收标准:** - Given [前置条件] - When [用户操作] - Then [预期结果] - And [附加预期] **边缘场景:** - [场景 1]:[处理方式] - [场景 2]:[处理方式] --- 要求: 1. 每个角色至少 5 个用户故事 2. P0 故事必须覆盖核心用户旅程 3. 每个故事的验收标准必须具体到可以写成自动化测试 4. 标注故事之间的依赖关系 5. 用中文编写

提示词模板:单个用户故事深度展开

提示词模板(用户故事深度展开): 请将以下用户故事展开为完整的需求规格: 原始故事:As a [角色], I want [功能], so that [价值] 请输出: ## US-XXX: [故事标题] ### 用户故事 As a [角色], I want [功能], so that [价值] ### 背景与动机 [为什么这个功能重要?用户现在怎么解决这个问题?] ### 验收标准(Given/When/Then) **正常流程:** 1. Given [前置条件] When [用户操作] Then [预期结果] 2. Given [另一个前置条件] When [用户操作] Then [预期结果] **异常流程:** 3. Given [异常前置条件] When [用户操作] Then [错误处理] **边界条件:** 4. Given [边界条件] When [用户操作] Then [边界处理] ### UI/UX 要求 - [界面元素描述] - [交互行为描述] - [响应式要求] ### 数据要求 - 输入数据:[字段、类型、验证规则] - 输出数据:[展示格式、排序规则] - 存储需求:[持久化、缓存策略] ### 非功能性需求 - 性能:[响应时间要求] - 安全:[权限、数据保护] - 可用性:[无障碍要求] ### 依赖关系 - 前置:[需要先完成的故事] - 后续:[依赖本故事的故事] ### 开放问题 - [需要进一步确认的问题]

3.2 用户故事质量审查

AI 生成的用户故事需要经过质量审查。以下模板帮助你用 AI 审查已有的用户故事:

提示词模板(用户故事质量审查): 请审查以下用户故事,按 INVEST 原则评估: [粘贴用户故事列表] 对每个故事,评估: | 故事 | I(独立) | N(可协商) | V(有价值) | E(可估算) | S(小) | T(可测试) | 总分 | |------|----------|-----------|-----------|-----------|--------|-----------|------| 评分标准(每项 1-5 分): - **Independent**:是否可以独立开发和交付? - **Negotiable**:是否留有实现方式的灵活性? - **Valuable**:是否对用户或业务有明确价值? - **Estimable**:是否足够清晰可以估算工作量? - **Small**:是否足够小可以在一个迭代内完成? - **Testable**:验收标准是否具体到可以写测试? 对于总分 < 20 的故事,请给出具体改进建议。 额外检查: 1. 是否有遗漏的用户角色? 2. 是否有遗漏的核心用户旅程? 3. 故事之间是否有隐含的依赖关系未标注? 4. 验收标准是否有歧义或不可测试的描述?

4. AI 辅助验收标准编写

4.1 Given/When/Then 格式详解

验收标准是连接需求和测试的桥梁。好的验收标准应该具体到可以直接转化为自动化测试。AI 在这方面特别擅长——它可以从模糊的需求描述中提取出结构化的验收标准。

提示词模板:从需求描述生成验收标准

提示词模板(需求 → 验收标准): 请将以下需求描述转化为 Given/When/Then 格式的验收标准: 需求描述:[粘贴需求描述] 要求: 1. 每个验收标准必须是独立可测试的 2. 覆盖正常流程、异常流程、边界条件 3. 使用具体的数据示例(不要用"某个值"这样的模糊描述) 4. 标注每个标准的测试类型(单元测试/集成测试/E2E 测试) 输出格式: **AC-1: [标准标题]** - Given [具体的前置条件,包含示例数据] - When [具体的用户操作或系统事件] - Then [具体的预期结果,包含可验证的断言] - Test Type: [单元/集成/E2E] **AC-2: [异常场景标题]** - Given [异常前置条件] - When [触发操作] - Then [错误处理行为,包含错误消息] - Test Type: [单元/集成/E2E] **AC-3: [边界条件标题]** - Given [边界值条件] - When [操作] - Then [边界处理行为] - Test Type: [单元/集成/E2E]

4.2 验收标准的常见模式

以下是 AI 生成验收标准时应覆盖的常见模式:

提示词模板(验收标准完整性检查): 请检查以下验收标准是否覆盖了所有必要场景: [粘贴已有的验收标准] 请按以下清单检查并补充遗漏: □ **Happy Path**(正常流程) - 标准的成功操作流程是否覆盖? - 所有正常输入组合是否考虑? □ **Validation**(输入验证) - 必填字段为空时的行为? - 格式错误的输入(邮箱、电话、URL)? - 超出长度限制的输入? - 特殊字符和 XSS 攻击向量? □ **Authorization**(权限控制) - 未登录用户的行为? - 无权限用户的行为? - 不同角色的权限差异? □ **Concurrency**(并发场景) - 多用户同时操作同一资源? - 乐观锁/悲观锁的行为? □ **Error Handling**(错误处理) - 网络超时的行为? - 服务端错误(500)的行为? - 第三方服务不可用的行为? □ **Boundary**(边界条件) - 空列表/空数据的展示? - 数据量极大时的分页/性能? - 首次使用(无历史数据)的体验? □ **State Transitions**(状态转换) - 所有合法的状态转换路径? - 非法状态转换的拒绝? 请补充遗漏的验收标准,并标注优先级。

4.3 从验收标准到测试用例

验收标准写好后,可以直接让 AI 生成测试代码框架:

提示词模板(验收标准 → 测试代码框架): 请将以下验收标准转化为测试代码框架: [粘贴验收标准] 技术栈:[Jest/Vitest/Pytest/其他] 语言:[TypeScript/Python/Rust/其他] 要求: 1. 每个验收标准对应一个 describe 块 2. 每个 Given/When/Then 对应一个 test case 3. 只生成测试框架(describe/it/test),不写具体实现 4. 添加注释标注对应的验收标准编号 5. 包含 setup/teardown 的占位符 输出示例: ```typescript describe('AC-1: [标准标题]', () => { // Given: [前置条件] beforeEach(() => { // TODO: 设置前置条件 }); it('should [预期行为] when [操作]', () => { // When: [操作] // Then: [预期结果] // TODO: 实现测试 }); });
--- ## 5. AI 辅助 PRD 生成 ### 5.1 结构化 PRD 生成 经过需求采访和用户故事梳理后,可以让 AI 生成完整的结构化 PRD。以下模板融合了业界最佳实践: #### 提示词模板:完整 PRD 生成

提示词模板(结构化 PRD 生成):

基于我们之前的对话(或以下需求摘要),请生成一份结构化的 PRD:

[粘贴需求摘要或对话记录]

请按以下结构输出 Markdown 格式的 PRD:

[产品名称] - 产品需求文档(PRD)

1. 产品概述

  • 一句话描述:[产品是什么,为谁解决什么问题]
  • 背景与动机:[为什么要做这个产品]
  • 产品愿景:[长期目标]
  • 成功标准:[如何判断产品成功]

2. 目标用户画像

Persona 1: [角色名称]

  • 背景:[职业、经验、技术水平]
  • 目标:[使用产品想达成什么]
  • 痛点:[现在遇到什么问题]
  • 使用场景:[在什么情况下使用产品]

Persona 2: [角色名称]

3. 用户故事列表

P0 - MVP 必须

编号用户故事验收标准数量预估工作量
US-001As a… I want… So that…X 条S/M/L

P1 - 重要

P2 - 锦上添花

4. 详细验收标准

US-001: [故事标题]

AC-1: Given… When… Then… AC-2: Given… When… Then… …

5. 非功能性需求

  • 性能:[响应时间、吞吐量、并发数]
  • 安全:[认证、授权、数据加密]
  • 可用性:[SLA、容灾、备份]
  • 可访问性:[WCAG 级别、屏幕阅读器支持]
  • 国际化:[多语言、时区、货币]

6. 数据模型草案

[核心实体、关系、关键字段]

7. 技术约束与假设

  • 技术栈:[前端/后端/数据库/基础设施]
  • 第三方依赖:[API、SDK、服务]
  • 假设:[需要验证的假设列表]

8. KPI 与成功指标

指标目标值衡量方式时间框架

9. 风险与缓解措施

风险概率影响缓解措施

10. 里程碑与时间线

里程碑内容预计时间
### 5.2 PRD 审查与迭代 PRD 初稿生成后,需要经过多轮审查和迭代。AI 可以扮演不同角色来审查 PRD: #### 提示词模板:多角色 PRD 审查

提示词模板(PRD 多角色审查):

请从以下 3 个角色的视角审查这份 PRD:

[粘贴 PRD 内容]

角色 1:资深工程师视角

  • 技术可行性评估:哪些需求技术上难以实现?
  • 工作量评估:哪些需求被低估了?
  • 技术债务风险:哪些设计决策可能导致未来的技术债务?
  • 缺失的技术需求:是否遗漏了重要的非功能性需求?

角色 2:QA 工程师视角

  • 可测试性评估:哪些验收标准不够具体,无法写测试?
  • 遗漏的测试场景:哪些边缘场景没有被覆盖?
  • 验收标准质量:Given/When/Then 是否清晰无歧义?
  • 测试策略建议:建议的测试类型和优先级

角色 3:用户体验设计师视角

  • 用户旅程完整性:是否有断裂的用户流程?
  • 可用性问题:哪些交互设计可能让用户困惑?
  • 无障碍考虑:是否满足基本的无障碍要求?
  • 一致性问题:不同功能之间的交互模式是否一致?

对每个角色,请输出:

  1. 发现的问题(按严重度排序)
  2. 具体的改进建议
  3. 需要进一步讨论的开放问题
#### 提示词模板:PRD 差距分析

提示词模板(PRD 差距分析):

请对比以下 PRD 和行业最佳实践,找出差距:

[粘贴 PRD 内容]

检查维度:

  1. 完整性:是否缺少关键章节? □ 产品概述 □ 用户画像 □ 用户故事 □ 验收标准 □ 非功能性需求 □ 数据模型 □ 技术约束 □ KPI □ 风险 □ 时间线

  2. 具体性:是否有模糊的描述需要量化?

    • “快速响应” → 具体到毫秒
    • “大量用户” → 具体到并发数
    • “安全” → 具体到加密算法和认证方式
  3. 一致性:不同章节之间是否有矛盾?

    • 用户故事和验收标准是否对应?
    • 技术约束和非功能性需求是否兼容?
    • 时间线和工作量估算是否合理?
  4. 可执行性:开发团队能否直接基于此文档开始工作?

    • 是否有足够的细节开始技术设计?
    • 是否有明确的优先级指导迭代顺序?
    • 是否有清晰的验收标准指导测试?

请输出差距报告和改进建议。

--- ## 6. Spec-Driven 开发工作流 ### 6.1 Kiro Spec 工作流详解 Kiro 的 Spec-Driven 开发是 2025 年最具代表性的"需求→代码"工作流。它将传统的 PM/工程流程压缩为三个自动化阶段: #### 操作步骤 **步骤 1:创建 Spec** 在 Kiro 中描述你的产品想法,Kiro 会自动生成 `requirements.md`:

在 Kiro 中:

  1. 打开 Spec 面板 → 点击”Create Spec”
  2. 用自然语言描述你的产品想法(越详细越好)
  3. Kiro 自动生成 requirements.md,包含:
    • 用户故事(As a… I want… So that…)
    • 验收标准(WHEN… THEN… SHALL…)
    • 需求编号和分组
  4. 审查每一条需求,确认或修改
**步骤 2:生成技术设计** 确认需求后,Kiro 自动生成 `design.md`:

Kiro 自动生成的 design.md 包含:

  • 架构概述
  • 组件和接口设计
  • 数据模型(TypeScript 接口、数据库 Schema)
  • API 端点设计
  • 错误处理策略
  • 正确性属性(Correctness Properties)
  • 测试策略
**步骤 3:生成任务列表** 技术设计确认后,Kiro 生成 `tasks.md`:

Kiro 自动生成的 tasks.md 包含:

  • 按依赖关系排序的任务列表
  • 每个任务的子任务分解
  • 任务与需求的追溯关系(Requirements: X.X)
  • 任务状态追踪(not_started → in_progress → completed)
**步骤 4:AI Agent 执行任务** Kiro 的 AI Agent 按照任务列表逐个执行,每个任务都有明确的需求和设计作为上下文。 #### Kiro Spec 的 requirements.md 格式示例 ```markdown # Requirements Document ## Introduction [产品简介和背景] ## Glossary - **Term1**: 定义 - **Term2**: 定义 ## Requirements ### Requirement 1: [需求组标题] **User Story:** As a [角色], I want [功能], so that [价值]。 #### Acceptance Criteria 1. WHEN [条件], THE [系统] SHALL [行为] 2. WHEN [条件], THE [系统] SHALL [行为] 3. WHEN [条件], THE [系统] SHALL NOT [禁止行为]

6.2 GitHub Spec Kit 工作流

GitHub Spec Kit 是 2025 年中推出的开源规格驱动开发框架,采用四阶段工作流:

操作步骤

步骤 1:Specify(规格定义)

创建 SPEC.mdPRD.md,定义产品需求:

# Product Specification ## Problem Statement [要解决的问题] ## Goals - [目标 1] - [目标 2] ## User Stories - As a [角色], I want [功能], so that [价值] ## Acceptance Criteria - [ ] [标准 1] - [ ] [标准 2] ## Non-Functional Requirements - Performance: [要求] - Security: [要求] ## Constraints - [技术约束] - [业务约束]

步骤 2:Plan(规划)

基于 Spec 生成架构决策记录(ADR)和技术方案:

# Architecture Decision Record ## Context [决策背景] ## Decision [选择的方案] ## Consequences [方案的影响] ## Alternatives Considered [考虑过的其他方案]

步骤 3:Tasks(任务分解)

将规划分解为可执行的任务列表:

# Task Breakdown ## Phase 1: Foundation - [ ] Task 1.1: [描述] - [ ] Task 1.2: [描述] ## Phase 2: Core Features - [ ] Task 2.1: [描述]

步骤 4:Implement(实现)

AI 编码助手(Copilot、Claude Code、Gemini CLI)基于 Spec 和 Tasks 生成代码。

6.3 PRD 到 Spec 的转化

如果你已经有传统的 PRD,可以用 AI 将其转化为 Spec-Driven 格式:

提示词模板(PRD → Kiro Spec 格式): 请将以下 PRD 转化为 Kiro Spec 的 requirements.md 格式: [粘贴 PRD 内容] 转化规则: 1. 每个功能模块对应一个 Requirement 组 2. 每个用户故事使用 "As a... I want... So that..." 格式 3. 验收标准使用 "WHEN [条件], THE [系统] SHALL [行为]" 格式 4. 非功能性需求也要转化为可验证的验收标准 5. 添加 Glossary 定义所有专业术语 6. 验收标准必须具体到可以写成自动化测试 注意: - 模糊的需求要量化("快" → "响应时间 < 200ms") - 隐含的需求要显式化(如错误处理、权限控制) - 每个验收标准编号要与需求组对应

7. AI 辅助 PRD 迭代与版本管理

7.1 需求变更管理

产品需求不是一成不变的。AI 可以帮助你系统化地管理需求变更:

提示词模板(需求变更影响分析): 我需要对以下需求进行变更: **原始需求**:[粘贴原始需求] **变更内容**:[描述变更] **变更原因**:[为什么要变更] 请分析这个变更的影响: 1. **直接影响** - 哪些用户故事需要修改? - 哪些验收标准需要更新? - 预估额外工作量: 2. **间接影响** - 哪些已完成的功能可能受影响? - 哪些正在开发的任务需要调整? - 是否影响数据模型或 API 设计? 3. **风险评估** - 变更引入的新风险: - 对时间线的影响: - 对其他需求的连锁影响: 4. **建议** - 是否建议接受这个变更? - 如果接受,建议的实施策略: - 如果拒绝,替代方案:

7.2 需求文档版本化最佳实践

将需求文档纳入版本控制(Git),配合 AI 实现高效的版本管理:

推荐工作流

  1. 需求文档存放在代码仓库中(如 .kiro/specs/docs/specs/
  2. 每次需求变更创建 PR,AI 自动生成变更摘要
  3. 使用 AI 对比版本差异,生成人类可读的变更日志
提示词模板(需求变更日志生成): 请对比以下两个版本的需求文档,生成变更日志: **旧版本**: [粘贴旧版本] **新版本**: [粘贴新版本] 请输出: ## 需求变更日志 - [日期] ### 新增需求 - [新增的用户故事或验收标准] ### 修改需求 - [修改前] → [修改后](修改原因) ### 删除需求 - [删除的需求](删除原因) ### 影响评估 - 受影响的模块: - 预估额外工作量: - 需要重新测试的范围:

实战案例:用 Kiro Spec 定义 RustSync 文件同步工具

案例背景

一位独立开发者想做一个本地文件夹到百度网盘的自动同步工具(RustSync)。以下是使用 Kiro Spec 工作流从想法到可执行需求的完整过程。

步骤 1:AI 需求采访

开发者输入: 我想做一个桌面应用,可以把本地文件夹自动同步到百度网盘。 用 Tauri + React 做前端,Rust 做后端。 AI 采访问题(第 1 轮): 1. 同步是单向(本地→云端)还是双向? 2. 需要实时监控文件变化还是手动触发同步? 3. 大文件(>100MB)如何处理? 开发者回答: 1. 先做单向(本地→云端),后续考虑双向 2. 实时监控,文件变化后自动同步 3. 大文件需要分片上传,支持断点续传 AI 采访问题(第 2 轮): 1. 需要支持 .gitignore 风格的忽略规则吗? 2. 同步冲突(云端文件被其他设备修改)如何处理? 3. 需要同步日志和历史记录吗? ...

步骤 2:生成 requirements.md

# Requirements Document ## Introduction RustSync 是一个桌面文件同步工具,使用 Tauri + React 前端和 Rust 后端, 将本地文件夹自动同步到百度网盘。 ## Glossary - **SyncPair**: 一组本地文件夹和百度网盘路径的映射关系 - **FileWatcher**: 监控本地文件系统变化的组件 - **TransferScheduler**: 管理文件上传队列和优先级的调度器 ## Requirements ### Requirement 1: 文件同步核心功能 **User Story:** As a 开发者, I want 将本地文件夹自动同步到百度网盘, so that 我的代码和文档有云端备份。 #### Acceptance Criteria 1. WHEN 用户配置了本地文件夹和百度网盘路径, THE SyncPair SHALL 建立并持久化保存映射关系 2. WHEN 本地文件发生变更(新增/修改/删除), THE FileWatcher SHALL 在 5 秒内检测到变更 3. WHEN FileWatcher 检测到变更, THE TransferScheduler SHALL 将变更加入上传队列 4. WHEN 文件大小超过 4MB, THE TransferScheduler SHALL 使用分片上传 5. WHEN 上传过程中网络中断, THE TransferScheduler SHALL 支持断点续传 ### Requirement 2: 忽略规则 **User Story:** As a 开发者, I want 配置文件忽略规则, so that node_modules 等不需要同步的文件不会被上传。 #### Acceptance Criteria 1. WHEN 用户创建 .syncignore 文件, THE IgnoreEngine SHALL 解析 gitignore 风格的规则 2. WHEN 文件匹配忽略规则, THE FileWatcher SHALL 跳过该文件的同步

步骤 3:Kiro 自动生成 design.md 和 tasks.md

Kiro 基于 requirements.md 自动生成技术设计和任务列表,开发者审查确认后,AI Agent 按任务逐个实现代码。

案例分析

这个案例展示了 Spec-Driven 工作流的核心价值:

  1. 需求先行:在写任何代码之前,通过 AI 采访把需求想清楚
  2. 结构化输出:requirements.md 的格式让 AI 和人类都能理解
  3. 可追溯性:每个任务都关联到具体的需求和验收标准
  4. 渐进式细化:从模糊想法 → AI 采访 → 结构化需求 → 技术设计 → 任务列表
  5. 人机协作:AI 生成草稿,人类审查确认,AI 执行实现

实战案例 2:用 ChatPRD + Claude 快速生成 SaaS 产品 PRD

案例背景

一个产品经理需要在 2 小时内为一个 AI 写作助手 SaaS 产品准备 PRD,用于团队评审。

工作流

步骤 1:用 ChatPRD 生成初稿(15 分钟)

在 ChatPRD 中输入产品描述,AI 自动生成包含用户画像、功能列表、优先级的 PRD 初稿。

步骤 2:用 Claude 深度展开(45 分钟)

将 ChatPRD 的初稿输入 Claude,使用本节的”结构化 PRD 生成”模板,补充验收标准、数据模型、技术约束等细节。

步骤 3:用 Claude 多角色审查(30 分钟)

使用”多角色 PRD 审查”模板,从工程师、QA、设计师三个视角审查 PRD,修复发现的问题。

步骤 4:导出到 Linear 创建任务(30 分钟)

将 PRD 中的用户故事导入 Linear,利用 Linear 的 AI 功能自动生成子任务和估算。

案例分析

这个案例展示了多工具协作的效率:

  • ChatPRD 负责快速生成结构化初稿
  • Claude 负责深度展开和质量提升
  • Linear 负责将需求转化为可执行的任务
  • 整个过程从 2 周压缩到 2 小时

避坑指南

❌ 常见错误

  1. 直接让 AI 写 PRD 而不做”采访”

    • 问题:AI 缺乏上下文,生成的需求模糊、遗漏边缘场景、充满假设
    • 正确做法:先用 AI 采访法进行 3-5 轮对话,把需求想清楚再生成文档
  2. 把 AI 生成的需求当作最终版本

    • 问题:AI 会编造看似合理但实际不符合业务的需求,开发到一半才发现问题
    • 正确做法:每条需求都要人工审查确认,特别是验收标准和优先级
  3. 跳过验收标准直接开发

    • 问题:开发完不知道怎么验证,“完成”的定义模糊,导致返工
    • 正确做法:每个用户故事必须有 Given/When/Then 格式的验收标准
  4. 需求粒度太大不拆分

    • 问题:一个用户故事包含太多功能,AI 生成的代码质量下降,难以审查
    • 正确做法:每个用户故事控制在 1-2 天的开发量,复杂功能拆分为多个故事
  5. 验收标准使用模糊语言

    • 问题:“系统应该快速响应”、“界面应该友好”——这些无法测试
    • 正确做法:量化所有指标(“响应时间 < 200ms”、“支持键盘导航”)
  6. 忽视非功能性需求

    • 问题:只关注功能需求,上线后发现性能、安全、可用性问题
    • 正确做法:在 PRD 中明确列出性能、安全、可用性、可访问性要求
  7. PRD 写完就束之高阁

    • 问题:需求文档与实际开发脱节,成为”废纸”
    • 正确做法:将需求文档纳入版本控制,随开发迭代更新,作为 AI 编码的上下文输入

✅ 最佳实践

  1. AI 做”第一稿”,人类做”终审”——AI 擅长生成结构化内容,人类擅长判断业务价值和优先级
  2. 需求文档是活文档——随开发迭代持续更新,不是一次性产出
  3. 把需求文档作为 AI 编码的上下文输入——Kiro 的 Spec 自动做到这一点,其他工具需要手动提供
  4. 验收标准要具体到可以写成自动化测试——这是检验验收标准质量的黄金标准
  5. 使用 Spec-Driven 工作流——需求 → 设计 → 任务的三阶段流程,确保 AI 和人类对齐
  6. 多角色审查——让 AI 从工程师、QA、设计师等不同视角审查 PRD
  7. 建立需求模板库——将验证有效的 PRD 模板和 prompt 模板积累为团队资产
  8. 区分”AI 生成”和”人工确认”——在文档中标注哪些内容经过人工验证

相关资源与延伸阅读

  1. Kiro 官方文档 - Spec-Driven Development  — Kiro Spec 功能的完整使用指南
  2. GitHub Spec Kit  — GitHub 开源的规格驱动开发框架和模板集
  3. ChatPRD  — AI 产品经理副驾驶,对话式 PRD 生成工具
  4. aigents.pm  — 免费的 AI 产品经理 Agent 集合,含 PRD 生成器
  5. Vector PM Agent  — 从会议转录自动生成 PRD 和用户故事的 AI 工具
  6. PMPrompt  — 了解你产品上下文的 AI PM 助手
  7. Userdoc  — AI 驱动的用户故事、Persona 和用户旅程生成工具
  8. Linear  — 内置 AI 功能的产品开发系统,支持 Agent 工作流
  9. Spec-Driven Development 方法论 - Built In  — Spec-Driven Development 为什么是 AI 辅助软件工程的未来
  10. Figma Make - AI Agent Workflow Builder  — Figma 的 AI Agent 工作流构建器,帮助 PM 用 prompt 定义产品逻辑

参考来源

Content was rephrased for compliance with licensing restrictions.


📖 返回 总览与导航 | 上一节:15a-AI辅助市场调研 | 下一节:15c-AI辅助用户访谈分析

Last updated on