SuperAPI AI 工具集

cookoff

编程与开发

查看项目

更新于 10-15 09:30

技能介绍

Cookoff 是 Test Kitchen Development 工作流的一部分,定位在“设计→实现”的过渡阶段运行并行实现竞赛。它的核心理念是:同一份设计,多个“厨师”竞争。每个实现团队从共享的设计文档出发,各自创建自己的实现计划,然后独立实现。由于规划决策相互独立,实现之间会自然产生差异。

用途

Cookoff 用于在用户想要实现某个设计时触发,例如用户说“执行这个计划”“实现这个计划”“我们来构建这个”,或在头脑风暴完成、设计文档已存在之后。也可以显式调用:“cookoff this”。重要前提:Cookoff 基于设计文档工作,而不是详细的实现计划;每个智能体自行创建实现计划。

识别设计到实现的过渡

Cookoff 在一种“情境”下触发,而不是某个特定技能的输出。该情境是:设计已完成,实现即将开始。设计阶段刚结束的信号包括:设计文档已写入/提交;用户批准了设计(“看起来不错”“是的”“我们做吧”);讨论从“构建什么”转向“如何构建”;任何技能/流程即将开始实现。检测到这一过渡时,应始终提供 cookoff 选项,无论使用了哪个头脑风暴技能、是否存在正式设计文档、或其他技能可能提供什么实现选项。

阶段 1:实现选项

当用户想要实现时,呈现选择:1. 单个子智能体——一个智能体规划并实现;2. Cookoff——N 个并行智能体,各自创建自己的计划,选出最佳;3. 本地——在当前会话中规划和实现。路由:选项 1 使用 writing-plans 然后 executing-plans,cookoff 退出;选项 2 继续到阶段 2;选项 3 用户手动实现,cookoff 退出。

阶段 2:复杂度评估

阅读设计文档并评估:功能范围(组件、集成、数据模型)、风险区域(认证、支付、迁移、并发)、预估实现规模。映射到实现数量:低复杂度(小功能、无风险信号)→2 个实现;中(中等功能、一些风险)→3;高(大功能、若干风险)→4;非常高(大型系统、关键区域)→5。然后创建目录:mkdir -p docs/plans/<feature>/cookoff/impl-{1,2,3},并宣布复杂度评估和并行实现数量。

阶段 3:并行执行

设置工作树:.worktrees/cookoff-impl-1/ 等;分支:<feature>/cookoff/impl-1 等。关键:在单条消息中派发所有智能体,使用并行智能体模式,发送一条包含多个 Task 工具调用的消息,不要为每个智能体发送单独消息。子智能体提示模板见 references/phase3-subagent-prompt.md。监控进度并显示状态。

阶段 4:评审

步骤 1:门禁检查——所有测试通过、设计遵循度(实现了设计指定的内容)。步骤 2:检查实现是否相同——在 fresh-eyes 之前 diff 实现,如果 >95% 相同则标记,说明规划步骤未产生足够差异,仍继续但在结果中标记。步骤 3:对幸存者进行 fresh-eyes 审查——检查安全、逻辑错误、边界情况。步骤 4:调用 Judge 技能——关键:立即调用 test-kitchen:judge,提供实现、工作树位置、测试结果、fresh-eyes 发现、可行性标记。Judge 技能将填写完整评分工作表、构建评分卡(整数 1-5,无半点)、检查硬门禁(Fitness Δ≥2、任何分数=1)、宣布获胜者及理由。不要总结或缩写评分。Cookoff 特定上下文:所有实现针对同一设计,Fitness 应相似;Fitness 差距(Δ≥2)表明某个实现偏离或误解了设计。

阶段 5:完成

对获胜者进行验证:运行最终验证(如 npm test、npm run build、设计遵循度)。获胜者使用 finish-branch,选项:本地合并、创建 PR、保持原样、丢弃。失败者清理:git worktree remove、git branch -D,保留获胜者的工作树直到合并。写入 result.md,模板见 references/phase5-result-template.md,保存到 docs/plans/<feature>/cookoff/result.md。

编排的技能

包括:superpowers:writing-plans(阶段 3,每个子智能体创建自己的实现计划)、superpowers:executing-plans(阶段 3,每个子智能体实现自己的计划)、superpowers:dispatching-parallel-agents(阶段 3,在单条消息中派发所有子智能体)、superpowers:using-git-worktrees(阶段 3,为每个实现创建工作树)、superpowers:test-driven-development(阶段 3,子智能体遵循 RED-GREEN-REFACTOR)、superpowers:verification-before-completion(阶段 3、5)、superpowers:requesting-code-review(阶段 3)、fresh-eyes-review:fresh-eyes-review(阶段 4)、test-kitchen:judge(阶段 4)、scenario-testing:scenario-testing(阶段 4)、superpowers:finishing-a-development-branch(阶段 5)。

常见错误

共享预先做好的实现计划(导致所有团队复制相同代码,无差异);在单独消息中派发智能体(导致串行而非并行);不使用 writing-plans + executing-plans(子智能体临时实现);跳过 fresh-eyes(评审没有质量信号,只有测试计数);不检查相同实现(浪费计算资源);忘记清理(遗留孤立工作树和分支)。

适用场景与限制

适用于中高复杂度的功能实现,在设计文档完成后、实现开始前使用。限制:需要设计文档作为输入;依赖多个编排技能;并行实现会消耗更多计算资源;如果实现高度相似,说明规划差异不足。