arXiv 2603.25723
PAPER 03 · AGENT HARNESS

Natural-Language Agent Harnesses

把 harness 策略写成可执行的自然语言文档(NLAH + IHR)

Linyue Pan, Hai-Tao Zheng 等 · 清华大学深研院 & 哈工大(深圳)· arXiv 2603.25723

arXiv 2603.25723 · 投稿 2026-03 · 中文版收录 2026-09-03

CITE

把策略从代码里解放出来,写成人话。

— 本站导读
agent 的 harness 对性能影响巨大,但策略逻辑通常埋在紧耦合的控制器代码里,难检查、难比较、难迁移、难消融。论文把 harness 的策略层提炼成可编辑的自然语言文档(NLAH),交给共享运行时(IHR)解释执行——自然语言管策略,代码只保留必须精确的机制。三套基准上任务表现与代码 harness 相当,策略文档从几万 token 缩到几千 token,且可逐模块做科学消融。

解决什么问题

现代 LLM agent 已是多步执行系统:用工具、维护状态、从失败恢复、验证中间结果、委派子任务——这些行为由外部 harness 组织,而 harness 的选择可在同一基准上造成巨大性能差异。问题在于 harness 不是一个干净的研究对象:一份代码 harness 往往把提示词、工具适配器、解析规则、验证脚本、重试逻辑、上下文策略和基准特定假设混在一个控制器里。

于是「小小改一处 harness」可能同时改变调用边界、工具中介、状态载体、验证门和停止语义——harness 难以审查、移植、对比和消融,尽管 harness 模式本身才是系统中可复用的部分。

创新点

01NLAH:自然语言 Harness 文档

把 run 级 harness 策略写成可编辑文档,规定阶段(检查→计划→编辑→验证→恢复→收尾)、角色契约、状态规则、验证规则与停止条件。写作原则:先写任务契约;阶段与机制分离;状态与证据显式化;模块边界可消融;用可执行语言(「委派前先写状态文件」而非「小心谨慎」)。它超越 AGENTS.md / SKILL.md 这类工具级说明——描述的是整个任务运行的生命周期。

02IHR:智能 Harness 运行时CORE

跨 harness 共享的运行时,把 NLAH 解释成可审计的 agent 调用、父子交接、状态更新、验证门与工件契约。四层架构:base agent(只有 LLM 循环 + 终端)→ 运行时策略 → NLAH(可替换策略文档)→ 脚本/适配器(跑测试、解析、沙箱等精确代码)。IHR 刻意很薄——不是某个基准的专用控制器,而是给自然语言策略一个共同执行基底。

03自然语言 / 代码边界

自然语言承载策略:任务分解、角色契约、证据纪律、重试逻辑、状态交接、验证策略;代码承载精确机制:工具执行、解析、沙箱、日志、确定性验证器。作者明确不主张「自然语言取代全部控制器代码」,而是把 harness 中最可审查的一层从不透明实现逻辑中解放出来。

关键结果

同一 harness 思想的三种实现对比:原生代码 harness、同一 NLAH 文本当普通提示词用(Prompt)、NLAH 交由 IHR 执行。统一使用 Codex CLI(gpt-5.4-mini):

SWE-BENCH VERIFIED
67.0
代码
77.0
Prompt
73.0
NLAH
TERMINAL-BENCH 2.0
36.0
代码
57.3
Prompt
53.9
NLAH
OSWORLD
47.1
代码
47.9
Prompt
46.3
NLAH

意义与局限

DISCUSSION选中正文任意文字 → 点「✎ 批注」即可带原文引用发言 · 需 GitHub 登录