我们花了许多时间给 LLM 配上了 harness,来帮助 LLM 成为 agent 更好的完成在复杂环境中的任务,那么在环境这一端呢?
(相关资料图)
无论是蒸馏,强化学习还是自进化,我们都需要 agent 来和环境交互,但我们并没有办法控制环境如何和 agent 交互。类比于 agent harness,文章提出了Envharness,一种全新的组件来控制环境和 agent 的交互方式,来帮助环境提供 agent 在各种训练场景下的更好的训练信号。
- 论文标题:EnvHarness: Awakening Static Worlds for Agent Learning
- 论文链接:https://arxiv.org/abs/2608.19880
- 项目代码:https://github.com/google-research/envharness
- 项目主页:https://envharness.com/
环境 Harness 和 Agent Harness
在一般的智能体(agent) 的场景下,agent 需要在一个环境(environment)中完成任务,这个环境可以是一个网页,可以是一个代码库,甚至可以是一个房间。
在现在的一般设定下,agent 的核心是一个不变化的大语言模型,我们通过在它周围添加脚手架(Harness),例如记忆(memory),技能库(skills)等来帮助他更好地完成任务。
那么作为框架的另一端,环境也可以有自己的 harness 来控制这个环境在 agent 与其交互时候的表现。
Envharness 和 agent Harness 都没有触及要与外交互最核心的部分(大语言模型和环境本身),但又都可以只通过和输入输出接口交互来改变核心内容对外输出的方式,来达到我们想要的目的,而对于环境来说,更好的环境就是可以给 agent 的训练提供更好的训练信号。
什么是 EnvHarness
在规定当中 Envharness 符合一个最简单的接口协议,来保证互相之间可以轻松的叠加,简单来说,我们需要一个环境加上一个 environment harness 之后对外的接口完全不发生任何变化。
- 标准环境:遵循三个最标准的接口,reset () 用来初始化环境,step (a),在环境里执行某个操作,obs()通过观测了解环境内部的状态
而这篇文章提出了三种比较简单的 Envharness 组件
- 环境布置:在环境初始化之后执行一系列操作来改变环境的初始状态
- 交互规则:把智能体进行的操作和观察映射到一个新的操作或者观察上
- 链接环境:在当前环境满足某些条件后自动跳转到另一个环境上
由于所有的操作都基于底层环境的标准接口,所以 Envharness 可以无损的安装在任何满足条件的环境上,而不需要考虑底层环境是网站或是 docker,是为了机器人训练或是 gui 训练。
如何设计 EnvHarness
回到 Envharness 的目的, 是为了让环境可以提供更好的训练信号。参考自进化 agent 阅读实际轨迹来优化 harness,文章提出了用一个 agent 来观测轨迹来给出 Envharness。
整个流程分为简单的四步组成的一个循环
- 首先阅读在原始环境下 agent 的 n 次轨迹
- 基于这些轨迹来辨别 agent 是否存在一些问题或者可以改进的地方
- 之后尝试给出一个最开始的 envharness
- 再加上上文的 envharness 的环境上让 agent 再次尝试生成一批轨迹,观察之后如果觉得可以帮助 agent 解决问题就通过 否则带着这些轨迹回到上一步
经过这样的循环工程(loop engineering)我们就可以根据现在 agent 的能力给出对应的 Envharness
实验结果
文章研究了在强化学习和自进化 agent 的场景下,envharness 之后的环境均可以提供更好的训练信号帮助提升 agent 的性能,同时在例如具身智能,网页导航,代码生成等不同 benchmark 的效果也说明了这一方法的泛用性
其他实验讨论了例如和 agent 共同进化,定向适配长视野问题等方向。
核心局限与未来展望
文章给出了 Envharness 方向的许多现有缺陷以及未来方向例如
- 就跟 agent harness 包括了各种各样的组件一样,envharness 也需要各种各样解决例如 long-horizon,领域知识,长上下文等特定问题的特定组件,有待于未来研究人员的贡献
- 更高效的 Envharness 设计方法,现有的方法依赖于多轮的轨迹采样,效率较低,没有办法实现超级大规模的环境增强研究
本文第一作者黄呈松(Chengsong Huang)是圣路易斯华盛顿大学的博士生,Google scholar citation 超过 1500 次,目前的研究兴趣主要集中在自进化 agent 和数据合成方向,机器之心曾报道过其工作 Lorahub,R-zero,均已超过 github 700 stars