Harness Scaling for Generalizable Agentic Reinforcement Learning
Fei Bai, Huatong Song, Chuan Hao, Ran Tao, Jian Yang, Bryan Dai, Wayne Xin Zhao, Ji-Rong Wen
cs.LG, cs.AI, cs.CL
2026-10-21
把 agent 执行层拆成五个因子,用强度 2 正交设计抽出 18 个配置做 GRPO。Qwen3-4B 在三个基准的未见配置上,平均 Pass@1 比单 harness 训练高 9.8 分,迁到 Claude Code 也高于在 OpenClaw 里直接训。
Agent 外面的 harness 决定提示怎么写、工具怎么暴露、观测怎么返回、上下文怎么裁、失败后流程往哪走。Agentic RL 把策略放进这层里更新。现有工作通常把 harness 固定成一套:任务可以加、环境可以换,执行方式不动。策略贴着这套提示、工具名和流程变强,换一套配置,迁移就变差。
任务扩展解决做什么,环境扩展解决在哪做。Harness Scaling 动的是同一道题、同一个环境里怎么执行。Claude Code 和 OpenClaw 的差别主要在这层。只在其中一个里做强化学习,换到另一个系统往往接不住。
人大高瓴、IQuest Research 和北航把 harness 拆成五个因子:system prompt、tool interface、observation、context management、workflow。每个因子三种实现,全组合 243 种。两套配置差几个因子,用汉明距离量。
全组合太大。固定训练步数下,配置一多,每套分到的更新就少,低阶搭配还重复。抽取用的是 strength-2 orthogonal design:任意两个因子的每种水平搭配,出现次数相同。五因子、每因子三水平,成对组合有 9 种,训练集取 18 个配置,每一对就出现 2 次。Rao 界的下限是 1+5×(3−1)=11,18 满足。一阶、二阶盖住了,大量完整组合没出现,留作空间内测试。这 18 个配置是白盒,每个因子的实现都已知。
每道题配 K=2 套配置。先在 18 个里均匀抽一个锚点,再配汉明距离最近的一个。同一题连续两步走两套相近的执行层,不同题的锚点覆盖整个训练集。K=1 时每题只见一个 harness,多样性只在题与题之间。优化目标仍是 PPO 或 GRPO 的裁剪策略梯度。GRPO 用同题的一组采样估计优势,PPO 用单条轨迹。跨 harness 只改轨迹采自哪套配置。
基座是 Qwen3-4B-Instruct 和 Qwen3-30B-A3B-Instruct,训练用 ClawGym-Task 的 1.35 万条工作区任务,评测题不相交。GRPO 每步 16 题、每题 8 条 rollout;PPO 每步 128 题、每题 1 条。K=2,300 步。Pass@1(单条轨迹答对率)取三次运行的平均,空间内再对 18 个留出配置平均。空间外主测 Claude Code。黑盒对照在 OpenClaw 上做 SFT 或 RL,Claude Code 全程没参与训练。未训练基座在三个基准、两种评测上的总平均,4B 为 21.89,30B-A3B 为 31.40。
| 模型与算法 | 单 harness 总平均 | Scaling 总平均 | 空间内平均增益 |
| 4B GRPO | 29.81 | 39.04 | +9.80 |
| 4B PPO | 33.91 | 36.93 | +3.57 |
| 30B-A3B GRPO | 37.29 | 42.78 | +5.21 |
| 30B-A3B PPO | 36.31 | 41.89 | +4.90 |
总平均含三个基准的空间内分数和 Claude Code。分项差距很大。4B GRPO 的 ClawGym-Bench 空间内从 37.33 到 52.78,Claude Code 从 38.96 到 45.37。PinchBench 空间内从 45.60 到 56.24,Claude Code 从 40.95 到 51.47。JobBench-Easy 更难,空间内从 10.24 到 13.55,Claude Code 从 5.79 到 14.83,绝对分仍在十几。4B PPO 在 PinchBench 的 Claude Code 上从 47.74 到 47.82,这一格基本持平。
迁到 Claude Code 时,白盒 Scaling 高于在 OpenClaw 里训出来的模型。下表是 GRPO。
| 训练方式 | 4B 平均 | 30B-A3B 平均 |
| OpenClaw 黑盒 SFT | 35.08 | 38.08 |
| OpenClaw 黑盒 RL | 33.38 | 36.28 |
| 白盒 Harness Scaling | 37.22 | 41.20 |
30B 的 PinchBench 为 59.78,对应黑盒 RL 是 48.28。黑盒 RL 的平均还低于黑盒 SFT。
结构化抽样比多堆配置有用。只做一阶覆盖的 3 个 harness,相对单 harness,ClawGym 的空间内与 Claude Code 加 11.43 和 4.84,PinchBench 加 3.44 和 7.86。结构化 18 个再加 4.02 和 1.57,以及 7.20 和 2.66。随机 18 个在 ClawGym 是 47.90 和 42.78,结构化是 52.78 和 45.37;PinchBench 随机为 51.28 和 48.74,结构化为 56.24 和 51.47。243 个配置放进同一预算,评测用的配置也训练过,仍不如这 18 个。正文没有给出 243 的绝对分。
K 从 1 增到 2 继续涨,增到 4 停止,测过的档里 2 最高。第二步仍用同一个 harness 的 Repeat-2,相对 K=1 高低都有,稳定低于真换近邻。随机分配替代汉明近邻后,ClawGym 降 2.32 和 2.20,PinchBench 降 3.04 和 1.24。
六项行为里,状态跟踪、流程遵守、错误恢复涨得最多,读观测最少。30B GRPO 在 ClawGym 的原训练配置上从 59.82 到 59.63,降 0.19;空间内从 48.12 到 58.60;Claude Code 从 46.02 到 49.62。
Agent 产品改系统提示、工具 schema、上下文压缩,执行层就换了一套。每次换壳都重做 RL,成本随配置数往上乘。白盒因子空间把这些差异提前训进去,再迁到外部系统。
PPO 和 GRPO 的目标函数没改,改的是题目与配置的配对。18 个配置、每题两套、300 步,两个尺寸、两种算法方向一致。小模型上 GRPO 的空间内增益大于 PPO,9.80 对 3.57。
预算固定时,18 个平衡配置优于随机 18 个,也优于把 243 种都扫一遍。落地时优先把两两因子搭配补齐,每题只在近邻配置之间换。
五个因子、每个三档是这篇划出来的。留出配置仍在同一族变换里,测的是组合没见过。外部工程系统不保证落在这 243 种之内。Claude Code 上的迁移说明一部分执行能力带得走。正文的外部完整表只有 Claude Code。OpenClaw 评测在附录,只说趋势相同。
JobBench-Easy 训完仍是十几分。4B GRPO 的 Claude Code 从 5.79 到 14.83,离可用有距离。平均在涨,单格可以几乎不动。
只测了 Qwen3 的 4B 和 30B-A3B,黑盒 RL 只用 GRPO。正交设计要求各因子水平数一致。权限、沙箱、多代理分工没有放进这个空间。六项能力没有逐项分数。原配置几乎不降,只报告了 30B GRPO 在 ClawGym 上的一张表。300 步的匹配预算没有换成墙钟或 token。18 套环境若更贵,同预算不一定同成本。