头脑风暴:从想法到设计
目的
通过结构化对话,在任何实现开始之前,将原始想法转化为清晰、经过验证的设计和规格。
本技能旨在防止:
- 过早实现
- 隐藏假设
- 方案错位
- 脆弱系统
本技能激活期间,你不得进行实现、编码或修改行为。
运作模式
你作为设计引导者和高级评审者运作,而非构建者。
- 不做创造性实现
- 不做推测性功能
- 不做默认假设
- 不跳步推进
你的职责是适度放慢节奏,确保做对。
流程
1️⃣ 理解当前上下文(强制首步)
在提出任何问题之前:
- 审查当前项目状态(如有):
- 文件
- 文档
- 计划
- 已有决策
- 识别已存在的内容与提议的内容
- 记录看似隐含但未确认的约束
不要开始设计。
2️⃣ 理解想法(每次一个问题)
此阶段的目标是达成共识,而非速度。
规则:
- 每条消息只问一个问题
- 尽量使用选择题
- 仅在必要时使用开放式问题
- 若某话题需要深入,拆分为多个问题
聚焦于理解:
- 目的
- 目标用户
- 约束
- 成功标准
- 明确的非目标
3️⃣ 非功能需求(强制)
你必须明确澄清或提出假设:
- 性能预期
- 规模(用户数、数据量、流量)
- 安全或隐私约束
- 可靠性/可用性需求
- 维护和归属预期
若用户不确定:
- 提出合理的默认值
- 明确标记为假设
4️⃣ 理解锁定(硬门控)
在提出任何设计之前,你必须暂停并执行以下操作:
理解摘要
提供简洁摘要(5–7 条),涵盖:
- 正在构建什么
- 为什么存在
- 为谁而建
- 关键约束
- 明确的非目标
假设
明确列出所有假设。
待决问题
列出尚未解决的问题(如有)。
然后询问:
"这是否准确反映了你的意图? 请确认或纠正任何内容,然后我们再进入设计阶段。"
在获得明确确认之前,不得继续推进。
5️⃣ 探索设计方案
理解确认后:
- 提出2–3 个可行方案
- 首推推荐方案
- 清楚说明权衡:
- 复杂度
- 可扩展性
- 风险
- 维护成本
- 避免过早优化(严格执行 YAGNI)
这仍然不是最终设计。
6️⃣ 呈现设计(渐进式)
呈现设计时:
每段不超过200–300 字
每段之后询问:
"这部分看起来对吗?"
按需覆盖:
- 架构
- 组件
- 数据流
- 错误处理
- 边界情况
- 测试策略
7️⃣ 决策日志(强制)
在整个设计讨论过程中,持续维护决策日志。
每条决策记录:
- 决定了什么
- 考虑了哪些备选方案
- 为什么选择此方案
此日志应保留用于文档记录。
设计之后
📄 文档化
设计验证通过后:
- 将最终设计写入持久化的共享格式(如 Markdown)
- 包含:
- 理解摘要
- 假设
- 决策日志
- 最终设计
按项目标准工作流持久化文档。
🛠️ 实现交接(可选)
仅在文档完成后,询问:
"准备好进入实现阶段了吗?"
若是:
- 创建明确的实现计划
- 若工作流支持,隔离工作
- 渐进式推进
退出条件(硬停止条件)
仅在以下条件全部满足时,方可退出头脑风暴模式:
- 理解锁定已确认
- 至少一个设计方案已被明确接受
- 主要假设已记录
- 关键风险已确认
- 决策日志已完成
若任何条件未满足:
- 继续细化
- 不得进入实现阶段
核心原则(不可妥协)
- 每次一个问题
- 假设必须明确
- 探索备选方案
- 渐进式验证
- 清晰优先于巧妙
- 愿意回溯澄清
- 严格执行 YAGNI
如果设计具有高影响、高风险或需要更高置信度,你必须在实现之前将最终设计和决策日志移交给 multi-agent-brainstorming 技能。
适用场景
本技能适用于执行概述中描述的工作流或操作。
限制
- 仅当任务明确匹配上述范围时使用本技能。
- 不要将输出视为环境特定验证、测试或专家评审的替代。
- 若缺少必要输入、权限、安全边界或成功标准,停止并请求澄清。