微软 OpenForgeRL,把 agent 训练搬进真实 harness,小样本 RL 跨基准涨点

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):

基准SFTSFT+RL
ClawEval pass³21.731.7
QwenClawBench pass@132.133.7
MCPAtlas pass@123.628.1

GUI agent(OpenForge-GUI,Qwen3-VL-8B):

基准SFTSFT+RL
OSWorld-Verified34.437.7
OnlineMind2Web57.463.0
WebVoyager61.572.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)直接比;「少量数据大涨点」的结论受限于基准天花板,这些基准本身离真实复杂任务还有距离。

术语

原文与代码

社区讨论

相关论文

全部论文解读