SuperAPI AI 工具集

brainstorming

编程与开发

查看项目

更新于 10-16 02:16

技能介绍

用途

Brainstorming 是一个在实现功能、构建组件或进行修改之前使用的技能,目标是在进入“如何做”(HOW)之前,先澄清“要做什么”(WHAT)。它通过结构化的流程,帮助梳理用户意图、可能方案与设计取舍。

何时使用

该技能在以下情况有价值:

  • 需求不清晰或含糊
  • 同一问题存在多种可行方案
  • 需要与用户一起探索取舍
  • 用户尚未完整表达想要什么
  • 功能范围需要细化

以下情况可跳过:

  • 需求明确且详细
  • 用户清楚知道自己想要什么
  • 任务只是简单的缺陷修复或定义清晰的改动

核心流程

阶段 0:评估需求清晰度

在开始提问前,先判断是否需要进行头脑风暴。

需求清晰的信号:

  • 用户提供了具体的验收标准
  • 用户引用了可遵循的现有模式
  • 用户描述了期望的确切行为
  • 范围受限且定义明确

需要头脑风暴的信号:

  • 用户使用了模糊表述(如“让它更好”“加个类似……的东西”)
  • 存在多种合理解释
  • 尚未讨论取舍
  • 用户对方案似乎不确定

如果需求清晰,建议:“你的需求似乎已经明确,可以考虑直接进入规划或实现。”

阶段 1:理解想法

每次只问一个问题来理解用户意图,避免一次性提出多个问题造成负担。

提问技巧:

  • 在存在自然选项时优先使用多选
    • 好:“通知应该是:(a) 仅邮件,(b) 仅应用内,还是 (c) 两者都?”
    • 避免:“用户应该如何被通知?”
  • 先宽后窄
    • 先问:核心目的是什么?
    • 再问:用户是谁?
    • 最后问:存在哪些约束?
  • 明确验证假设
    • “我假设用户会处于登录状态,对吗?”
  • 尽早询问成功标准
    • “你如何判断这个功能运行良好?”

需要探索的关键主题:

主题 示例问题
目的 这解决什么问题?动机是什么?
用户 谁使用它?他们的场景是什么?
约束 有技术限制吗?时间线?依赖?
成功 如何衡量成功?理想路径是什么?
边界情况 什么不应该发生?需要考虑哪些错误状态?
现有模式 代码库中有类似功能可遵循吗?

退出条件:持续进行直到想法清晰,或用户说“继续”/“我们往下走”。

阶段 2:探索方案

在理解想法后,提出 2-3 个具体方案。

每个方案的结构:

方案 A:[名称]

[2-3 句描述]

优点:

  • [优点 1]
  • [优点 2]

缺点:

  • [缺点 1]
  • [缺点 2]

最适用场景: [该方案表现最好的情况]

准则:

  • 先给出推荐并解释原因
  • 诚实说明取舍
  • 考虑 YAGNI——更简单通常更好
  • 在相关时引用代码库模式

阶段 3:记录设计

用结构化格式总结关键决策。

设计文档结构:


date: YYYY-MM-DD topic: <kebab-case-topic>

<Topic Title>

What We're Building

[简洁描述—最多 1-2 段]

Why This Approach

[简要说明考虑过的方案以及为什么选择这个]

Key Decisions

  • [决策 1]:[理由]
  • [决策 2]:[理由]

Open Questions

  • [任何留给规划阶段的未解决问题]

Next Steps

→ /workflows:plan 获取实现细节

输出位置:docs/brainstorms/YYYY-MM-DD-<topic>-brainstorm.md

阶段 4:交接

呈现下一步的明确选项:

  • 进入规划 → 运行 /workflows:plan
  • 继续细化 → 继续探索设计
  • 暂时结束 → 用户之后会回来

YAGNI 原则

在头脑风暴期间,主动抵制复杂度:

  • 不为假设的未来需求做设计
  • 选择能解决既定问题的最简单方案
  • 优先选择无聊、经过验证的模式,而不是聪明的解法
  • 当复杂度出现时问“我们真的需要这个吗?”
  • 推迟不需要现在做出的决定

增量验证

保持每节简短——最多 200-300 字。每输出一节后暂停以验证理解:

  • “这符合你的想法吗?”
  • “继续之前有什么要调整的吗?”
  • “这是你想走的方向吗?”

这可以避免在方向不一致的设计上浪费精力。

应避免的反模式

反模式 更好的做法
一次问 5 个问题 一次问一个
跳到实现细节 专注于 WHAT,而不是 HOW
提出过于复杂的方案 从简单开始,只在需要时增加复杂度
忽略现有代码库模式 先研究已有内容
未验证就做假设 明确说明假设并确认
创建冗长的设计文档 保持简洁——细节留在计划中

与规划阶段的集成

头脑风暴回答要构建什么:

  • 需求与验收标准
  • 选定的方案与理由
  • 关键决策与取舍

规划回答如何构建:

  • 实现步骤与文件改动
  • 技术细节与代码模式
  • 测试策略与验证

当头脑风暴输出存在时,/workflows:plan 应能检测到并将其作为输入,跳过自身的想法细化阶段。