利用多个 AI CLI(Codex、Gemini、Claude、Knot)+ tmux 实现的五套多智能体协作工具。
| # | 工具 | 命令 | 说明 |
|---|---|---|---|
| 1 | Arena | arena/arena.sh |
多 agent 同题竞赛,并行执行后对比结果 |
| 2 | Pipeline | pipeline/pipeline.sh |
串行流水线,agent 逐阶段协作加工 |
| 3 | Debate | debate/debate.sh |
正反方多轮技术辩论 + 裁判总结 |
| 4 | Dispatcher | dispatcher/dispatcher.sh |
将大项目拆成子任务,多 agent 并行完成后合并 |
| 5 | Benchmark | benchmark/benchmark.sh |
标准化编程题评测,自动验证 + 评分看板 |
# 1. Arena — 让 Codex 和 Gemini 比赛写 FizzBuzz
arena/arena.sh --agents codex,gemini "实现 FizzBuzz 函数"
# 2. Pipeline — 先生成代码,再 Code Review
pipeline/pipeline.sh --template code-review --agents codex,gemini "写一个 fibonacci 函数"
# 3. Debate — Rust vs Go 技术辩论
debate/debate.sh --rounds 2 "Rust vs Go 做后端开发"
# 4. Dispatcher — 多任务并行分发
dispatcher/dispatcher.sh tasks/utils.tasks
# 5. Benchmark — 标准化评测
benchmark/benchmark.sh --agents codex,gemini# 至少需要 2 个 CLI 可用
codex-internal --version
gemini-internal --version
# 可选
claude-internal --version
knot-cli --version默认使用以下可执行文件名:
claude-internalcodex-internalgemini-internalknot-cli
如需覆盖,可设置环境变量:
export AGENT_CLAUDE_BIN="claude-internal"
export AGENT_CODEX_BIN="codex-internal"
export AGENT_GEMINI_BIN="gemini-internal"
export AGENT_KNOT_BIN="knot-cli"注意:这些变量应为单个可执行文件名或路径,不要包含额外参数。
├── lib/ # 共享库(agent 检测、结果收集)
│ ├── agents.sh
│ └── collector.sh
├── arena/ # 方案一:竞赛
├── pipeline/ # 方案二:流水线
├── debate/ # 方案三:辩论
├── dispatcher/ # 方案四:任务分发
├── benchmark/ # 方案五:评测
├── problems/ # Benchmark 内置题库
├── tasks/ # Dispatcher 示例任务文件
├── topics/ # Debate 预设辩题
└── docs/ # 需求文档 + 创意文档
- 纯 Bash:兼容 macOS 默认 Bash 3.2+,无需额外依赖
- 共享基础设施:
lib/agents.sh和lib/collector.sh被所有方案复用 - 自动检测:跳过不可用的 agent,自动分配任务
- 完整报告:每次运行生成终端彩色输出 + Markdown 报告
benchmark/benchmark.sh 每次执行会在 bench-runs/<timestamp>/ 下生成:
manifest.json:记录工具版本、git commit、agents 版本、过滤条件等可复现信息<problem>_<agent>/test.log:仅在测试失败时保留,便于快速定位失败原因report/report.md、report/results.csv:汇总报告
# 无需真实 AI CLI,使用 mock codex 走 benchmark 通过/失败链路
bash tests/smoke/benchmark_mock.sh