第 9 章:预集成 Agent——开箱即用的 42 个被测对象
第 9 章:预集成 Agent——开箱即用的 42 个被测对象
评测的第一步是挑选"谁来解题"。Harbor 内置了 42 个 agent 集成,覆盖主流编程 agent、通用 agent 框架与基线实现,全部随主包分发、无需额外安装依赖。本章介绍如何用
-a/-m一行命令指定被测对象、如何用--ak/--ae精细控制 agent 行为,并给出完整 agent 清单、能力矩阵与按场景选型建议。
预集成机制:一行命令切换被测对象
Harbor 的所有 agent 集成开箱即用。以 codex 为例,CLI 方式只需 -a 选择 agent、-m 选择其模型:
export OPENAI_API_KEY="..."
harbor run \
-t hello-world/hello-world \
-a codex -m openai/gpt-5.6-sol配置文件方式把 agent 与任务写进 config.json,适合批量与可复现运行,随后执行 harbor run --config config.json 即可:
{
"agents": [
{
"name": "codex",
"model_name": "openai/gpt-5.6-sol"
}
],
"tasks": [
{ "name": "hello-world/hello-world" }
]
}Python API 同样支持:通过 Job.create(JobConfig(agents=[AgentConfig(...)], tasks=[TaskConfig(...)])) 构造任务后 await job.run(),适合把评测嵌入自己的程序。执行 harbor run --help 可查看当前版本的全部选项。42 个预集成 agent 之外,还可以运行 ACP registry 中的 agent,或接入自定义 agent(第 10 章)。
--ak 与 --ae:控制 agent 行为的两个通用阀门
每个 agent 集成都有自己的 kwargs 与环境变量,Harbor 用两个可重复使用的通用旗标把它们暴露出来:
| Flag | 用途 |
|---|---|
--ak、--agent-kwarg |
向 agent 实现传递一个设置项。数字、布尔、列表、对象等值会被解析成对应类型。 |
--ae、--agent-env |
在 agent 安装与执行阶段设置一个环境变量。值保持字符串。 |
harbor run \
-t hello-world/hello-world \
-a claude-code -m anthropic/claude-sonnet-5 \
--ak max_turns=20 \
--ae MCP_TIMEOUT=20000上例中 max_turns=20 是配置给 Claude Code 集成自身的参数,而 MCP_TIMEOUT 则暴露给 agent 进程使用。设置前请先查阅对应 agent 的集成代码,确认它支持哪些 kwargs 与环境变量。
原生配置(native configuration)
claude-code、codex、deerflow、junie 支持直接传入 agent 的原生配置文件——例如 Claude Code 的 settings.json、Codex 的 config.toml,让评测环境与开发者本地环境的行为保持一致。也支持内联 JSON,Harbor 会把它转换为该 agent 的原生配置格式再交给 agent:
# 传入原生配置文件
harbor run ... -a codex --ak "config=path/to/config.toml"
# 内联配置
harbor run ... -a codex --ak 'config={"model_context_window": 200000}'代表性 Agent 速览
42 个集成不必逐个记住,编程 agent 是其中最大的一类。以下挑选 8 组有代表性的展开,能力细节以本章末尾矩阵为准。
codex
OpenAI 的编程 agent CLI,也是 Harbor 官方文档的"示范生"——各页面示例基本都用它演示。能力齐全:ATIF、Resume、MCP、Skills、原生 config.toml 配置,且是仅有的两个能加载原生轨迹与 ATIF 轨迹的集成之一(另一个是 claude-code)。
claude-code
Anthropic 的编程 agent,能力矩阵中最"满格"的一个:ATIF、Resume、MCP、Skills、原生配置之外,它还是唯一支持 Handoff(评测完成后把会话带回本地继续)与 ACP bridge(作为模拟用户试验中的被测目标)的集成。
gemini-cli
Google 的编程 agent CLI,支持 ATIF、Resume、MCP、Skills,并同样可以充当 ACP bridge 的被测目标,适合需要跨厂商对比的场景。
cursor-cli 与 copilot-cli
两大商业 IDE 厂商的 CLI 形态编程 agent,均支持 ATIF、MCP、Skills;copilot-cli 额外支持 Resume。想评测"IDE 厂商的 agent 水平"时是首选。
开源梯队:aider、goose 与 opencode
aider 是老牌开源结对编程工具,支持 Resume 但不产出 ATIF 轨迹——只看通过率时依然是可靠选择。goose(Block 开源的通用 agent 框架)与 opencode 同属"开源全家桶"梯队,ATIF、Resume、MCP、Skills 四项全支持,常用于跨开源实现的横向对比。
基线与研究系:mini-swe-agent 与 swe-agent
mini-swe-agent 由 SWE-bench 团队打造,极简、透明、依赖极少,支持 ATIF 与 MCP,常被当作"最简基线"——如果任务连它都解不动,可能要先反思任务设计。swe-agent(普林斯顿 NLP)是软件工程基准研究的开山实现之一,支持 ATIF,适合作为历史参照系。
terminus-2
Terminal-Bench 生态中的 agent,支持 ATIF、MCP、Skills,在终端类任务榜单中常见,常与终端任务(如 terminal-bench 数据集)搭配使用。
此外,trae-agent、qwen-coder、kimi-cli 等新锐编程 agent 也已预集成;nop 与 oracle 则是特殊成员,价值主要在 Windows 容器支持(见矩阵脚注)。
完整清单与能力矩阵
42 个预集成 agent 的能力矩阵如下(✓ 支持,– 不支持),这张表同时也是完整清单:
| Agent | ATIF | Resume | Handoff | MCP | Skills |
|---|---|---|---|---|---|
| aider | – | ✓ | – | – | – |
| antigravity-cli | ✓ | – | – | ✓ | ✓ |
| antigravity-sdk | ✓ | – | – | ✓ | ✓ |
| claude-code | ✓ | ✓ | ✓ | ✓ | ✓ |
| cline-cli | ✓ | – | – | ✓ | ✓ |
| codex | ✓ | ✓ | – | ✓ | ✓ |
| computer-1 | ✓ | – | – | – | – |
| copilot-cli | ✓ | ✓ | – | ✓ | ✓ |
| cortex-code | ✓ | ✓ | – | – | – |
| cursor-cli | ✓ | – | – | ✓ | ✓ |
| deerflow | – | – | – | – | – |
| devin | ✓ | – | – | – | – |
| dspy-rlm | – | – | – | ✓ | – |
| eve | ✓ | – | – | ✓ | ✓ |
| fx | – | – | – | ✓ | ✓ |
| gemini-cli | ✓ | ✓ | – | ✓ | ✓ |
| goose | ✓ | ✓ | – | ✓ | ✓ |
| grok-build | ✓ | – | – | ✓ | ✓ |
| hermes | ✓ | – | – | ✓ | ✓ |
| junie | ✓ | ✓ | – | ✓ | ✓ |
| kimi-code | – | ✓ | – | ✓ | ✓ |
| kimi-cli | ✓ | ✓ | – | ✓ | ✓ |
| langgraph | – | – | – | ✓ | – |
| mcode | – | ✓ | – | ✓ | ✓ |
| mimo | ✓ | ✓ | – | ✓ | ✓ |
| mini-swe-agent | ✓ | – | – | ✓ | – |
| muse-code | – | – | – | – | – |
| nemo-agent | ✓ | – | – | – | – |
| openclaw | ✓ | – | – | ✓ | ✓ |
| opencode | ✓ | ✓ | – | ✓ | ✓ |
| openhands | ✓ | – | – | ✓ | – |
| openhands-sdk | ✓ | – | – | ✓ | ✓ |
| nop | – | – | – | – | – |
| oracle | – | – | – | – | – |
| pi | ✓ | ✓ | – | ✓ | ✓ |
| qwen-coder | ✓ | ✓ | – | ✓ | ✓ |
| rovodev-cli | ✓ | – | – | – | – |
| strands | ✓ | – | – | ✓ | – |
| swe-agent | ✓ | – | – | – | – |
| terminus-2 | ✓ | – | – | ✓ | ✓ |
| trae-agent | ✓ | – | – | – | – |
| vibe | ✓ | – | – | ✓ | ✓ |
矩阵之外的其余能力(仅列出支持者):加载原生轨迹与加载 ATIF 轨迹均为 claude-code、codex;原生配置为 claude-code、codex、deerflow、junie;Windows 容器为 nop、oracle;ACP bridge 为 claude-code、gemini-cli。
两点阅读提示:pi 会将其活动会话分支转换为 ATIF 格式;MCP 支持仅表示集成会把任务提供的配置传给 agent,不保证一定能连通 MCP 服务器。
按场景选型建议
flowchart TD
A[开始选型] --> B{需要轨迹做分析或训练?}
B -- 是 --> C[选 ATIF 列为✓的 agent
如 claude-code / codex / terminus-2]
B -- 否 --> D{多步任务需要续跑会话?}
D -- 是 --> E[选 Resume 列为✓的 agent
如 gemini-cli / goose / opencode]
D -- 否 --> F[通过率评测即可,任意 agent]
C --> G{任务提供 MCP 服务器或 Skills?}
E --> G
F --> G
G -- 是 --> H[核对矩阵对应列后取交集]
G -- 否 --> I[确定候选,跑起来对比]
H --> I结合矩阵,常见场景可以这样落子:
- 轨迹分析 / 训练数据生产:优先 ATIF 列为 ✓ 的 agent;
claude-code与codex还能反向下挂 ATIF 轨迹作为初始上下文。 - 多步任务(multi-step):从 Resume 列选,如
gemini-cli、goose、opencode、qwen-coder。 - 评测后在本地接着干:只有
claude-code支持 Handoff;任务附带 MCP 服务器或 Skills 时,先核对矩阵对应列再取交集。 - 模拟用户试验:被测目标用支持 ACP bridge 的
claude-code或gemini-cli。 - Windows 容器任务:目前只有
nop、oracle声明支持;要复用团队已有 agent 配置,选支持 native configuration 的四个集成之一。
本章小结
- 42 个预集成 agent 随 Harbor 主包分发,
-a选 agent、-m选模型即可运行,支持 CLI、config.json、Python 三种启动方式。 --ak向 agent 实现传设置项(自动解析类型),--ae设置 agent 进程的环境变量(保持字符串),二者均可重复。claude-code、codex、deerflow、junie支持原生配置文件与内联 JSON 两种传参方式。- ATIF 是覆盖面最广的能力,是轨迹分析与跨框架对比的基础;加载轨迹(原生或 ATIF)目前仅
claude-code、codex支持,Handoff 仅claude-code支持。 - MCP / Skills 支持表示集成会接收任务提供的配置,MCP 不保证实际连通性。
- 选型思路:先按评测目的(轨迹、多步、通过率)定硬性能力,再按任务特性(MCP、Skills、Windows)过滤,最后在剩余候选中横向对比。
延伸阅读
- Pre-integrated agents——本章对应的官方页面
- ATIF——轨迹格式详解(见本书第 11 章)
- Custom agents——内置清单之外的接入方式(见本书第 10 章)
- ACP——通过 ACP registry 运行更多 agent
- Multi-step tasks——Resume 能力的应用场景