openenv/OpenEnv

An interface library for RL post training with environments.

它解决了什么问题

使用强化学习 (RL) 训练代理时,往往因为缺乏创建、部署和交互隔离环境的标准化方法而进展缓慢。每个任务(游戏、代码沙箱、浏览器)都有其独特的接口,导致难以比较结果或复用代码。OpenEnv 通过提供一个简单统一的 API 来连接各种环境解决了这一问题,每个环境都被打包为轻量级的 Docker 镜像,让研究人员能够专注于训练而非底层配置。

工作原理

OpenEnv 使用具有三个核心方法的 Gymnasium 风格 API:reset()、step() 和 state(),这些方法可通过 WebSocket 同步或异步调用。每个环境都是一个 Docker 镜像,可以在本地、云端沙箱或 Hugging Face Spaces 上运行。该包包含命令行工具(openenv init、validate、push)用于构建、检查和部署您自己的环境。在训练方面,OpenEnv 与主流 RL 框架(TRL、Unsloth、SkyRL 等)集成,既可以作为白盒工具环境(训练器运行循环),也可以作为循环拥有者(代理运行自己的循环,而 OpenEnv 捕获训练轨迹)。它还在生产模式下通过 MCP 公开环境工具,并提供通过 Inspect AI 进行的内置奖励组合和评估。

适用人群

OpenEnv 旨在帮助那些希望在各种任务(游戏、编码、网页浏览、模拟)上训练代理,而无需重复构建环境底层架构的 RL 研究人员和从业者。它也适用于希望快速打包并与社区共享环境的环境构建者。

亮点

  • 每个环境统一 API:通过 WebSocket 进行 reset()、step()、state(),支持同步或异步。
  • 40+ 开箱即用的环境(Echo、Coding、TextArena、OpenSpiel、BrowserGym、Harbor 等)。
  • 与 TRL、Unsloth、SkyRL、ART、Oumi、torchforge、Miles 及其他 RL 框架集成。
  • 通过 Harbor 进行真实的编码代理训练,捕获强化学习所需的精确 token。
  • 支持 MCP,在生产环境中为代理提供环境工具,同时训练过程继续使用 step() 和奖励。
  • 内置奖励组合(基于评分标准)和通过 Inspect AI 进行的评估。

相关

  • 项目
  • 项目
  • 项目
  • 项目