静态环境套一层EnvHarness,held-out最高再涨9分、步数少一成

EnvHarness: Awakening Static Worlds for Agent Learning

Chengsong Huang, Zifeng Wang, Rujun Han, Jun Yan, Yanfei Chen, Zoey CuiZhu, Ke Jiang, Peng Xia, Han Yu, Yufan Zhuang, Yifei Ming, Jiaqi Pan, Bhavana Dalvi Mishra, Jiaxin Huang, Burak Gokturk, Tomas Pfister, Chen-Yu Lee

cs.AI, cs.CL, cs.LG

2026-08-20

华盛顿大学与Google Cloud提出EnvHarness,用Stage、Contract、Chain包装已有环境而不改底层逻辑。四域五基准held-out最高再涨9.0分,SWE-bench步数比原环境少9.8%。

这篇在解决什么

LLM agent靠环境给学习信号,但现成环境是人手搭的、行为固定:看不见某个策略卡在哪,策略变强以后也没有新东西可练。自动造环境能扩规模,可每套流水线绑死一个领域,生成的verifier还贵、还不可靠。

更省事的路是别从头造,把已有环境包一层。EnvHarness把agent harness的思路翻到环境这一侧:模型权重不动,环境代码也不动,只在reset/step接口上改信息流,原任务和人类写的verifier原样继承。

方法

三个插件覆盖三种定制方式。

EnvRigger把策略当黑盒:Observe收集成败轨迹,Diagnose找出循环、读不懂长观测这类系统性漏洞,Write合成插件,Validate用新rollout决定接受、拒绝或改写。过难或太水的候选会被打回。自动化管线没用Chain,因为拼接后的内部状态不好观察。EnvRigger与策略共用同一backbone,ALFWorld和WebArena用Gemini-3.1-Flash-Lite,其余用Gemini-3.5-Flash,增益不是蒸馏更强模型来的。

结果

技能学习设定下,从EnvHarness环境抽技能,held-out全面压过原环境。

基准EnvHarness原环境领域专用生成
ALFWorld OOD成功率70.461.4GenEnv 61.9
WebArena平均41.638.5VeriEnv 39.6
SWE-bench Verified成功率52.5849.88SWE-smith 50.12
SWE平均步数(越低越好)49.6155.0154.72
SpreadsheetBench Pass@149.1545.88

ALFWorld分布外那9.0分是全文最大单点。SpreadsheetBench上,原环境技能掉到45.88,低于无技能的46.44,静态环境只会让模型反复练已经会的动作。SWE步数从原环境的55.01降到49.61,少9.8%,对应EnvRigger专门打断循环、过滤冗长观测的Contract。

Qwen3-8B用GRPO做在线RL,ALFWorld分布内成功率87.9,对原环境81.4。SWE-bench上环境数扩到300时,EnvHarness从47.67爬到54.79,原环境和生成环境分别停在52.13和50.37。Stage/Contract加Chain的技能合在一起,成功率54.30,步数43.12。四款策略从Gemini 3.1 Flash-Lite到Claude Sonnet 4.6,相对原环境技能都多2.7到3.7个绝对点,强弱模型都能吃这套循环。

为什么重要

对已经有gym接口、可信verifier的基准,这条路把「造环境」改成「包环境」。同一套接口跨软件工程、网页、办公、具身四类任务,都赢过领域专用生成器。从业者可以直接套到现有SWE、网页、办公环境上,针对当前策略的漏洞造训练信号,而不必再写一套生成流水线。这是渐进工程,不是新算法。

局限与存疑

设计循环要反复rollout,弱designer迭代次数多,算力一次性砸在造环境上。环境必须可reset:真实账号、不可撤回的下单、实体机器人都不适用。Chain目前只支持串接,没有分支、共享中间状态,也不判断两段任务语义是否相关。目前只处理文本动作和观测。自动化管线没用上Chain,长程能力是单独分析的,不能当成主结果已经自动覆盖。

术语

原文与代码

社区讨论

相关论文

全部论文解读