六模型自建 harness:代码搜索远落后,写稿与实验能追上参考

HarnessDev: Can LLMs Create and Evolve Their Own Agent Harness?

Yuhao Wu, Jingyuan Zhang, Jiajun Shi, Xinping Lei, Qingshui Gu, Yuxuan Zhang, Zexuan Wang, Chen He, Chen Huang, Maojia Song, Zhiyuan Zeng, Shaowen Wang, Jinkai Liu, Yunfeng Shi, Jiaheng Liu, Shen Yan, Wenhao Huang, Ge Zhang, Wenxuan Zhang

cs.SE, cs.CL

2026-09-01

六家模型从弱种子搭出可运行 harness。Opus Self-Eval 综合 67.8,低于人类 86.2;写稿和实验能追上,代码与搜索仍落后。进化增益小且换执行模型后多数回吐。

这篇在解决什么

Agent 的能力越来越不在权重里,而在模型外面那套执行基础设施,业界叫 harness:循环、工具、上下文、失败恢复、结果校验。同一套 GPT-5 权重,在 Terminus 2 里 Terminal-Bench 2.1 只有 35.2%,换到 Codex CLI 就到 49.6%。现有评测几乎都是先选好一套 harness,再报下游分数,等于把真正决定部署成败的工程当成实验配置,而不是被开发的对象。

HarnessDev 把评测单位改成可运行、可复用的基础设施。ByteDance Seed 联合新加坡科技设计大学、佐治亚理工等,覆盖两段:Creation 从弱种子搭出完整系统;Evolution 用下游执行反馈改自己刚搭出来的那套。

方法

Creation 给每个模型同一份弱种子:能解析配置、暴露底层工具、写日志,但没有 agent 循环、任务分解、工具策略、状态、校验器、重试或停止规则。原样跑,下游全是 0 分。模型再拿到任务族规格、权限约束、短教程和 1–3 个开发用例,不许看人类实现和隐藏评测集。

Evolution 从自己 Creation 产出的代码 harness 出发,看得见 100 道 SWE-Pro 反馈题和全部 89 道 Terminal-Bench,官方轨迹最多 10 对完整评测。冻结后再跑 630 道从未回传分数的 SWE-Pro,用来拆开「适应看得见的反馈」和「泛化」。

六家 creator 是 Opus 4.8、GPT-5.5、Gemini 3.1 Pro、DeepSeek V4 Pro、Qwen 3.7 Max、Seed 2.0 Pro。开发环境是 Claude Code,GPT-5.5 用 Codex。Self-Eval 让创建者自己当执行模型;Unified-Eval 全部换成 Gemini 3.1 Pro。Creation 每个组合独立搭 3 套,报 avg@3。下游五个基准共 2,207 道题:SWE-Pro 731、Terminal-Bench 2.1 89、MLE-bench 75、EQ-Bench3 46、BrowseComp 1,266。

结果

Self-Eval 下 Opus 综合 67.8,人类参考 86.2。分域差距很大。

方法SWE-ProTerminal-BenchMLE-benchEQ-Bench3BrowseComp综合
Opus 4.869.364.832.984.652.467.8
Gemini 3.1 Pro43.668.832.474.835.255.6
GPT-5.532.852.119.183.052.655.1
人类参考80.088.824.083.792.286.2

写稿接近甚至略超参考,Opus 84.6 对人类 83.7。MLE 奖牌率 Opus 32.9、Gemini 32.4,都高于人类参考 24.0。搜索差距最大:BrowseComp 人类 92.2,最好的 GPT-5.5 只有 52.6。代码也明显落后,Opus 69.3 对人类 80.0。Seed 2.0 Pro 综合只有 22.8。失败的 Data 任务里 77.8% 被归到 harness 缺陷,瓶颈经常不在执行模型。

换执行器会改排名。Qwen 在 Gemini 下 BrowseComp 加 17.6 分、MLE 加 12.9 分;Opus 的 SWE-Pro 从 69.3 掉到 33.0,搜索 harness 的重复查询从 10.1% 升到 88.2%。一套 Opus 代码 harness 把 120 步上限写死在原执行器上,换 Gemini 几乎塌掉。MLE 的 token 消耗大约差 19 倍,更贵不保证更高分。Gemini 代码 harness 只加了 1,006 行,Terminal-Bench 却最高,68.8;改多少行几乎不预测分数。

Evolution 上,五条 self-runtime 轨迹在反馈集都涨,held-out 缩小:Opus 最大 +4.44,五家均值 +3.11。固定 Gemini 执行器后只有 Opus 的 held-out 还涨(+2.70),Qwen −1.11,DeepSeek −2.38,GPT-5.5 −10.32。64 次官方切换里,反馈与 held-out 同向只有 53.1%,9 个声明版本里只有 2 个是 held-out 最优。改动集中在控制流和工具,状态几乎没人动;26,679 条轨迹里没有一次 checkpoint。

为什么重要

这是把前向部署工程师每天在干的事收成可测对象。权重是一处智能积累,harness 是另一处:可检查、可复用、能靠失败反馈继续改。对做 agent 产品的人,含义很具体。别只报某个固定脚手架下的分数。自建 harness 现在在写短稿和跑 ML 实验上已经能用,代码和长程搜索还远不能替代成熟人工系统。进化能做局部修补,还不能当持续集成。

局限与存疑

人类参考来自不同 harness–模型组合,不是同一执行器下的配对对照。超过 100% 只表示超过那套外部系统,不是超过人类能力。Evolution 每个 creator–runtime 格子只有一条轨迹,held-out 只覆盖 SWE-Pro。开发环境全程固定,进化出来的 harness 能不能反过来当下一轮开发环境,论文没测。四个任务族覆盖不了真实部署。约束审计是零违规,但容器是为了可复现,不是为了隔离;复用这些生成代码应当当不信任代码处理。

术语

原文与代码

社区讨论

相关论文

全部论文解读