用途
Omakase-Off 是 Test Kitchen Development 体系中的一个技能,核心目标是解决“不确定要构建什么”的问题。它通过并行探索不同的实现方案,让真实的代码和测试来决定最佳解决方案。其核心理念是:让犹豫在头脑风暴中自然浮现,然后并行实现多种方案,由实际结果选出胜者。
主要能力
该技能包含三个触发机制:
-
头脑风暴前触发:当用户表达“我想构建……”“创建一个……”“实现……”“添加一个功能……”等意图时,会先询问用户希望“一起头脑风暴”还是选择“Omakase(主厨精选)”——后者会生成 3-5 个最佳方案,并行实现,并由测试选出胜者。
-
头脑风暴中触发(犹豫检测):当检测到连续 2 次以上对架构决策的不确定回应,或出现“不确定”“不知道”“都行”“你选”“没偏好”等措辞时,会提议并行探索多种方案。
-
显式请求触发:当用户明确要求“尝试两种方案”“探索两种”“omakase”“实现两个变体”“看看哪个更好”时触发。
使用方式
工作流分为六个阶段:
- 阶段 0 入口:呈现头脑风暴与 omakase 的选择。
- 阶段 1 头脑风暴:在设计过程中被动检测可探索的槽位。
- 阶段 1.5 决策:若检测到槽位,提议并行探索。
- 阶段 2 计划:为每个变体生成实现计划。
- 阶段 3 实现:在单条消息中派发所有代理。
- 阶段 4 评估:场景测试 → fresh-eyes 审查 → judge 评判幸存方案。
- 阶段 5 完成:完成获胜方案,清理失败方案。
目录结构上,每个变体拥有独立的 plan.md 和 result.md,并位于独立的 git worktree 中。
适用场景
适用于用户在架构决策上犹豫不决、希望比较多种实现路径的场景。槽位分类中,仅架构性决策(如存储引擎、框架、认证方式)值得并行探索;琐碎决策(如文件位置、命名、配置格式)不纳入探索。变体数量限制在最多 5-6 个实现,避免组合爆炸:先确定主要轴心,沿该轴心创建变体,再用自然配对填充次要槽位。
限制
关键规则包括:必须在单条消息中派发所有变体;必须使用场景测试而非手动验证;幸存方案必须经过 fresh-eyes 审查;必须清理失败方案的 worktree 和分支;必须编写 result.md 记录尝试内容和获胜原因。该技能依赖 brainstorming、writing-plans、git-worktrees、parallel-agents、scenario-testing、fresh-eyes、judge 和 finish-branch 等技能协同工作,其中 judge 为阶段 4 评分的必需项。