SuperAPI AI 工具集

arena

智能体与模型

查看项目

更新于 10-23 09:27

技能介绍

用途

Arena 用于解决 Claude 反复给出不理想答案的问题。与其反复重试,不如将同一任务同时交给多个子代理,让它们以不同方式求解,再通过淘汰赛对抗,最终留下一个经过多轮攻击和防御考验的方案。用户角色是编排者,不参与竞争、攻击或评判。

主要能力

  • 多子代理并行求解:默认启动 100 个子代理(--quick 为 16 个),每个获得完全相同的任务,但分配不同的策略卡片(推理模式、工作流、策略)。
  • 淘汰赛对抗:方案之间两两配对,互相攻击对方缺陷(错误、遗漏、边界情况、模糊之处),然后各自防御并修订,由裁判根据评分标准打分,胜者晋级。
  • 最终对比:如果存在用户之前不满意的答案,冠军方案会与旧答案进行盲评对比。
  • 状态管理:所有运行状态保存在当前目录的 .arena/<run>/arena.json,通过 .arena/LATEST 定位最近一次运行。所有子代理只写入 .arena/ 目录。
  • 波次控制:子代理按波次启动,默认每波 10 个,以适应 Claude Code 默认的并发限制。

使用方式

  1. 在请求中通过 /arena 触发,可附加参数:--agents N(代理数量)、--quick(16 个代理)、--seed S(固定策略卡片和配对)、--wave W(每波子代理数)。
  2. 工具先执行 ARENA plan 输出轮次和调用次数;若用户未明确要求使用 Arena 但表达不满,会先询问确认。
  3. 编写 .arena/task.md,包含任务、所有要求与约束、必要上下文以及“完成”标准;若有需超越的旧答案,写入 .arena/baseline.md。
  4. 执行 ARENA init 初始化运行。
  5. 通过 ARENA next 驱动循环:spawn(生成方案)→ 每轮 attack(攻击)→ defend(防御)→ judge(评判)→ ARENA collect → ARENA advance。
  6. 运行结束后执行 ARENA winner,读取冠军方案文件并向用户汇报获胜方案、获胜原因、轮次数以及旧答案对比结果(如有)。

适用场景

  • 用户对 Claude 的回答不满意,希望获得更高质量或更多样化的解决方案。
  • 任务较复杂,需要多角度推理和严格检验。
  • 需要对比新旧答案质量,量化改进程度。

限制

  • 依赖 Claude Code 的 Agent 工具(旧版本称为 Task)和 bracket.py 脚本。
  • 子代理无法访问对话上下文,所有信息必须写入任务文件。
  • 大量子代理会产生大量文件写入,默认权限模式下需要逐文件批准,建议在运行前切换到 accept-edits 模式。
  • 默认并发限制为 10 个工具调用,100 个代理的生成阶段需要 10 波,完整竞赛总计 70 波(含最终检查为 71 波)。
  • 每次运行消耗较多子代理调用(如 100 代理约 595 次调用),需注意成本。
  • 平台、收费信息暂未提供。