名称: 主厨精选模式 描述: 此技能应用于构建/创建/实现请求的入口。触发条件包括“构建X”、“创建Y”、“实现Z”、“添加功能”、“尝试两种方法”、“不确定哪种方法”。提供“共同头脑风暴”或“主厨精选(并行探索)”选项。在头脑风暴期间检测到犹豫不决时,提供并行探索选项。
主厨精选模式
主厨精选探索 - 当你不确定要构建什么时,并行探索不同的方法。
测试厨房开发的一部分:
主厨精选模式- 主厨精选探索(不同方法/方案)厨艺对决- 相同食谱,多位厨师竞争(相同方案,多种实现)
核心原则: 让犹豫不决在头脑风暴中自然出现,然后并行实现多种方法,让实际代码和测试决定最佳解决方案。
三种触发条件
触发条件 1: 头脑风暴之前
时机: “我想构建…”、“创建一个…”、“实现…”、“添加一个功能…”
呈现:
在我们深入讨论细节之前,您希望:
1. 共同头脑风暴 - 我们将逐步探索需求和设计
2. 主厨精选 - 我将生成3-5种最佳方法,并行实现它们,
并通过测试选出优胜者
触发条件 2: 头脑风暴期间(犹豫不决检测)
检测信号:
- 在架构决策上连续2次以上不确定的回应
- 短语:“不确定”、“不知道”、“都可以”、“你选吧”、“没有偏好”
检测到时:
您似乎在方法选择上比较灵活。您希望:
1. 我选择看起来最好的方法并继续头脑风暴
2. 并行探索多种方法(主厨精选模式)
触发条件 3: 明确请求
- “尝试两种方法”、“探索两种”、“主厨精选”
- “实现两种变体”、“看看哪个更好”
工作流程概述
| 阶段 | 描述 |
|---|---|
| 0. 入口 | 呈现头脑风暴与主厨精选的选择 |
| 1. 头脑风暴 | 在设计期间被动检测决策点 |
| 1.5. 决策 | 如果检测到决策点,提供并行探索选项 |
| 2. 规划 | 为每个变体生成实施方案 |
| 3. 实现 | 在单条消息中分派所有代理 |
| 4. 评估 | 场景测试 → 新鲜视角审查 → 评判幸存者 |
| 5. 完成 | 完成优胜者,清理失败者 |
完整阶段详情请参阅 references/detailed-workflow.md。
目录结构
docs/plans/<功能名称>/
design.md # 头脑风暴产生的共享上下文
omakase/
variant-<标识>/
plan.md # 此变体的实施方案
result.md # 最终报告
.worktrees/
variant-<标识>/ # 主厨精选变体工作树
决策点分类
| 类型 | 示例 | 值得探索? |
|---|---|---|
| 架构性 | 存储引擎、框架、认证方法 | 是 |
| 琐碎性 | 文件位置、命名、配置格式 | 否 |
只有架构性决策会成为并行探索的决策点。
变体限制
最多5-6个实现。 不要进行完整的组合爆炸:
- 识别主要轴线(对架构影响最大的方面)
- 沿该轴线创建变体
- 用自然配对填充次要决策点
关键规则
- 在单条消息中分派所有变体 - 多个任务工具,一条消息
- 必须使用场景测试 - 非手动验证
- 对幸存者进行新鲜视角审查 - 在评判比较之前必需
- 始终清理失败者 - 移除工作树和分支
- 编写 result.md - 记录尝试的内容以及优胜者胜出的原因
协调的技能
| 依赖项 | 用途 |
|---|---|
头脑风暴 |
修改流程,包含被动决策点检测 |
编写计划 |
为每个变体生成实施方案 |
git-worktrees |
为每个变体创建独立的工作树 |
并行代理 |
并行分派所有变体子代理 |
场景测试 |
对所有变体运行相同的场景测试 |
新鲜视角 |
对幸存者进行质量审查 → 为评判提供输入 |
完成分支 |
处理优胜者(合并/PR),清理失败者 |
示例流程
用户: “我需要构建一个CLI待办事项应用。”
Claude: [触发主厨精选模式]
在我们深入之前,您希望如何着手?
1. 共同头脑风暴
2. 主厨精选
用户: “1”
Claude: [进行头脑风暴,检测到在存储方案上的犹豫]
您似乎在存储方案(JSON vs SQLite)上比较灵活。您希望:
1. 并行探索 - 我将实现两种变体
2. 最佳猜测 - 我将选择JSON(更简单)
用户: “1”
[为 variant-json、variant-sqlite 创建计划]
[在单条消息中分派并行代理]
[对两者运行场景测试]
[对幸存者进行新鲜视角审查]
[呈现比较结果,用户选择优胜者]
[清理失败者,完成优胜者分支]