Coding Agent Harness 三要素消融实验:固定模型换 Harness 精度翻倍 · 干货攻略
- 链接: https://arxiv.org/abs/2609.20804
- 分类: x-tips
- 来源: X @_akhaliq
- 作者: Jay
- 更新: 2026-10-10
- 仓库: 无(arXiv 论文,非开源仓库)
这是什么
An Empirical Study of Harness Design for Coding Agents(Run-Ze Fan 等,UMass Amherst / Emory / UNC Charlotte / Zoom,arXiv:2609.20804,2026 年 9 月 17 日)是目前最系统的 Coding Agent Harness 消融实验。
它没有去比较不同开源 Harness(OpenHands vs SWE-Agent vs Claude Code),而是从零搭了一个模块化 Harness,固定执行循环,然后分别替换三个核心组件:
| 组件 | 具体内容 | 消融方式 |
|---|---|---|
| Planning(规划脚手架) | update_plan 工具让模型在轨迹中维护任务计划 |
开 / 关 |
| Action Space(行动空间) | 预定义工具集(read_file / write_file / edit_file 等 8 个)vs 纯 bash | 二选一 |
| Context Management(上下文管理) | 5 种策略 × 4 种 context-window 预算(32k/64k/96k/128k) | 交叉测试 |
测试模型:Nemotron-3-30B / 120B / 550B(NVIDIA 家族能力轴)+ Mistral-Medium-3.5-128B(跨家族对照)。 测试基准:SWE-Bench Verified(500 个真实 GitHub issue)+ Terminal-Bench 2.1(89 个命令行终端任务)。 总计 176 个匹配实验配置。
为什么值得关注
谁分享的
@_akhaliq 长期追踪 AI 论文与开源工具,是 X 上硬核 AI 技术信号最集中的账号之一。这次分享的是一个 系统性消融研究,而非某公司的产品发布——它的价值在于给出因果结论而非相关性。
解决什么问题
当前行业有一个普遍误解:模型强 = Agent 强。实际上,同一个模型在不同 Harness 下跑,精度差可达 30pt 以上(FineEnvs 的数据);本文用控制变量法把差距拆解到具体组件级别,告诉你是哪个组件在哪种场景下起作用。
核心问题:当你抱怨模型"不够聪明"时,到底是模型的问题,还是 Harness 的问题?
四个核心发现(全部来自论文原文)
发现 1:Context 管理在 context window 紧张时价值最大
当 context window 只有 32k 或 64k 时,没有上下文管理的 T0 基线大量任务因 context overflow 而提前终止。Context 管理的收益主要来自防止这种"溢出失败",而非提升模型本身的能力。当 context window 扩大到 128k 时,管理策略的精度收益就大幅缩减了。
论文原文(Section 4.1):"Context management becomes increasingly valuable as the context-window budget tightens, with most of its benefit coming from preventing context-overflow failures."
发现 2:T4 策略(先 elision 再 summarization)效率最高;Recall 机制几乎没人用
T4 = 先用规则删掉过期工具输出(elision,M1),超过硬阈值后再调用 LLM 做 summarization(M3)。T2 加了 recall_event 把被删内容存到外部存储使其可恢复——但实验显示模型几乎不主动召回,没有精度提升,徒增复杂度。
论文原文(Section 4.2):"Staging rule-based elision before LLM-based summarization provides the strongest overall efficiency among the context-management strategies. Recall mechanism is rarely invoked and yields no accuracy gain."
发现 3:Planning 从弱模型的精度脚手架,变成强模型的成本节省器
- 弱模型(如 Nemotron-3-30B):开启 Planning 后任务轨迹变长,有更多机会尝试修改代码,精度提升,但 cost 上升。
- 强模型(如 Mistral-Medium-3.5-128B):开启 Planning 主要省掉重复的后编辑验证步骤,cost 下降,精度变化极小。
论文原文(Section 4.3):"Planning shifts from an accuracy scaffold for weaker models to a cost saver for stronger models, with little change in accuracy."
发现 4:预定义工具 vs 纯 bash——取决于模型本身会不会 bash
- Bash 弱的模型:预定义工具集(read_file / write_file 等)显著提升精度,因为不需要靠 bash 命令操作文件。
- Bash 强的模型:纯 bash 接口效果相当,但 cost 大幅降低(尤其是命令行密集的 Terminal-Bench 任务)。
论文原文(Section 4.4):"Predefined tools improve performance for models with weaker bash proficiency, whereas bash-capable models can operate effectively with a bash-only interface and achieve substantially lower cost."
核验过程
官方来源
- arXiv abstract 页(https://arxiv.org/abs/2609.20804):获取了摘要、作者团队、提交时间、论文定位。
- arXiv HTML 全文(https://arxiv.org/html/2609.20804v1):获取了 Introduction(研究动机)、Section 2(Harness 设计细节:T0-T4 策略定义、Planning 机制、Action Space 工具表)、主要发现描述。核心引文与摘要完全一致。
- DAIR.AI Academy 摘要页(https://academy.dair.ai/papers/an-empirical-study-of-harness-design-for-coding-agents-2609.20804):第三方整理,确认了四项核心发现与原文一致。
交叉验证
- LangChain 博客(2026 年 2 月):LangChain 团队仅换 Harness,Terminal-Bench 2.0 从第 30 名进到第 5 名,与本文"换 Harness 可带来大幅度独立收益"的结论方向一致。
- Faros "Harness Engineering: A Guide to AI Coding Agents"(2026 年 5 月/7 月更新):确认了"Harness 是 Agent = Model + Harness 中独立于模型的那一半"这一定价框架,与本文实验设计哲学吻合。
- Augment Code "Harness Engineering for AI Coding Agents"(2026 年 4 月/6 月):引用 Mitchell Hashimoto 2026 年初的定义,与本文背景描述一致。
⚠️ 未核验项
论文报了具体数字(Nemotron-3-30B 在 32k budget 下 T0 溢出率、X 模型精度对比具体差值)但 HTML 格式未完整展示所有图表数值,攻略中的百分比描述均基于摘要/引言的定性描述,非精确数字,已在文中标注为来自原文定性结论,非精确数值。
上手步骤
实验框架速览
ReAct Loop(固定)
├── Planning(开/关)
├── Action Space(预定义工具 vs 纯 bash)
└── Context Management(T0/T1/T2/T3/T4 × 32k/64k/96k/128k)
Context 管理五种策略
| 策略 | 说明 | 适用场景 |
|---|---|---|
| T0 | 无任何管理,context 满就终止 | 大 context window + 短任务 |
| T1 | 过期工具输出直接 elision(删除) | 中等预算 |
| T2 | T1 + elision 内容存入外部存储,可 recall | 原帖主张有收益,实验证明无收益 |
| T3 | 全量 LLM summarization | 高预算,质量优先 |
| T4 | 先 T1 elision,超硬阈值后 T3 summarization | 推荐默认:效率最高 |
Planning 决策规则
if 模型 in [Nemotron-3-30B]: 开启 Planning(精度收益 > 成本)
elif 模型 in [Mistral-Medium-3.5, GPT-5 class]: 关闭 Planning 或仅在 cost-critical 时开启
Action Space 决策规则
if 模型 bash 能力强(如 Claude Code 级别):
使用纯 bash 接口(成本大幅降低)
else:
使用预定义工具集(read_file, write_file, edit_file...)
评估基准说明
- SWE-Bench Verified:500 个人工筛选的真实 GitHub Python issue,评测 repo 级代码修改能力。
- Terminal-Bench 2.1:89 个端到端命令行任务(搭 web 服务器、管理系统包等),评测 agent 在真实 shell 环境的泛化能力。
坑与适用边界
⚠️ 本文结论的边界
- 只在代码任务上验证:SWE-Bench + Terminal-Bench 都是软件工程类任务,不一定能推广到 QA、写作、多模态 Agent。
- 模型范围有限:主要测了 NVIDIA Nemotron 家族和 Mistral,没有测 Claude/GPT 系列(后者通常被作为 Harness 本身的一部分而非研究对象)。
- T4 是效率最优,非精度最优:论文说 T4 在效率(accuracy/cost)上最强,不是说它精度最高。极端精度优先场景可能要单独评估。
- Recall 机制无收益的结论是群体统计结论:个别模型/任务可能受益,不排除特殊情况。
实践建议
- 先测 Harness 再换模型:如果当前任务精度不够,先换 Harness(尤其是加上 Context 管理),看是否解决问题,再考虑换模型。
- 不要盲目抄最先进的配置:强模型 + 强 Planning 反而 cost 更高;弱模型关 Planning 精度骤降。
- T4 是工程上最推荐的默认策略:elision 处理高频溢出,summarization 处理极端情况,recall 机制可以先不加。
一句话结论
Coding Agent 的性能瓶颈未必在模型——固定模型、换上文管理的 Harness,精度可以独立提升数十个百分点;其中 T4(先 elision 再 summarization)+ 按模型强度选择 Planning 开/关,是最具性价比的通用配置。
参考链接
- 论文:https://arxiv.org/abs/2609.20804(arXiv:2609.20804,2026-09-17)
- 论文全文(HTML):https://arxiv.org/html/2609.20804v1
- DAIR.AI 摘要页:https://academy.dair.ai/papers/an-empirical-study-of-harness-design-for-coding-agents-2609.20804
- X 原帖(@_akhaliq 分享):https://x.com/_akhaliq/status/2101020560964866103
- LangChain Harness Engineering 博客:https://www.langchain.com/blog/improving-deep-agents-with-harness-engineering
- Faros Harness Engineering Guide:https://www.faros.ai/blog/harness-engineering