主厨精选模式Skill omakase-off

主厨精选模式是一种软件开发决策辅助技能,用于在项目构建初期或设计阶段遇到不确定性和选择困难时,提供系统化的并行探索解决方案。它通过检测用户的犹豫不决(如“不确定哪种方法”、“都可以”),自动触发多方案并行实现、测试和对比评估流程,最终由实际代码和测试结果客观地选出最优方案。该技能整合了头脑风暴、方案规划、并行开发、场景测试和代码评审等多个环节,旨在提高决策质量、减少主观偏见,并加速技术选型过程。 关键词:软件开发决策,并行探索,技术选型,架构设计,头脑风暴,场景测试,A/B测试代码实现,多方案评估,自动化决策,开发流程优化

架构设计 0 次安装 0 次浏览 更新于 2/28/2026

名称: 主厨精选模式 描述: 此技能应用于构建/创建/实现请求的入口。触发条件包括“构建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个实现。 不要进行完整的组合爆炸:

  1. 识别主要轴线(对架构影响最大的方面)
  2. 沿该轴线创建变体
  3. 用自然配对填充次要决策点

关键规则

  1. 在单条消息中分派所有变体 - 多个任务工具,一条消息
  2. 必须使用场景测试 - 非手动验证
  3. 对幸存者进行新鲜视角审查 - 在评判比较之前必需
  4. 始终清理失败者 - 移除工作树和分支
  5. 编写 result.md - 记录尝试的内容以及优胜者胜出的原因

协调的技能

依赖项 用途
头脑风暴 修改流程,包含被动决策点检测
编写计划 为每个变体生成实施方案
git-worktrees 为每个变体创建独立的工作树
并行代理 并行分派所有变体子代理
场景测试 对所有变体运行相同的场景测试
新鲜视角 对幸存者进行质量审查 → 为评判提供输入
完成分支 处理优胜者(合并/PR),清理失败者

示例流程

用户: “我需要构建一个CLI待办事项应用。”

Claude: [触发主厨精选模式]
在我们深入之前,您希望如何着手?
1. 共同头脑风暴
2. 主厨精选

用户: “1”

Claude: [进行头脑风暴,检测到在存储方案上的犹豫]

您似乎在存储方案(JSON vs SQLite)上比较灵活。您希望:
1. 并行探索 - 我将实现两种变体
2. 最佳猜测 - 我将选择JSON(更简单)

用户: “1”

[为 variant-json、variant-sqlite 创建计划]
[在单条消息中分派并行代理]
[对两者运行场景测试]
[对幸存者进行新鲜视角审查]
[呈现比较结果,用户选择优胜者]
[清理失败者,完成优胜者分支]