机器之心发布 开发 Agent 应用时,大家一定都为选择 Harness 纠结过:同一个模型接入不同 Harness,工具调用、上下文管理和错误恢复的方式都会发生变化,最终表现也可能相差很大。一套 Harness 在某类任务上表现突出,换到另一类任务后,却未必仍是最佳选择。 那么,不同任务究竟该选择哪套 Harness?是否存在一套能够稳定适配多种任务的通用方案?模型厂商提供的原生 Harness,又是否一定更适合自家模型? 新加坡南洋理工大学安波教授团队在最新报告《Finding the Right Fit: Model–Harness Interactions across Agent Tasks》中,对这些问题进行了系统研究。 报告链接: https://arxiv.org/abs/2610.00917 实验代码仓:https://github.com/liyix/finding-the-right-fit 数据集:https://huggingface.co/datasets/yixuanli97/finding-the-right-fit 这篇报告不是在做一张简单的 Harness 排行榜,而是把模型与 Harness 视为一个整体进行比较。实验覆盖 OpenHands、DSH、PI 和 openJiuwen 四套可配置 Harness,并将 Codex–GPT 与 Claude Code–Claude 两组原生搭配作为参照。报告最终指向了一个很实际的结论:Harness 的好坏并不是固定属性,而是取决于它与模型、任务之间的具体组合。与其寻找一套 “放之四海而皆准” 的 Harness,不如围绕真实任务,对模型与 Harness 进行联合评估。 01 实验背景 为了考察 Harness 对 Agent 表现的影响,研究首先选取了四种可自由配置模型的 Harness:OpenHands、DeepSeek Harness(DSH)、PI 和 openJiuwen。 实验分别为这四种 Harness 接入 Claude Opus 5、GPT-6 Astra、GLM-5.3、Kimi K3 和 DeepSeek V4 Pro。这样的交叉设计,可以观察同一个模型更换 Harness 后的表现变化,也能比较同一套 Harness 面对不同模型和任务时是否依然稳定。 除此之外,研究还加入了两组原生搭配作为参照:Claude Code–Claude 与 Codex–GPT。由于 Claude Code 和 Codex 只接入自家模型,因此它们没有参与完整的交叉实验。 任务方面,研究选择了三个定位不同的任务集:TUA-Bench 侧重通用终端操作,ALE-CLI 聚焦专业工作流,Terminal-Bench 4 则包含难度更高的命令行任务。 表 1|三个任务集及其评测方式 由于三个任务集的任务构成和评分标准不同,研究没有将结果合并为一个综合分数,而是分别进行比较。四种可配置 Harness、五个模型和三个任务集构成了4×5×3,共 60 项结果;再加上 Codex–GPT 与 Claude Code–Claude 在三个任务集上的 6 项原生搭配结果,最终形成了包含 66 项记录 的比较矩阵。 02 实验配置与数据 2.1 Harness 版本与运行配置 本次实验涉及四种可配置 Harness,以及 Codex 和 Claude Code 两种原生 Harness。所有 Harness 都通过 OpenRouter 调用模型,并固定路由到各模型的官方服务商;推理强度统一设为 high,上下文管理、重试和轮数上限等保持各 Harness 的默认设置。TUA-Bench 和 Terminal-Bench 4 使用 Harbor v0.22.0 运行,ALE-CLI 使用任务集自带的运行器,且在 ALE-CLI 上所有 Harness 都会接入任务集提供的 14 个计算机操作工具。 各 Harness 的版本如下: OpenHands:openhands-tools 1.44.1 版本; DeepSeek Harness(DSH):0.1.1-rc.2 版本; PI:v0.84.4 版本; openJiuwen:0.1.18 版本。 Codex:0.150.1 版本,仅与 GPT 搭配; Claude Code:2.1.251 版本,仅与 Claude 搭配。 2.2 计分方式 为了尽可能统一不同组合的计分方式,研究采用了固定任务集分母: TUA-Bench:120 项任务; ALE-CLI:99 项任务; Terminal-Bench 4:63 项任务。 三个任务集分别按固定任务数计分(TUA-Bench 120 项、ALE-CLI 99