OpenForgeRL: Train Harness-native Agents in Any Environment
Xiao Yu, Baolin Peng, Ruize Xu, Hao Zou, Qianhui Wu, Hao Cheng, Wenlin Yao, Nikhil Singh, Zhou Yu, Jianfeng Gao
cs.AI, cs.CL
2026-07-24
OpenForgeRL 解决 agent 的训练-部署失配:研究里在简化版 harness 训,上线用真实 harness。它用一个轻量代理把真实 harness 的 LLM 调用劫持进 RL 框架,用很少的 RL 任务,就让 Qwen3-30B 在 4 个 agent 基准上明显涨点。
现在的 coding agent(Claude Code、Codex、OpenClaw 这类)都跑在一个复杂的推理 harness 里:多轮推理、嵌套工具调用、多进程。但学界训 agent 时,为了能跑通 RL,往往要重写一个简化版 harness 来训,上线时模型面对的却是完全不同的真实 harness。这个训练-部署失配让训练效果打折扣,也让人没法研究「harness 本身怎么塑造 agent 行为」。
OpenForgeRL(作者来自微软研究院、哥伦比亚大学、达特茅斯)要做的就是:直接在真实 harness 里训 agent,训完跟部署一致。
难点有两个:真实 harness 把推理变成有状态的多进程流程、带嵌套工具调用,现有训练框架原生表达不了;harness 的 rollout 需要容器化环境,没法跟训练节点大规模共置。OpenForgeRL 的解法三件套:
RL 算法用 GRPO,奖励是终端奖励(任务成功),gamma=1.0。整个流程对 harness 是黑盒的,理论上任何 harness、任何环境都能接。
两个 agent,少量数据,涨点明显。
coding agent(OpenForge-Claw,Qwen3-30B-A3B):
| 基准 | SFT | SFT+RL |
| ClawEval pass³ | 21.7 | 31.7 |
| QwenClawBench pass@1 | 32.1 | 33.7 |
| MCPAtlas pass@1 | 23.6 | 28.1 |
GUI agent(OpenForge-GUI,Qwen3-VL-8B):
| 基准 | SFT | SFT+RL |
| OSWorld-Verified | 34.4 | 37.7 |
| OnlineMind2Web | 57.4 | 63.0 |
| WebVoyager | 61.5 | 72.3 |
8B 的 GUI agent 在 WebVoyager 上到 72.3,超过同规模的 UI-TARS-1.5-7B,匹敌甚至超过 OpenCUA-32B、Qwen3-VL-235B 这类大得多的模型。数据量很小:coding 侧 892 条 SFT 轨迹加 343 个 RL 任务;GUI 侧 795 条 SFT 加 252 个 RL 任务。
一个重要发现:训练能跨 harness 迁移。只在 ZeroClaw 上训的模型,在没见过的 OpenClaw 上涨 3.3、在 Codex 上涨 4.6。RL 主要提升的是 agent 的可靠性(自我验证、工具覆盖、多步计划完成),单步能力提升不多。
它把「在真实 harness 里训 agent」这件事从闭源大厂独有变成开源社区也能做。研究意义有三:能在任何 harness、任何环境里训,消除训练-部署失配;社区第一次能系统地研究 harness 选择怎么塑造 agent 行为;用很小的数据量就能换来跨基准的可靠涨点。
对做 agent 训练的团队,这是一个可复用的工程范式:不用再为 RL 重写 harness,劫持真实 harness 的调用就行。
错误恢复仍然弱,即使加了 RL 也提升有限,作者认为这需要专门的数据或训练方法,RL 单独不够。不同 harness 难度差很多,OpenClaw 比对齐更好、更简单的 harness 难训得多。网络、harness 崩溃、超时导致的 partial rollout 被直接丢弃而不是给部分信用,损失了训练信号。
更宏观地,涨点数字都是在自家或相近的基准上,没和闭源顶配 agent(Claude Code 背后的模型、最先进的 Codex)直接比;「少量数据大涨点」的结论受限于基准天花板,这些基准本身离真实复杂任务还有距离。