Arena 模型方案比较
在独立 worktree 中运行同一任务,检查差异后应用一个方案。
This page has not been translated into English yet. The original Chinese version is shown below.
Arena 是实验性模型比较功能。每个参与者是独立的顶层 agent,有自己的模型、上下文和完整工具能力;它们完成同一任务,不交换消息、不共同分工。
启动和基线
输入 /arena,不指定 --models 时通过交互对话框从已配置提供商选模型;也可使用 --models 的逗号分隔列表与任务描述。
需要 Git 仓库及有效模型凭据。启动时在 Qwen home 下的 arena/<session-id>/worktrees/<model-name>/ 建立各自 worktree,复制当前 staged、unstaged 与 untracked 状态作为基线。agent 依次启动,随后并行执行。
最多同时五个 agent,是不可调整的硬限制。每个都独立消耗模型用量,通常先选两到三个有比较价值的模型,并把任务写成能独立完成的范围。
查看与交互
当前只支持同进程终端标签切换,不支持 tmux / iTerm2 分屏显示。
| 操作 | 快捷键 |
|---|---|
| 切换相邻 agent 标签 | 左 / 右方向键 |
| 聚焦输入框 | 上方向键 |
| 聚焦标签栏 | 下方向键 |
标签中可以给单个 agent 追加消息、批准工具和查看完整历史。状态 ● 表示运行或空闲,✓ 完成,✗ 失败,○ 取消。
比较和应用
所有参与者完成或失败后,比较界面提供状态、用时、推理轮数、token、工具次数,以及共同修改文件、独有修改和方案摘要。
选择成功 agent 时,可按 p 切换快速预览,按 d 切换该 agent 的详细 diff,再选一个结果或全部丢弃。官方限制段仍有旧“无选择前 diff 预览”的措辞;这里按同章具体操作入口说明,不能由此推断存在多方案统一并排 diff 查看器。
选中后从原始基线提取该 agent 的补丁,应用到主工作目录,并清理临时 worktrees 和分支。比较期间主目录继续发生修改可能造成补丁冲突;先审阅实际 diff,不要只根据模型摘要选择。
设置中哪些真的生效
| 字段 | 当前行为 |
|---|---|
agents.arena.worktreeBaseDir | 自定义根目录,使用绝对路径,~ 不展开 |
agents.arena.maxRoundsPerAgent | Schema 接受,但 CLI 未传给 Arena,不能限制运行 |
agents.arena.timeoutSeconds | Schema 接受,但 CLI 未传给 Arena,不能限制运行 |
运行过久应手动停止或缩小任务,不能依赖上面两项尚未连接到执行器的限制。
退出和清理边界
Arena 不能跨退出恢复;选完结果后没有保留 worktree 的选项。若中途关闭终端,目录可能留在磁盘,需用 git worktree list 检查注册状态后人工处理。不要把清理 Git 过期元数据与删除仍存在的工作目录混为一谈。
需要多人角色协作应看coordinate,只需要专门子任务则看Subagents。官方提到的 Agent Swarm 仍是计划功能。