HyperAIHyperAI

Command Palette

Search for a command to run...

EnvHarness:唤醒静态世界以赋能智能体学习

摘要

大语言模型(LLM)智能体通过与环境的交互进行学习,然而这些环境通常是手工构建且静态不变的:它们无法感知智能体的弱点,并会随着智能体的提升而迅速被淘汰。尽管近期的环境生成方法试图解决这一问题,但它们需要特定领域的流程,依赖昂贵或不可靠的验证器,且最终生成的仍是静态环境。为减轻从头重建环境的工程负担,我们提出了 Environment Harness(EnvHarness),这是一个由可插拔组件构成的可编程层,它包裹静态环境,在不修改底层逻辑的前提下重塑其行为。EnvHarness 通过标准接口运作,可跨不同领域应用,同时确保每个重塑后的环境都保留其原始验证器。为实现该过程的自动化,我们引入了 EnvRigger,它将目标策略视为黑盒,通过观察其执行轨迹来合成针对已诊断缺陷的 EnvHarness 组件,并通过新的 rollout 进行验证。在四个领域的五个基准测试中,EnvHarness 的表现均优于原始环境和特定领域的环境生成流程,在留出测试实例上实现了高达 9.0 个点的提升,同时执行步骤减少了 9.8%。此外,EnvHarness 为强化学习提供了更优的优化信号,从而实现了策略与环境的持续、定向协同进化。

一句话总结

华盛顿大学圣路易斯分校、Google Cloud 和北卡罗来纳大学教堂山分校的研究者提出 Environment Harness (EnvHarness),它是一个可编程插件层,可在不改变底层逻辑的情况下重塑静态环境;并提出 EnvRigger,它观察黑盒策略轨迹来合成并验证组件,在留出实例上最高实现 9.09.09.0 点提升,执行步数减少 9.8%9.8\%9.8%,并在四个领域中实现更好的强化学习协同演化。

核心贡献

  • EnvHarness 是一个可编程层,通过标准 reset/step 接口包装静态环境,并使用插件组件 Stage、Contract 和 Chain 重塑初始状态、agent 与环境交互以及复合任务,而不修改底层环境逻辑或原始验证器。
  • EnvRigger 通过将目标策略视为黑盒,从执行轨迹中诊断弱点,并迭代修订候选组件,直到新的 rollout 确认成功,从而实现策略条件化的环境自动定制,确保每个新环境都针对该策略的具体缺陷。
  • 在四个领域的五个基准上,EnvHarness 优于原始环境和领域特定生成流水线,在留出实例上最高实现 9.0 点提升,执行步数减少 9.8%。它还为强化学习提供更强的优化信号,支持持续的 policy-environment 协同演化。

引言

随着 LLM 成为自主 agent,其学习越来越依赖用于网页导航、代码任务和具身控制的交互式环境。手动构建这些环境成本高昂,且产生刚性的静态基准,无法针对特定 agent 的弱点进行调整,也无法在掌握后提供新挑战。自动生成可以扩大环境创建规模,但现有流水线通常面向特定领域,且由于 LLM 生成的验证器难以信任,往往需要昂贵的过度生成与过滤。作者通过 EnvHarness 解决这些问题,EnvHarness 是一个可编程层,通过标准 reset/step 接口包装现有静态环境,并使用 Stage、Contract 和 Chain 三个插件组件。该方法在不修改底层环境的情况下自定义初始状态、允许的动作和观测以及复合任务视野,因此与领域无关,并保留原始人工构建的验证器。为实现自动定制,作者引入了 EnvRigger,它从执行轨迹中诊断策略的行为弱点,并迭代创建和测试 EnvHarness 组件以针对这些弱点。

方法

作者引入 EnvHarness,它是一个可编程层,包装现有静态环境,将其转换为可定制环境,而无需修改底层模拟器后端。形式上,环境被建模为元组 E=(S,A,O,T,R,s0)E = (S, \mathcal{A}, O, T, R, s_0)E=(S,A,O,T,R,s0)。EnvHarness 组件应用与环境无关的变换 www,严格在接口层重塑环境:

E=w(E),E=(S,A,O,T,R,s0).E' = w(E), \quad E' = (\mathcal{S}', \mathcal{A}', \mathcal{O}', T', R', s_0').E=w(E),E=(S,A,O,T,R,s0).

该方法保留真值评估逻辑,确保原始验证器仍能对回合评分。

框架依赖三种具体类型的模块化插件组件,根据特定训练需求定制环境。

如上图所示,这些组件覆盖标准环境接口方法,例如 reset 或 step:

  1. Stage:由状态操作动作序列 δ=(a1,,ak)\delta = (a_1, \dots, a_k)δ=(a1,,ak) 指定,Stage 通过将这些动作应用于初始状态 s0s_0s0 来定制 agent 的起点。这样系统可以提前引入障碍或完成早期子目标。
  2. Contract:由变换映射三元组 r=(fA,fT,fO)\boldsymbol{r} = (f_A, f_T, f_O)r=(fA,fT,fO) 定义,Contract 重写动作空间、转移动态和观测空间。这些变换可以强制动作前置条件、屏蔽观测或附加结构化反馈,以引导 agent 学习。
  3. Chain:由二元组 =(Eext,g)\ell = (E_{\text{ext}}, g)=(Eext,g) 指定,Chain 通过使用组合逻辑 ggg 将原始环境与附加环境 EextE_{\text{ext}}Eext 结合来扩展环境。这样支持动态地连接、交错或分支环境。

由于所有组件共享标准接口,它们可以自由组合,不过嵌套顺序决定最终环境构造。

为了自动生成这些受任务策略约束的变换,作者引入 EnvRigger。给定基础环境 EEE、目标策略 agent π\piπ 和任务 ttt,EnvRigger 实现映射 H\mathcal{H}H

E=H(E,t;π)=(wkwk1w1)(E),E' = \mathcal{H}(E, t; \pi) = (w_k \circ w_{k-1} \circ \dots \circ w_1)(E),E=H(E,t;π)=(wkwk1w1)(E),

其中每个 wiw_iwi 都是定制的 EnvHarness 组件,旨在暴露 π\piπ 在任务 ttt 上的关键弱点。

完整工作流见框架图,其中 EnvRigger 系统地经历四个不同阶段:

  • Observe(观察):系统在当前环境中运行基础任务上的策略 π\piπ,收集并分析一批 rollout 轨迹。失败暴露特定弱点,成功则界定这些缺陷的边界。
  • Diagnose(诊断):EnvRigger 分析轨迹以识别所观察到行为的根本原因,例如重复动作循环或解析长观测失败。它确定定制方向,决定是对挣扎中的策略补充缺失步骤,还是在策略达到完美成功率时注入更具挑战性的场景。
  • Write(生成):根据诊断,EnvRigger 合成一个或多个 EnvHarness 组件以针对已识别的缺陷。单个缺陷可能需要组合多个组件,例如同时输出 Stage 和 Contract 作为候选集。
  • Validate(验证):为评估候选组件,EnvRigger 用它们包装当前环境以实例化 EE'E,并运行新的 rollout。根据成功率、失败分布等轨迹指标,系统决定接受、拒绝或细化候选。如果需要细化,轨迹和扩展反馈会流回 Write 阶段,重复此循环,直到候选被接受或修订预算耗尽。所有被接受的组件最终都添加到 EnvHarness。

实验

EnvHarness 使用诊断式的生成与验证循环来生成针对特定策略弱点的定制训练环境,从这些环境中提取的技能在五个不同基准上一致地优于静态和领域特定生成方法。该方法跨模型家族和学习范式具有泛化性,包括在线强化学习,通过与环境共同演化实现高效扩展,并可纳入显式用户约束以针对特定行为。

EnvHarness 将静态环境视为基础系统,并为状态、规则和观测添加外部定制层,类似于 agent harness 为冻结 LLM 添加能力。生成的环境在目标设置下优于原始环境,并且 EnvHarness 技能在多个 LLM 骨干上超过真实环境技能,其提升在弱策略和强策略上保持一致。该循环还可以接受用户定义的约束,以针对特定弱点并蒸馏出专注技能,例如验证驱动的开发。EnvHarness 保持基础环境固定不变,并在外部添加定制,产生定制环境,而不是改变核心交互逻辑。在多个不同 LLM 骨干上,EnvHarness 技能始终以一定差距优于真实环境技能,显式约束可以针对诸如未运行测试就提交补丁等弱点。

从 EnvHarness 定制环境中提取的技能在报告的 ALFWorld 和 WebArena 设置上均优于无技能基线和原始环境技能基线。相比原始环境的最大提升出现在分布外 ALFWorld 和 WebArena shop admin 中。针对特定基准的生成基线仅限单一领域,而 EnvHarness 同时适用于两者并提高平均性能。EnvHarness 技能相对于无技能基线改善了所有报告的 ALFWorld 和 WebArena 指标。原始环境技能表现好坏参半,在 WebArena Reddit 和 GitLab 中低于无技能基线。EnvHarness 相比原始环境的最大提升是 ALFWorld 分布外提升 9.0 点,以及 WebArena shop admin 提升 6.2 点。

从 EnvHarness 定制环境中提取的技能在所有报告的 SWE-bench Verified、OfficeQA 和 SpreadsheetBench 指标上均一致优于来自原始静态环境的技能。最大提升体现在 SWE-bench 轨迹效率和 SpreadsheetBench 通过率上,而原始环境技能可能使 SpreadsheetBench 通过率低于无技能基线,并使 SWE-bench 轨迹变长。EnvHarness 还可应用于特定基准来源无法覆盖的领域。EnvHarness 环境技能在每个报告的指标上都优于原始环境技能,最强提升体现在 SWE-bench 平均步数减少和 SpreadsheetBench 通过率上。原始静态环境的技能可能产生反效果:它们使 SpreadsheetBench 通过率低于无技能基线,并增加 SWE-bench 平均步数。OfficeQA 和 SpreadsheetBench 无法获得特定基准的 SWE 来源,而 EnvHarness 技能在所有三个领域都得到评估。

在经 EnvHarness 重塑的环境上进行强化学习通常优于在原始静态环境上训练。重塑环境改善了 ALFWorld 分布内成功率和平均成功率,以及 WebShop 得分和成功率,仅在 ALFWorld 留出成功率上出现可忽略的下降。训练于重塑环境时,ALFWorld 分布内成功率从 81.4 升至 87.9,ALFWorld 平均成功率从 85.5 提升至 88.4。WebShop 得分从 75.6 增至 79.2,成功率从 66.0 增至 67.4,而 ALFWorld 留出成功率几乎保持不变。

在长视野环境中,与基线相比,将 stage/contract 技能与 chain pairing 结合可获得最高成功率,同时减少平均步数。单独使用 stage/contract 技能主要提高成功率,而单独使用 chain pairing 主要通过降低平均步数来提高效率。组合配置表明这些收益是互补的。在评估条件中,组合 stage/contract 与 chain 技能带来最强的成功率。相对于无技能和原始环境设置,chain pairing 显著降低平均步数。单独使用 stage/contract 技能带来明确的成功率提升,但步数减少幅度低于基于 chain 或组合配置。

EnvHarness 向静态环境添加外部定制层,生成定制环境,在不改变核心交互逻辑的情况下提升 agent 技能。在多个 LLM 骨干和包括 ALFWorld、WebArena、SWE-bench、OfficeQA、SpreadsheetBench 在内的基准上,来自 EnvHarness 定制环境的技能一致优于原始静态环境的技能,在分布外设置和效率指标上提升尤为显著。用户定义的约束可以针对特定弱点,在重塑环境上进行强化学习可获得更好性能,而将 stage/contract 技能与 chain pairing 结合可在长视野任务中最大化成功率并减少步数。


用 AI 构建 AI

从创意到上线——通过免费 AI 协同编码、开箱即用的环境和最优惠的 GPU 价格,加速您的 AI 开发。

AI 协同编码
开箱即用的 GPU
最优定价

HyperAI Newsletters

订阅我们的最新资讯
我们会在北京时间 每周一的上午九点 向您的邮箱投递本周内的最新更新
邮件发送服务由 MailChimp 提供