mcpField
A
arena

arena

github.com/overextendedAgent 工作流208 次安装2 周前更新
代码仓库

关于 arena

arena 是用于协调多个候选方案的 Skill,按评分标准比较结果并整合、验证最终产物。它涵盖任务定义、并行执行、评审、选择与合并流程。

主要功能

  1. 01定义任务与评分标准
  2. 02并行运行多个候选方案
  3. 03交叉评审候选结果
  4. 04依据标准选择方案
  5. 05整合并验证最终产物

适用场景

  1. 01比较不同实现方案
  2. 02评估多个设计提案
  3. 03整合不同候选方案的优点

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/overextended/skills --skill arena

安装后在 Claude Code 中输入/arena确认已加载。

附带文件agents/openai.yamlCREDITS.md

详细介绍

Arena

粗体列出的原则均位于 principles 技能中:调用一次带有 principles 的 Skill 工具,然后阅读每项列出的原则文件。

在启动任何操作之前,先打开任务列表(使用你的运行环境提供的任务工具;如果没有,则使用 ~/.local/state/ox/checklists/<repo>-<branch>.md 中的检查清单文件),为每个阶段(Frame、Fan out、Cross-judge、Pick、Graft、Verify)各添加一项。

阶段 A:Frame

每个候选方案使用相同的提示词,因此提示词就是约定。

  1. 说明每个候选方案要产出的产物。
  2. 推导评分标准,列出 3–6 项具体且可评分的标准,用于衡量这项任务的成功情况。这是阶段 D 中挑选者使用的工具。候选方案只能看到任务。
  3. 从 ~/.config/ox/models.md 的 panel 行选择运行器,每个条目对应一个候选方案,并将每个条目的模型和 effort 传给你的子 Agent 工具。如果文件或该行缺失,或者 # harness 行指定了不同的运行环境,则使用你自己的模型运行三个候选方案,并说明这一点,同时建议用户运行 /setup-ox models:此时候选方案的差异来自采样,而非模型。如果工具拒绝某个条目,则使用它列出的最接近的模型运行该席位,并说明这一点。如果 Arena 涵盖多个设计方向,则增加候选方案。如果任务受生成能力而非判断能力影响,则多次使用同一个模型。
  4. 为每个候选方案分配独立的输出位置,遵循 Separate Before Serializing Shared State。编写代码的候选方案必须使用独立的 git worktree:先提交基线,因为未提交的编辑不会进入新 worktree;然后运行 git worktree add <path> -b arena-<slug>-<n> <base commit>。其他候选方案则写入各自的目录,即系统临时目录下的 arena-<slug>/candidate-<n>/。

阶段 B:Fan out

同时启动全部 N 个候选方案。每份任务说明都应包含任务、共享依据材料的绝对路径、候选方案唯一可写入的专属输出路径,以及产出成果和简短说明的要求;说明中须列出所考虑的替代方案及舍弃理由。等待所有候选方案完成。

在 T3 Code 中,编写代码的候选方案也可以使用 t3_thread_launch 线程,并从基线提交指定 worktree workspaceStrategy,将线程绑定到其 worktree。

如果某个候选方案没有产出任何内容,则继续处理 N-1 个候选方案,并记录该候选方案未完成。

阶段 C:Cross-judge

所有候选方案完成后,启动一个使用 ~/.config/ox/models.md 中 review 行所指定模型的评审者。如果该行指定的模型与你当前运行的模型相同,则使用来自不同模型家族的 panel 条目,避免评审者与你有相同的盲点。如果该行是 inherit 或缺失,则使用你自己的模型运行评审者,并说明这一点。评审者的任务说明应要求其只读:仅进行检查,不得写入或运行 git 命令。它会查看评分标准和以路径标签标识的候选方案,逐项评分,并说明理由、推荐一个基线方案。它会与你在阶段 D 中阅读候选方案的过程并行运行。

阶段 D:Pick a base

挑选之前,完整阅读每个候选方案。按照评分标准逐项评分,而不是凭整体感觉判断,并与交叉评审结果进行比较。对基线方案意见一致,即可确认选择。意见不一致,说明其中一方存在偏见,或评分标准含糊不清。决定前先阅读双方的理由。

选择一个未来维护者最容易扩展、又不会破坏不变量的基线方案。如果两个方案难分高下,则遵循 Laziness Protocol,优先选择边界更清晰或 API 更小的方案。

阶段 E:Graft

再次检查每个落选方案,找出值得移植到基线方案中的内容;通常每个候选方案只移植一两项,而非大部分内容。遵循 Redesign from First Principles,手动整合每项移植内容,确保结果在同一套思路下保持一致。不要机械复制粘贴。

如果各候选方案趋于相同的设计方向,这是强有力的一致信号。记录这一点,并采用共识方案,无需移植内容。如果它们差异悬殊,则说明阶段 A 的任务说明不够明确。应重新定义任务并重新运行,而不是把不同方案折中平均。

阶段 F:验证

按照 证明它有效 的要求,像验证其他输出一样验证综合成果。如果验证发现了竞技场未能发现的问题,要么阶段 A 有误(重新确定框架并重新运行),要么某个候选方案发现了问题,而你漏掉了它的移植(返回阶段 E)。不要敷衍了事。

综合成果合并后,移除每个候选方案的工作树(git worktree remove <path>)和分支。

输出

一个综合成果,以及一份简短的综合说明,注明基础方案及其原因、交叉评审的结论、每项移植及其来源候选方案、被拒绝的内容及原因、任何趋同或退出情况,以及验证结果。

评论

支持 Markdown