Appearance
Brainstorm 详细指南
概述
Brainstorm 是 Spec-First 工作流中定义需求的阶段,通常在 Ideate(可选)之后、Plan 之前。
如果已经通过
/spec:ideate选定了改进方向,Brainstorm 会直接基于 Ideate 的输出开始。如果没有经过 Ideate,可以直接从 Brainstorm 开始。
输入: 用户的初始想法或问题描述 输出: 结构化的需求文档(docs/brainstorms/YYYY-MM-DD-<topic>-requirements.md)
通过这个阶段,你将把模糊的想法转化为清晰的需求,避免方向性错误。
操作步骤
步骤 0: 恢复已有文档
如果你之前已经做过相关的 Brainstorm,AI 会自动检查 docs/brainstorms/ 中是否有匹配的需求文档:
- 如果找到相关文档,询问是继续还是重新开始
- 如果继续,从已有决策和待定问题处接续
步骤 0.5: 评估是否需要 Brainstorm
AI 会先评估需求的清晰度:
不需要 Brainstorm 的信号:
- 已有明确的验收标准
- 有参考的现有模式
- 变更范围很小且无歧义
需要 Brainstorm 的信号:
- 目标模糊,缺少约束
- 有多种可行方案
- 边界不清晰
如果不需要 Brainstorm,会建议直接跳到 Plan 阶段。
步骤 1: 启动 Brainstorm
在项目目录中运行:
bash
/spec:brainstorm "你的功能想法"AI 会开始引导你探索需求。
步骤 2: 回答聚焦问题
AI 会提出一系列聚焦问题,帮助你明确:
- 功能的核心目标是什么?
- 有哪些约束条件?
- 哪些是非目标(不做什么)?
- 如何验收?
交互规则:
- AI 一次只问一个问题 — 不会一次抛出多个不相关问题
- 优先使用单选 — 选择方向、优先级、下一步时,会提供明确的选项
- 多选仅用于兼容集合 — 如目标、约束、非目标等可以共存的选项
关键: 一次只回答一个问题,保持专注。
步骤 3: 确认需求范围
与 AI 讨论并确定:
- 功能边界(做到什么程度)
- 优先级(哪些是必须的)
- 依赖关系(需要什么前置条件)
步骤 4: 生成需求文档
确认所有关键问题后,AI 会生成结构化的需求文档,包含:
- 问题描述
- 目标和约束
- 功能范围
- 验收标准
最佳实践
- ✅ 具体化描述 - 用具体场景代替抽象概念("用户点击登录按钮后..." 而非"登录功能")
- ✅ 明确边界 - 清楚说明做什么和不做什么
- ✅ 提供上下文 - 说明为什么需要这个功能
- ✅ 预设验收标准 - 提前想好如何判断完成
- ✅ 保持开放 - 接受 AI 的建议和替代方案
常见错误
- ❌ 过早陷入实现细节 → ✅ 专注于"做什么",而非"怎么做"
- ❌ 需求过于宽泛 → ✅ 拆分成多个小需求,逐个处理
- ❌ 忽略约束条件 → ✅ 明确技术、时间、资源限制
- ❌ 跳过验收标准 → ✅ 提前定义"完成"的标准
- ❌ 一次性抛出所有想法 → ✅ 跟随 AI 的节奏,逐步深入
示例
示例 1: 用户登录功能
初始想法:
我想添加用户登录功能Brainstorm 过程:
AI: 登录方式是什么?账号密码、OAuth、还是手机验证码?
你: OAuth,支持 Google 和 GitHub
AI: 登录后需要记住状态吗?
你: 是的,7 天内免登录
AI: 登录失败后如何处理?
你: 显示错误提示,3 次失败后锁定 15 分钟
AI: 是否需要注册功能?
你: 不需要,只支持已有账号登录生成的需求文档:
- 目标:实现 OAuth 登录(Google + GitHub)
- 约束:7 天免登录,3 次失败锁定
- 非目标:不包含注册功能
- 验收:能成功登录并保持状态
模板
使用以下模板记录 Brainstorm 结果:
markdown
# 需求文档:[功能名称]
## 问题描述
[为什么需要这个功能?解决什么问题?]
## 目标
[这个功能要达成什么目标?]
## 约束
- [技术约束]
- [时间约束]
- [资源约束]
## 功能范围
### 包含
- [功能点 1]
- [功能点 2]
### 不包含
- [明确不做的事情]
## 验收标准
- [ ] [标准 1]
- [ ] [标准 2]判定标准
完成 Brainstorm 后,检查以下条件:
- [ ] 功能目标清晰明确
- [ ] 约束条件已识别
- [ ] 功能边界已划定(做什么 + 不做什么)
- [ ] 验收标准可量化
- [ ] 需求文档已生成
全部满足后,进入 Plan 阶段。
下一步
阅读 Plan 详细指南 了解如何制定实施计划。