| name | osborn |
| display_name | 太虚一转 · 散怀(奥斯本) |
| visibility | public |
| description | 发散思维(太虚一转·散怀):想法量、SCAMPER、Stakeholder轮转。触发词: 发散, 开脑洞, 奥斯本. Divergent thinking (太虚一转·散怀): volume of ideas, SCAMPER, stakeholder rotation → idea-pool.md. Use when user says "发散", "开脑洞", "奥斯本", "osborn". 即便用户未明确说"用 osborn",当对话出现以下信号时也应主动建议使用:方案只有一条路想扩空间、 团队讨论在同一批想法里打转、方向定了但觉得可能有更好的选择、用户说"还有别的思路吗""帮我想想还有什么可能"。 不要等用户说出触发词才启动——识别意图比匹配关键词更重要。
|
| version | 2.4.0 |
| last_updated | 2026-07-04 |
| triggers | ["osborn","奥斯本","开脑洞","开天眼","发散","发散一下","发散思路","brainstorm","头脑风暴","创意发散","发散思维","多想几个方案","还有别的角度吗","展开想想","思路打开","脑暴一下","太虚一转","散怀","/osborn","帮我想想","还能怎么做"] |
| allowed-tools | ["Write","Read","Bash"] |
| compatibility | {"runtime":"claude-code","filesystem":"required","network":"not-required"} |
| metadata | {"visibility":"public","stage":"达芬奇(四阶认知验证流程第一阶段)","hat":"green","risk":"low","capabilities":["filesystem-write"],"status":"active"} |
Osborn 奥斯本发散
"It is easier to tone down a wild idea than to think up a new one."
— Alex Osborn
概述
方案只想到一条路?方向定了但觉得可能有更好的选择?脑子里的东西倒不出来?团队讨论总是在同一批想法里打转?
先铺量,后筛选。围绕主题做大量发散,不评判、不筛选,把可能性空间彻底铺开。四条核心手法:量级驱动,想法够多好方向才会浮现;延迟判断,"不切实际"的先留着;SCAMPER 七算子补盲,替、合、调、改、用、消、重,逐一扫描思维盲区;利益相关方视角轮换,从用户、对手、新人、老板不同位置看同一件事。产出 idea-pool.md,结构化整理所有想法,直接喂给黑格尔(澄源)做收敛。
太虚五转第一转:散怀(发散)。先把空间打开,后面逐步收紧。
这个 skill 做什么
主题摆在你面前,第一个冒出来的想法往往就把后面的可能性挤掉了,这叫收敛过早。这个 skill 的工作是强行把空间先铺开:不评判、不筛选、不排序,先把数量堆出来,再用 SCAMPER 和视角轮换把盲区补齐。
奥斯本的原话是:把一个野想法调温和,比凭空想出一个新想法容易。这个 skill 信这条。
核心机制:把问题空间想象成一张地图,维度轴是坐标轴(如"输入源/处理管线/输出形态"),覆盖率是探索进度。暂停点展示哪些维度已饱和(🔴)、哪些还空白(🟢),驱动"继续发散还是进入下一阶段"的决策。
四个 skill 的分工:osborn(🟢发散)→ hegel(🔵收敛)→ bayes(⚪验证)→ feynman(⚫审查)→ debono(🟡回溯)。详见 references/comparisons.md。
P0-clarify — 模糊主题的渐进澄清
当用户输入过于模糊,无法直接进入发散时,先做 P0-clarify 渐进式对话澄清主题。主题清晰时跳过此阶段,直接进入 P0.1。
清晰度测试:能否用一句话说清发散主题 + 识别至少 3 个问题空间维度轴(P0.2 建议 5-7 个,3 个为最低门槛)?能则跳过,不能则进入 P0-clarify。
P0-clarify 采用渐进式 Q&A(一次一问),逐步澄清:主题→动机→用户→边界→就绪度。交互规则详见 references/elicitation-rules.md。非软件话题加载 references/non-software-facilitation.md。
澄清完成后综合为一句话主题,用户确认,进入 P0.1。若 2-3 轮后仍无法明确主题,建议用 hegel --spec-only 做结构化需求规格化。
六项核心能力
延迟判断(P1/P2)、量级驱动(P1)、SCAMPER补盲(P2a)、想法组合(P1)、疯狂想法保护、发散-收敛双阶段(收敛交给 hegel)。
执行流程:P0-clarify → P0 → P1 → P2(a+b) → P3
P0-clarify → P0 明确主题 → P1 自由发散 → P2a SCAMPER 补盲 → P2b 视角轮换 → P3 想法池整理
│ │ │ │ │ │
渐进式Q&A 类型判定 量级驱动 七算子扫描 四类视角 idea-pool.md
(仅模糊时) 第一性分解 延迟判断 标记来源
边界/维度 组合衍生
P0 — 明确发散主题
确认五件事再开始发散:
- 发散主题:要扩展什么?(一句话能说清)
- 问题类型判定:三信号渐进式分类(见 P0.1)
- 第一性分解:将主题分解到不可再分的基础要素(见 P0.2)
- 边界:发散范围、约束条件(哪些维度要扩,哪些不在范围内)
- 问题空间维度轴:定义 5-7 个评估维度(由 AI 提议,用户确认)
如果用户没明确主题,主动追问——主题不清做不出有用的发散。不要硬扩。
P0.1 — 问题类型判定(三信号渐进式分类)
problem_type 判定遵循三信号优先级(高→低):
| 优先级 | 信号来源 | 置信度 | 说明 |
|---|
| 1 | --type 显式声明 | 1.0 | 用户通过参数指定,直接采用 |
| 2 | AI 内容分析 | >阈值则采用 | 分析主题文本,可读取 --lens 作为输入特征辅助判断 |
| 3 | pending | — | AI 无法判定时标注 pending,走完整五转流程 |
分类枚举:deterministic / non_deterministic / mixed / pending
判定标准:
- deterministic:问题有唯一正确答案,可通过逻辑推导验证(如"这段代码是否有 bug")
- non_deterministic:问题涉及人的行为、市场或未来预测,没有唯一正确答案(如"该不该买这个标的")
- mixed:部分子问题确定、部分不确定(如"这个架构方案是否可行"——技术可行性确定,业务采纳不确定)
- pending:信息不足以判定,各下游 Skill 按默认行为执行
--lens 的定位:--lens 参数(如 ideation / code / investment)是 AI 分析的上下文输入特征,不作为独立的类型信号。例如 --lens investment 倾向于 non_deterministic,但不强制——AI 仍需分析具体主题。
Future Enhancement:当 pipeline 使用数据 ≥50 次且 --lens → type 映射准确率 >75% 时,可将 lens 推断升级为独立信号(Signal 2),并同步复活冲突检测机制。
判定结果写入 idea-pool.md frontmatter 的 problem_type 字段。
P0.2 — 第一性分解
在发散之前,将主题分解到不可再分的基础要素。发散不是凭空想象,而是从基本要素出发重新组合。
分解三步:
-
识别基本实体:主题涉及哪些不可再分的核心概念?
- 如"如何优化投资决策"→ 标的、信号、仓位、时间、风险
- 如"这段代码是否有 bug"→ 输入、处理逻辑、输出、边界条件
-
列出公理假设:哪些前提被当作"显然成立"而未被质疑?
- 如"分散降低风险"——在什么条件下?相关性突变时还成立吗?
- 如"这个函数是纯函数"——有副作用吗?有隐式依赖吗?
-
标注未知项:哪些基本要素的状态不确定?
- 如"市场情绪"→ 不可直接观测但影响价格
- 如"并发条件下的竞态"→ 需要实验验证而非推理
与发散的关系:第一性分解是收敛操作(向下钻到基础),发散是扩展操作(从基础向上组合)。先收敛到底,再发散出去——P1 中的新想法不是凭空冒出来的,是基本要素的新组合。AI 在 P1 中应主动从基本要素的重新排列出发生成新想法。
与 problem_type 的关系:
- deterministic:基本实体和公理假设清晰,未知项少,分解重点是验证公理是否成立
- non_deterministic:未知项多,分解重点是识别哪些不可观测、哪些不可预测
- mixed:部分子问题清晰、部分不确定,分解时分别标注
分解结果不写入 idea-pool.md 正文,作为 P1 发散的上下文锚点。
维度轴适用性检查:维度轴假设问题空间可以分解为独立维度。不适用于高度耦合主题(如"如何提升团队士气"——薪酬/认可/成长/工作生活平衡高度交织)。如果主题维度高度耦合,跳过维度轴,直接用 P1 自由发散 + P2a SCAMPER 补盲。
维度轴定义:
AI 根据主题提议 5-7 个维度(如"输入源/处理管线/输出形态/交互方式/存储策略"),用户确认或调整。同时根据主题特性判定 problem_type(deterministic / non_deterministic / mixed / pending),写入 idea-pool.md frontmatter:
--focus-dimensions 参数(UltraPlan 并行模式):当 pipeline 启用 --parallel 时,通过 --focus-dimensions dim1,dim2 限制本实例只在指定维度发散。未指定时(默认),在所有维度发散。启用时:
- P1 自由发散仅围绕指定维度
- P2a SCAMPER 仅扫描指定维度的替代/组合/改造等
- P2b 视角轮换仅从指定维度的利益相关方视角
- P3 产出标记
[parallel-focus: dim1,dim2]
- 覆盖率暂停点仅展示指定维度的饱和度
---
topic: "{主题}"
problem_type: "deterministic | non_deterministic | mixed | pending"
total_ideas: {N}
dimensions:
- 维度1
- 维度2
- 维度3
- ...
---
数据质量校验:产出 idea-pool 后,校验 frontmatter total_ideas 与实际编号想法数一致。不一致时以实际编号数为准更新 frontmatter。
维度轴本身是发散的一部分——如果用户觉得 AI 提议的维度不合理,可以调整。中途发现某维度始终空白(连续 2 次暂停该维度 0%)或全部想法堆在一个维度(该维度 >80% 且其余维度均 <20%)时,允许重新定义维度轴。调整时已分类想法按新维度重新归类,覆盖率按新轴重算。
P1 — 自由发散
核心原则:
- 量级驱动:先追求数量,质量从数量里浮现。低于 25 个想法不算"扩开了"。P1+P2 合计目标 ≥50 个想法
- 延迟判断(R2 在 AI 场景的定义):P1/P2 阶段不做任何价值筛选、可行性判断、优先级排序、"这个不太现实"的过滤
- 疯狂想法保护:明显"不切实际"的想法照样保留——后续收敛阶段会处理
- 想法组合(Hitchhiking):AI 主动在已有想法基础上衍生新想法,例如 "想法 #3 + 想法 #7 → 新想法 #N"
关键协议(R4 切换入口):
每产出约 8-10 个想法后,主动暂停并展示问题空间覆盖率图:
饱和度 = 该维度想法数 ÷ 目标值(默认 12)。维度状态直接映射边际价值判断——继续往这个维度投入还有没有产出空间:
| 维度名 | 想法数 | 饱和度 | 边际价值判断 |
|---|
| 输入源 | 10 | 83% | 🔴 饱和——继续投入产出递减 |
| 处理管线 | 5 | 42% | ⚪ 中等——有空间但非首要 |
| 输出形态 | 2 | 17% | 🟢 空白——优先深挖 |
| ... | ... | ... | ... |
阈值:🔴 ≥80%(饱和,停止扩展)| ⚪ 40-79%(中等)| 🟢 ≤40%(空白,建议定向发散)
方法论改进:旧的「边际贡献分类」(🟦新方向/🟩深化/🟨组合变异/🟥过度工程)描述的是想法间的拓扑关系,无法回答「继续发散有没有价值」。覆盖率图把问题空间当成地图,维度轴是坐标轴,饱和度是探索进度——直接告诉你哪里还有空白,驱动「继续还是进入下一阶段」的决策。
展示覆盖率图后,给出下一步选项(定向发散空白维度/继续自由发散/进入 P2a)。完整示例见 references/coverage-map-example.md。
决策规则(按优先级排序,首条匹配即生效):
| 条件 | 建议 |
|---|
| 所有维度 ≥ 60% 且总数 ≥ 18(待校准) | 建议进入下一阶段 |
| 存在 ≤ 40% 维度 | 建议定向发散该维度 |
| 存在 > 80% 维度 | 标记饱和,提示不要再往这里扩 |
| 所有维度在 41%-59% | 继续自由发散,或切换到 SCAMPER 补盲 |
⚠️ 魔法数字待校准:5-7 个维度、目标 8 个/维度、阈值 40%/60%/80%、总数 ≥ 18 均为初始估计值,需通过 3-5 次实战使用后校准。如果发现某个阈值频繁误判,记录到 BACKLOG。
不要默默继续。让用户基于数据控制节奏。
想法不足处理:P1 结束时如果不足 15 个,显式告知:
当前共 N 个想法,建议继续自由发散或切换到 SCAMPER 补盲来打开更多空间。
不要假装数量够了。
P2a — SCAMPER 补盲
SCAMPER 是补盲工具不是主框架。P1 已经铺开后,用七个算子作为 structured checklist 扫一遍,补 P1 漏掉的视角:
| 算子 | 含义 | 触发提问 |
|---|
| S Substitute | 替代 | 哪个组件/角色/材料/流程可以被替换? |
| C Combine | 组合 | 哪两个想法/功能/资源合并会产生新可能? |
| A Adapt | 改造 | 别的领域有没有类似的解法可以借过来? |
| M Modify/Magnify/Minimize | 修改/放大/缩小 | 把某个属性放大 10 倍或缩到极小会怎样? |
| P Put to other use | 它用 | 现有的东西换个场景使用会怎样? |
| E Eliminate | 去除 | 砍掉某个步骤/组件/约束会怎样? |
| R Reverse/Rearrange | 反转/重排 | 倒过来做会怎样?顺序换一下会怎样? |
逐条扫描,每个算子至少产出 1-2 个新想法。仍然延迟判断。
🔴 P2a → P2b 切换入口:SCAMPER 扫描完毕后,展示覆盖率全景表:
| 维度名 | P1想法数 | P2a想法数 | 累计 | 饱和度 | 边际价值判断 |
|---|
| 输入源 | 10 | 2 | 12 | 100% | 🔴 饱和 |
| 处理管线 | 5 | 3 | 8 | 67% | ⚪ 中等 |
| 输出形态 | 2 | 4 | 6 | 50% | ⚪ 中等 |
| ... | ... | ... | ... | ... | ... |
SCAMPER 算子覆盖:S✓ C✓ A✓ M✓ P✓ E✓ R✓(7/7)
展示全景表后,给出下一步选项(进入 P2b/直接 P3/回 P1 补盲)。
P2a 分阶段解读:如果某维度 P1 已饱和但 P2a 零贡献,说明 SCAMPER 未能打开该维度的新视角,可跳过该维度的后续补盲。
P2b — 利益相关方视角轮换
切到不同视角再扫一遍,补 P2a 之后剩下的盲区:
| 视角 | 关注点 |
|---|
| 👤 用户/终端使用者 | 真正在用的人在乎什么?日常痛点是什么? |
| 🛠 技术/实现者 | 做出来的人怎么看?实现路径上有什么变体? |
| ⚔ 竞争者/对手 | 对手会怎么打这个主题?他们的解法是什么? |
| 🌪 极端/边缘用户 | 5% 边缘场景的需求是什么?极端条件下怎么用? |
每个视角至少 2-3 个想法。仍然延迟判断。
🔴 P2b → P3 确认入口:
视角轮换完毕后,主动确认:
发散阶段完成。共 N 个想法(P1: n1, P2a: n2, P2b: n3)。确认整理为 idea-pool.md?
选项:(1) 确认整理 (2) 回到某个阶段继续发散
P3 — 想法池整理
把 P1 + P2a + P2b 全部想法汇总,标记来源,写入 idea-pool.md(含 YAML frontmatter: topic / problem_type / total_ideas / dimensions)。每条想法标记来源 [P1] / [P2a-S] / [P2b-用户] 等。不评分、不排序。详见 references/idea-pool-format.md。
不做的事
三模式/SubAgent/交接协议/评分筛选/PRD内嵌方案(这些是 hegel/liam-prd-writer 的职责)。需求规格化由 hegel --spec-only 承担。不含脚本。
边界条件与 Fallback
| 场景 | 触发条件 | 处理动作 |
|---|
| 用户中途退出 | 任意阶段用户说"够了"/"停"/"就这样" | 直接进 P3,整理当前已有想法为 idea-pool.md |
| 用户跳过 P2 | 用户说"不需要 SCAMPER"/"不用视角轮换" | 允许 P1→P3 直连,idea-pool.md 中仅含 P1 段落 |
| 主题无法发散 | P0-clarify 追问 2-3 轮后主题仍模糊 | 建议用 hegel --spec-only 做结构化需求规格化 |
| 想法数量远不足 | P1 结束 < 15 个 | 显式告知并建议:继续发散 / 切换 SCAMPER / 调整主题范围 |
| 维度轴失效 | 连续 2 次暂停某维度 0%,或单维度 >80% 且其余均 <20% | 提议重新定义维度轴,用户确认后按新轴重算覆盖率 |
与下游 skill 的衔接
osborn (idea-pool.md + dimensions) → hegel --target idea-pool.md --lens ideation → bayes → feynman → debono。hegel 读取 dimensions 字段做维度级收敛分析。P0-clarify 阶段吸收的模糊需求不传递给下游,只有澄清后的主题进入发散。
能力来源(V2.4):P3 阶段吸收已废弃 ce-brainstorm 的 anti-genericness test——整理 idea-pool 时检查是否存在至少 3 个非显而易见的想法(即不是行业常识或第一反应的变体)。若全部想法均为常规思路,在 idea-pool.md frontmatter 中标注 genericness_warning: true,提醒 hegel 在收敛时关注创新性不足的风险。此检查不违反延迟判断原则——不筛选不排序,仅做整体质量信号标注。
反模式(不要这样做)
提前收敛(P1<15 个就停)、偷偷筛选、视角偏斜(P2b 未跑满四视角)、跳过 SCAMPER、不询问就继续发散、在 P3 做评分、P0-clarify 超过 5 轮还不综合、一次问多个问题、对清晰主题强做澄清。