精读:给 agent 换一层外壳再训一次——Harness Scaling 的因子化执行空间与正交选点
把 agent 的执行外壳拆成 system prompt、工具接口、观察格式、上下文管理、工作流五个因子各三种写法,用强度 2 正交表从 243 个配置里选 18 个做训练。Qwen3-4B 在留出配置上从 37.33 涨到 52.78,但拆账后可见:增益的四分之三来自「每个因子的每种写法都见过」这一阶覆盖,配置数量本身在噪声内,而 30B 那组真正的结果是换配置时的掉分从 11.70 压到 1.03——这是鲁棒性,不是能力。
1 论文概览
本文是 arXiv:2610.29458(cs.LG;v1 2026-10-21 09:15:50 UTC;Fei Bai、Huatong Song、Chuan Hao、Ran Tao、Jian Yang、Bryan Dai、Wayne Xin Zhao、Ji-Rong Wen,IQuest Research × 中国人民大学高瓴人工智能学院 × 北京航空航天大学)。本专栏此前四十六期问过挑哪些 token、挑哪些轨迹、信用按哪套口径记账、信号被消费时旧了多少、数据分布离基座多远、整条响应有没有资格参与这次更新、策略容量会不会被优化动力学耗光、教师分布里哪些位置允许比较、事后经验除了改行为还能不能改行动之前的那次预测、参考模型的 KL 该从哪条边进组相对更新、教师的意见从哪条通道进 RL、off-policy 校正的记账区间有多长、裁剪区间那两个端点由什么决定、干预落在流水线的哪一环、逐步信用从哪个模型里来、一个已经报出来的增益该怎么拆账、这些信号最终以什么形状落到参数上、结局空间该分成几档、同一笔优势在响应内部怎么分、教师交出来的那笔位移里哪些前缀有资格进损失、这笔信用在更新里当斜率还是当终点、一次迭代该对齐到任务的哪一格;这一期问的是同一道题被套进不同的执行外壳之后,训练分布该不该把这些外壳也算进去——前面那些期数都在改信号本身,本篇一行损失函数没改,改的是策略与工具之间那一层。
一句话总结:把 agent 的执行外壳拆成 system prompt()、工具接口()、观察格式()、上下文管理()、工作流()五个因子,每个因子造三种写法,得到 种完整配置;用强度 2 的正交表从中选出 18 个构成训练集,使每个因子的每种写法各出现 6 次、任意两个因子的 9 种组合各出现 2 次;训练时每道题随机锚定一个配置,再配上汉明距离最近的另一个配置,两配置在两个连续训练步上各用一次。Qwen3-4B-Instruct 在 ClawGym-Bench 的 18 个留出配置上从 37.33 涨到 52.78,在 Claude Code 上从 38.96 涨到 45.37;信息量更大的是 30B 那组——策略在自己训练用的 base 配置上从 59.82 变成 59.63(掉 0.19),换到留出配置却从掉 11.70 分变成只掉 1.03 分。
核心问题:agentic RL 的默认做法是把策略放进一套固定的 harness 里做优化,工具名、system prompt、上下文压缩策略、工作流约束全都不变。这套做法的隐患在于奖励信号一次奖励了两件事——把题做对,以及把这套特定的运行时用顺手:
“existing approaches typically optimize the policy through a single fixed harness. While effective within the training harness, such optimization may encourage specialization to a particular execution configuration and weaken transfer across harnesses.”(§1)
论文把「换外壳就掉点」当成一类独立的失效,不当作评测噪声。
主要贡献:
- 把 harness 的多样性显式建构成一个可枚举的因子空间 ,并把它定位成与任务扩展、环境扩展并列的第三条扩展轴——前两条扩展的是「解什么题」和「在哪解题」,这一条扩展的是「怎么执行」。
- 用强度 2 的正交设计(strength-2 orthogonal design)从 243 个配置里选 18 个,把组合爆炸压成一份可控的训练集,代价是只保留一阶(每个因子的每种写法)与二阶(任意两因子的所有组合)平衡,三阶及以上组合留作留出集。
- 提出全局-局部两段式训练组织:锚点配置在 18 个里均匀采样保证全局覆盖,同一任务的另一个配置取汉明距离最近的那个,提供受控的局部变化。
- 给出两层泛化协议:空间内组合泛化(in-space,18 个留出配置)与空间外迁移(out-of-space,Claude Code 与 OpenClaw 两个黑盒产品级外壳)。
- 开放了分解好的 harness 组件实现与训练配置表——附录 A 的 Table 5 给出五个因子的全部十五种写法,附录 B 的 Table 6 给出 18 个训练配置的完整编码。
2 方法详解
架构与方法概述
整套方法分三步,RL 目标函数本身是标准的 token 级裁剪策略梯度(式 7),GRPO 与 PPO 套用同一份流程:
改动只发生在「 这个三元组是怎么采出来的」: 不再是一个常量,而是从 里按结构化规则抽出来的随机变量。
第一步是造空间。 每个因子 从 base 写法 出发,经变换 得到 ,。变换由 Opus-4.7 生成,约束是只动目标因子,其余四个因子在任务语义、环境行为、功能上保持不变。附录 Table 5 给出全部十五种写法,几个有代表性的:工具接口从原始工具名(execute_bash、file_editor)到语义别名加干扰工具,再到不透明标识符加干扰工具(词面线索基本被抹掉);上下文管理从全量保留到 LLM 摘要式压缩(留最近 5 轮),再到更激进的压缩(留最近 3 轮,摘要外置到辅助文件);工作流从自由执行到必须先出计划,再到计划加每三步一次进度核验。
第二步是选点。 全空间 243 个配置,用强度 2 正交表选 18 个。约束条件写得很干净:设 个因子各 种写法、每种两两组合出现 次,则
后者是 Rao 下界。代入 、 得 且 , 必须是 9 的倍数,最小可行解 ()。于是每个因子的每种写法在训练集中恰好出现 6 次,任意两个因子的 9 种组合恰好各出现 2 次。
第三步是配对。 每道题 先均匀采样一个锚点 ,再从 里取汉明距离最小的 个,构成 。这 个配置在 个连续训练步上依次使用。
关键创新点
把 harness 当成「可设计的实验因素」而不是「给定的运行环境」。 这一步转换的价值最大:一旦 harness 是因子,选哪些配置进训练就变成一个经典的实验设计问题,可以借用 1947 年 Rao 的正交表工具,不用靠人工试错。论文对「为什么不干脆全跑」的回答也是实验设计式的:
“exhaustive training can introduce substantial redundancy under a fixed budget.”(§3.2)
一阶与二阶分开平衡。 只做一阶平衡(每个因子的每种写法出现次数相同)并不控制不同因子之间怎么配对,论文追加了强度 2 约束:
“Component balance alone does not control how realizations from different components are combined. We therefore additionally balance all pairwise combinations.”(§3.2.1)
全局覆盖与局部变化用两个不同的随机源承担。 锚点均匀采样负责让不同任务散布到训练空间各处,最近邻配对负责让同一任务看到结构相近但不同的配置。这个设计让它区别于「随机撒一堆配置」,也区别于「每个任务随机配一个」。
与基线方法的区别
对照的四条基线是:未训练基座、single-harness RL(固定在 )、黑盒 SFT(在 OpenClaw 上采 12,800 条轨迹做 3 轮 SFT)、黑盒 RL(在 OpenClaw 上做 300 步在线 GRPO)。预算是对齐的:黑盒 RL 是 300 步 × 128 rollouts,GRPO 侧的 Harness Scaling 是 300 步 × 16 题 × 8 rollouts,两边都是 38,400 条轨迹级曝光;黑盒 SFT 是 12,800 × 3 epoch ≈ 38,400。这条对齐做得很扎实,是本文最经得起查的一处实验设计。
与「优化 harness 本身」那条线(harness 搜索、自演化、从失败轨迹里编辑 harness)相比,本文固定 harness 不动,只改策略;与「在复杂黑盒 harness 里训策略」那条线相比,本文用一堆自己造的、可枚举的白盒变体替代了那个单一黑盒。
3 实验结果
主要指标
三个基准、两个骨干、两个算法、两种评估设置,共 24 个 (Scaling − Single) 单元:
| 骨干 / 算法 | 基准 | In-Space:Single → Scaling | Claude Code:Single → Scaling |
|---|---|---|---|
| 4B / GRPO | ClawGym-Bench | 37.33 → 52.78 | 38.96 → 45.37 |
| 4B / GRPO | JobBench-Easy | 10.24 → 13.55 | 5.79 → 14.83 |
| 4B / GRPO | PinchBench | 45.60 → 56.24 | 40.95 → 51.47 |
| 4B / PPO | ClawGym-Bench | 43.78 → 49.07 | 40.75 → 44.36 |
| 4B / PPO | JobBench-Easy | 12.63 → 13.16 | 9.68 → 13.39 |
| 4B / PPO | PinchBench | 48.86 → 53.75 | 47.74 → 47.82 |
| 30B / GRPO | ClawGym-Bench | 48.12 → 58.60 | 46.02 → 49.62 |
| 30B / GRPO | JobBench-Easy | 14.79 → 15.48 | 10.05 → 14.20 |
| 30B / GRPO | PinchBench | 54.51 → 58.98 | 50.25 → 59.78 |
| 30B / PPO | ClawGym-Bench | 44.23 → 48.29 | 45.17 → 48.83 |
| 30B / PPO | JobBench-Easy | 13.98 → 17.56 | 12.11 → 18.90 |
| 30B / PPO | PinchBench | 50.54 → 57.59 | 51.85 → 60.18 |
24 个单元全部为正,二项检验双侧 。方向这件事可信。幅度是另一回事:最小一格是 4B/PPO/PinchBench/Claude Code 的 +0.08,最大一格是 4B/GRPO/ClawGym/In-Space 的 +15.45,相差近 200 倍。全文没有报任何误差棒(Pass@1 是三次独立评测的平均),单格幅度不可定价。
与 SOTA 的对比
Table 2 是与黑盒路线在 Claude Code 上的正面比较:4B 上 Harness Scaling 平均 37.22,黑盒 SFT 35.08,黑盒 RL 33.38;30B 上 41.20 对 38.08 与 36.28。附录 Table 9 在 OpenClaw 上重复了一遍,4B 是 36.07 对 32.02,30B 是 41.20 对 36.66。两个外部黑盒、两个模型规模,趋势一致。
Table 4 是本文信息密度最高的一张表,也是被正文读法低估的一张。30B/GRPO 在 ClawGym-Bench 上:
| 方法 | base 配置 | In-Space | Claude Code |
|---|---|---|---|
| Single-Harness RL | 59.82 | 48.12 | 46.02 |
| Harness Scaling | 59.63 | 58.60 | 49.62 |
| −0.19 | +10.48 | +3.60 |
行引导读者读「+10.48 的泛化增益」。把同一张表按行读,得到的是另一个数:Single-Harness RL 从自己的训练配置换到留出配置要掉 11.70 分,Harness Scaling 只掉 1.03 分;在两者都训练过的 base 配置上,Scaling 还低了 0.19。
消融实验的关键发现
配置数量的贡献接近于零,选点方式才是。 §4.3 报了「3 个 harness 提供一阶覆盖」这一行。把正文给的增量加回去:ClawGym-Bench 是 37.33 → 48.76(In-Space +11.43)、38.96 → 43.80(Claude Code +4.84),PinchBench 是 45.60 → 49.04(+3.44)、40.95 → 48.81(+7.86)。Table 3 的 Random-18(同样 18 个配置、同样预算、随机选)是 ClawGym 47.90、PinchBench 51.28。三个数并排:
- ClawGym In-Space:3 个结构化 48.76 > 随机 18 个 47.90
- PinchBench In-Space:3 个结构化 49.04 < 随机 18 个 51.28
符号相反。从 3 个加到 18 个,在 ClawGym 上是 −0.86、在 PinchBench 上是 +2.24,都落在噪声量级。换成同规模对照就干净了:Ours 减 Random-18 在 ClawGym 上是 +4.88/+2.59(In-Space/Claude Code)、在 PinchBench 上是 +4.96/+2.73,四项全正。按份额算:3 个配置的一阶覆盖拿走了 ClawGym-In-Space 增益的 74.0%、ClawGym-Claude Code 的 75.5%、PinchBench-Claude Code 的 74.7%,PinchBench-In-Space 是 32.3%。四格里三格的四分之三增益,来自「让策略见过每个因子的每种写法」,这部分完全不需要组合外推。
K 的扫描把两件事绑在了一起。 Table 10:Single 37.33/38.96,K=1 48.21/43.17,Repeat-2(同任务同配置连训两步)49.76/43.60,K=2 52.78/45.37,K=4 49.56/41.99(ClawGym,In-Space/Claude Code)。总训练步数固定 300,于是 K=1 看到 4,800 个不同任务、K=2 看到 2,400 个、K=4 看到 1,200 个——K 越大,独特任务数越少。K=2 最好、K=4 掉回去,可读作「harness 多样性饱和」,也可读作「任务多样性被砍到 1,200 之后的代价」。两个解释共用同一组数据,本文没把它们分开。干净的那一格是 K=2 减 Repeat-2(两者独特任务数都是 2,400,只差换不换 harness):ClawGym +3.02/+1.77、PinchBench +5.90/+2.83,四项全正。也就是说,论文着力设计的「同一任务跨相近配置」这一步,净贡献约占总增益的 20%;K=1(同一任务只在一个配置上出现,多样性完全靠任务之间摊开)已经拿走 70%。
full-243 那条臂测的不是组织方式。 论文用「全 243 个配置在固定预算下不如 18 个」来论证组织比数量重要:
“Notably, the full-space setting is trained on all harness configurations, including those used for white-box evaluation, yet still performs worse than the structured 18-harness set.”(§4.3)
预算固定时,243 个配置每个分到约 158 条轨迹,18 个配置每个分到约 2,133 条,相差 13.5 倍。这条臂一次改变了「每配置样本量」与「配置数」,读不出组织方式的独立贡献。论文自己把它降格为压力测试,处理是诚实的。
单配置基线的选择空间没有被用满。 §4.2 只用一句话带过敏感性实验:
“The advantage also persists when Single-Harness RL is trained on three additional fixed harnesses selected solely by their structural positions in .”(§4.2)
附录 Table 11 摊开是这样的(Qwen3-4B/GRPO,三基准平均): 得 31.06/28.57, 得 35.79/36.11, 得 33.52/33.11, 得 35.15/32.72,Harness Scaling 得 40.86/37.22。主表用的 是四个候选里最弱的一个。换成最强的 ,In-Space 上的 +9.80 变成 +5.07,Claude Code 上的 +8.65 变成 +1.11。定性上「仍然成立」成立,定量上 Claude Code 那一列几乎归零——而 out-of-space 迁移恰恰是本文最看重的主张。
4 个人分析
亮点
把「外壳」从常量变成可设计的随机变量,这一步转换是对的。 换工具名就掉点、加了上下文压缩就掉点,这类现象做 agent 的人多少撞过,通常被当作评测抖动或工程细节。本文把它命名成一类失效,并且给出了一个可以枚举、可以平衡、可以留出验证的形式化空间。这个形式化本身比任何一个数字都值钱。
正交表选点是可复用、可迁移的工具。 强度 2 正交设计是 1947 年的老工具,用在这里刚好对上问题结构:五个因子、各三水平、预算只够 18 个点。Rao 下界那两行推导(附录 B.1 的 Proposition B.1)虽然简单,却把「18」这个数字从拍脑袋变成了唯一可行解。任何需要做多因子训练数据配比的人都可以直接抄这一节。
留出集与训练集做到了边际分布一致。 我按 Table 6 与 Table 8 逐条核对过:训练集 18 个配置里,十个因子对各自覆盖全部 9 种组合、每种恰好 2 次,每个因子的每种写法恰好 6 次,与附录 B.1 的声称完全一致;评估集 18 个配置的边际分布同样是 6/6/6,与训练集零重叠。评估集选取不依赖模型表现(附录 C.2 明确写了这一条),三基准、两模型、两算法共用同一份留出集。这几处实验卫生做得很干净。
Table 4 是全文最好的一张表,尽管正文没按最好的方式读它。 「换配置掉 11.70」对比「换配置掉 1.03」,这个数字把本文的贡献说清楚了:它不是让模型在任何一个给定配置上更强——base 配置上还低了 0.19——而是把策略对执行配置的敏感度压下去。这一点在 24 个单元里还有旁证:Single-Harness RL 相对未训练基座有两格是负的(4B/GRPO/JobBench/Claude Code 是 −0.99,30B/GRPO/PinchBench/Claude Code 是 −1.23),Harness Scaling 相对基座 24 格全正。在强外壳上,单配置训出来的 RL 策略会输给没训过的基座,这个现象此前没人量化过。
局限性
留出集在二阶意义上零新颖,这一点削弱了「组合泛化」的读法。 我把评估集 18 个配置的全部 180 个二阶投影()逐条回查训练集,0 条未被覆盖——强度 2 正交设计恰好覆盖了任意两因子的全部 种组合。评估集与训练集的边际分布也完全相同。所谓「unseen complete combinations」实际测的是三阶及以上的交互。再细一层:评估集 18 个配置到训练集的最小汉明距离,8 个是 1、10 个是 2,有 8 个留出配置只差一个因子就能在训练集里找到。按距离 1 与距离 2 分成两组分别报分,就能直接量出外推难度的梯度,本文没做这个分组。
「局部变化」在 18 配置子集里根本不是单因子变化。 §3.1.1 用「adjacent configurations differ in exactly one component」定义了 Hamming 图上相邻的概念,那是全图 的性质,不是 18 个训练配置子集的性质。我算过训练集内部的 个配对,距离分布是 有 12 对、 有 54 对、 有 81 对、 有 6 对——没有一个配对的距离是 1,每个配置的最近邻距离恒为 2。locality-aware 取 个最近配置时,那条边的实际汉明距离恒为 2,是双因子一起变,不是论文叙事里的单因子受控变化。
Random-18 没有匹配边际平衡,「结构化选择重要」这条结论只能落到一半。 Table 3 的 Random-18 只说是「a random set of the same size」,没说是否做了边际平衡。若未做,随机 18 个配置里某些因子的某种写法出现次数会偏离 6,那么 Ours 减 Random-18 的 +4.9 点的成因可能是二阶(pairwise)平衡,也可能只是一阶(边际)平衡。区分两者只需要一条臂:边际平衡但不做 pairwise 平衡的随机 18 个(拉丁超立方型抽样即可)。缺了这一条,「强度 2 正交设计」的贡献还没有被单独定价。
因子的正交性是假设,不是被验证的事实。 五个因子的十五种写法由 Opus-4.7 生成,论文写「explicitly constrains non-target components to remain unchanged」,但没有任何检验。看 Table 5 的具体内容,正交性值得怀疑:工具接口的两个变体各自一次改了「工具命名」与「加入干扰工具」两件事;工作流变体 II 一次加了「计划」与「每三步核验」。每个因子内部已经捆绑了不止一个变化。可加性(改 的效应与改 的效应是否可加)全文没有一张表验过,而强度 2 正交设计的全部效力都建立在低阶交互可分离之上。
GRPO 与 PPO 的增益差 1.7 倍,指向一个未被讨论的替代解释。 12 个 GRPO 单元平均 +7.36,12 个 PPO 单元平均 +4.30;拆开看,In-Space 是 7.51 对 4.23、Claude Code 是 7.21 对 4.36,比值稳定在 1.65–1.77。两者的配置差里最显眼的一条是每步任务数:GRPO 是 16 题 × 8 rollouts,PPO 是 128 题 × 1 rollout。每步独特任务数多 8 倍,Harness Scaling 的增益就降到约 0.58 倍。 这与「harness 多样性在补偿小批量下的任务多样性不足」这一解释吻合,也顺带解释了 K=4 为什么掉回去。论文把一致性写成「persists across RL algorithms」,没有把这个 1.7 倍的幅度差当成线索。检验很便宜:把 GRPO 的 prompt batch 从 16 提到 128,若增益掉到 PPO 的水平,本文的 scaling dimension 就要改写为「任务多样性的替代品」。
成本没有报。 训练用了 16 张(4B)或 32 张(30B)H20、跑 300 步,但没有 wall-clock、GPU-hour 或与基线的算力对比。Table 2 里 Harness Scaling 对黑盒 SFT 的优势只有 +2.14(4B)与 +3.12(30B)——黑盒 SFT 是离线采集 12,800 条轨迹做三轮微调,成本量级与在 18 个配置上做在线 RL 不可比。工程上要不要上这套方案取决于这个比值,本文没给。
对大模型领域的影响
第一层落在评测。 现在主流的 agent 评测基本是「一套 harness、一个分数」。本文 30B/GRPO 那组数据说明:换一套执行配置,同一个 checkpoint 的分数能从 59.82 掉到 48.12。任何在单一 harness 上报告的 agent 分数,都应该被理解为该 harness 上的条件分数。 论文给出的做法是定 18 个留出配置取平均,这个成本(18 倍评测)对多数团队偏高,退一步的做法是至少报出最容易掉分的两个因子上的分数——从 Table 5 看,工具接口的不透明化与上下文的激进压缩大概率是那两个。
第二层落在模型与系统的边界。 近一年 agent 能力的提升有相当一部分来自 harness 工程而非权重更新。本文的结论是这条路有上限:把策略放进一套越做越复杂的黑盒里训,得到的是对那一套的特化。用一堆简单、可枚举、白盒的变体去训,反而比在复杂黑盒里训更能迁移到别的复杂黑盒。这条对「要不要把训练绑到某个产品级框架上」的决策有直接影响。
第三层落在训练分布的构造方式。 过去两年 agentic RL 的扩展注意力几乎全在「题目从哪来」和「环境从哪来」。本文给出第三条轴,成本结构很不一样:造 15 种 harness 写法是一次性投入(本文用 Opus-4.7 生成),之后选点靠正交表,不需要新题、不需要新环境、不需要新奖励。对题源枯竭但算力还有余量的团队,这是性价比最高的一条轴。
第四层是它与监督信号那条主线的关系。 本专栏此前四十六期改的全是信号本身。本文一行目标函数没改,拿到的增益(ClawGym In-Space +15.45)落在同一量级。这提示两件事:此前各期报出的增益里有多少是在单一 harness 上测出来的,需要按跨 harness 口径复核;信号侧的改动与配置侧的多样性存在交互——一条更好的信用分配规则在跨 harness 训练下还成不成立,本文没有涉及。
5 实践启示
可以借鉴的技术
- 五因子分解清单可直接抄。 system prompt、工具接口、观察格式、上下文管理、工作流——这五个维度覆盖了绝大多数 agent 框架的可变部分。做内部 agent 训练时,先按这五维列一份自己的变体表,再决定训练配比。
- 正交表选点是低成本高回报的一步。 五个因子各三水平,18 个点就够;五个因子各两水平,Rao 下界给 、,8 个点即可。比起随机撒点或全量跑,这是本文最容易直接搬走的部分。附录 B.1 的推导可以照搬来算自己场景下的 。
- 先做一阶覆盖,别急着扩数量。 消融显示 3 个配置就能拿到四分之三的增益(四个单元里三个),从 3 个加到 18 个的效应在噪声内。资源有限时,优先保证「每个因子的每种写法都见过」,再考虑二阶平衡。
- 同一任务跨配置的配对有效,但要配 Repeat 对照。 K=2 减 Repeat-2 的四项全正(+3.02/+1.77、+5.90/+2.83)说明换 harness 本身有净贡献;不加 Repeat 对照,这份增益会和「同一任务多训一步」混在一起。做 K 的扫描时务必固定独特任务数,否则 K 与任务多样性纠缠。
- 留出集要做到边际分布与训练集一致、选取不依赖模型表现。 这两条本文都做到了,值得照抄。反过来说,如果自己的留出集是按「哪些配置难」挑的,测出来的就不是泛化。
- 报「换配置掉多少」,不要只报「留出集多少分」。 Table 4 的行内读法(−11.70 对 −1.03)比 行(+10.48)更能说明方法的性质,也更难被 baseline 的强弱操纵。
潜在应用场景
- 内部 agent 平台的一次训练、多处部署。 同一个策略要接入不同的工具编排层、不同的上下文预算、不同的前端提示模板,正是本文设定的场景。
- 模型厂商的后训练阶段。 卖出去的模型会被用户塞进各式各样的框架里,出厂前用一批白盒变体做跨配置鲁棒性训练,比针对某一个流行框架调优更稳。
- 评测基线加固。 把 18 个留出配置(或其中最容易掉分的子集)做成公开的 harness 鲁棒性套件,用来区分「模型真的会做」与「模型会用它熟悉的那套工具」。
- 数据工程侧的变体自动生成。 用强模型批量生成 harness 变体、再用正交表选点,这套流程可以直接接到现有的 agentic RL 数据流水线上,不需要新题源。
需要留意的前提:本文的全部证据都在 workspace 类任务(ClawGym-Task 训练,ClawGym-Bench / JobBench-Easy / PinchBench 评测)与两个代码类黑盒产品上。五个因子的具体写法(不透明工具名、上下文压缩、计划优先)都偏「信息处理与流程约束」这一类,没有覆盖「工具集合本身变了」「环境反馈的分布变了」这类更硬的迁移。把结论搬到开放域 agent 之前,先确认自己那套系统里「换外壳」主要换的是什么——如果换的是工具能力而非工具呈现方式,本文的因子分解就不完全适用。
参考文献
- Fei Bai, Huatong Song, Chuan Hao, Ran Tao, Jian Yang, Bryan Dai, Wayne Xin Zhao, Ji-Rong Wen. “Harness Scaling for Generalizable Agentic Reinforcement Learning.” arXiv:2610.29458 (cs.LG), v1, 2026-10-21.
- C. R. Rao. “Factorial experiments derivable from combinatorial arrangements of arrays.” Supplement to the Journal of the Royal Statistical Society 9(1): 128–139, 1947.
- A. S. Hedayat, N. J. A. Sloane, J. Stufken. Orthogonal Arrays: Theory and Applications. Springer, 1999.
- F. Bai, H. Song, S. Sun, D. Cheng, et al. “ClawGym: A Scalable Framework for Building Effective Claw Agents.” arXiv:2604.26904.
- H. Song, F. Bai, M. Yang, R. Li, et al. “ClawGym II: Exploring Black-Box RL on Agent Harness.” arXiv:2608.16798.
- J. Schulman, F. Wolski, P. Dhariwal, A. Radford, O. Klimov. “Proximal Policy Optimization Algorithms.” arXiv:1707.06347.
- Z. Shao, P. Wang, Q. Zhu, R. Xu, et al. “DeepSeekMath: Pushing the Limits of Mathematical Reasoning in Open Language Models.” arXiv:2402.03300.
- G. Sheng, C. Zhang, Z. Ye, et al. “HybridFlow: A Flexible and Efficient RLHF Framework.” EuroSys 2025.
- J. Yang, C. E. Jimenez, A. Wettig, K. Lieret, S. Yao, K. Narasimhan, O. Press. “SWE-agent: Agent-Computer Interfaces Enable Automated Software Engineering.” arXiv:2405.15793.
相关精读
- 本篇把本专栏连续四十七期的主线再挪一格:此前四十六期回答的是「挑哪些 token、挑哪些轨迹、信用按哪套口径记账、信号被消费时旧了多少、数据分布离基座多远、整条响应有没有资格参与这次更新、策略容量会不会被优化动力学耗光、教师分布里哪些位置允许比较、事后经验除了改行为还能不能改行动之前的那次预测、参考模型的 KL 该从哪条边进组相对更新、教师的意见从哪条通道进 RL、off-policy 校正的记账区间有多长、裁剪区间那两个端点由什么决定、干预落在流水线的哪一环、逐步信用从哪个模型里来、一个已经报出来的增益该怎么拆账、这些信号最终以什么形状落到参数上、结局空间该分成几档、同一笔优势在响应内部怎么分、教师交出来的那笔位移里哪些前缀有资格进损失、这笔信用在更新里当斜率还是当终点、一次迭代该对齐到任务的哪一格」,这一期问的是同一道题被套进不同的执行外壳之后,训练分布该不该把这些外壳也算进去——前面那些期数都在改信号本身,本篇一行损失函数没改,改的是策略与工具之间那一层。
- 精读:给每一次迭代发一张工牌——PAR 的深度-长度对应与范数锚定
- 精读:把回合级信用从斜率换成终点——TreeOPSD 的仿射教师与残差匹配
- 精读:给教师的位移装一道闸门——中间检查点只做证据,不做目标
- 精读:把每个奖励的功劳拆回到它自己读的那几个 token 上
- 精读:GracefulRL——给退避一个中间价,代价是 74% 的题不再作答
- 精读:Ares——把 RLVR 的更新秩交给梯度谱,账本落在截断之后
- 精读:Thinking Leakage——no-think 模式下的 RL 增益有多少是从 think 模式漏过来的
- 精读:LVRL——把价值函数从「训出来的部件」换成「冻结的前沿 LLM」
- 精读:RTI——把干预从优化期搬到采样期
- 精读:GPPO——把 PPO 的裁剪区间拆成「散度」与「估计器」两维
- 精读:TAPO——把状态校正的记账区间从两端挪到前缀
- 精读:Residual Advantage——让教师只重分信用,不改响应总分
- 精读:ZCPO——把参考 KL 从损失支搬进组内系数
- 精读:SRD——把事后回顾蒸成事前先见
- 精读:跨分词器 OPD——把对齐覆盖度补满反而掉点
- 精读:Mesh Learning——把 RLVR 的坍塌解释成策略容量的供需冲突
- 精读:CARM——把响应级掩码的判据从净位移换成双向漂移
- 精读:把 off-policy 专家数据 MCMC 投影成 on-policy 数据
- 精读:GMC-GRPO——把重要性比从逐条裁剪换成整组收缩
- 精读:SCAPO——用「扰动下不动」给 token 记一笔负账
- 精读:ARCUS——prompt 的选择也有一条弧
- 精读:把中间那一步的信号从模型里搬进环境——用沙箱回滚跑出免费过程奖励
- 精读:把特权信息从损失搬到采样器——多轮 agent 里自蒸馏为什么会崩
- 精读:OC-GRPO 与离上下文重要性校正
- 精读:不跑 RL,先把新奖励的结果预测出来
- 精读:给 token 级信用一个唯一解,然后把它求和掉
- 精读:把后训练配方本身当成果,再逐阶段对账
- 精读:STAR-E——按惊讶度给 token 重加权 advantage
- 精读:按梯度可估性给 token 分配蒸馏监督
- 精读:TrimSFT——按 logit 间隔剪掉 SFT 里的低信息 token
- 精读:ESFT 与端点 SFT 对中段推理链的裁剪
- 精读:把中间状态的价值估计整体消掉
- 精读:ActObs——把被 mask 掉的那 45% 观察 token 重新纳入损失
- 精读:SP³O——一条响应里只给三个位置价值监督
- 精读:教师引导的课程 RLVR——把解不出的题变成可解的题
- 精读:DataFlex-RL 与均匀采样的替代策略
- 精读:NGU 与 RL 里的马太效应
- 精读:按排序可分辨性做 RLVR 数据联合工程
- 精读:模型与外壳共演化时的同策略校正
- 精读:OPD-then-RL——顺序摆信号胜过同 step 混信号
- 精读:One-Shot OPD 与状态覆盖吸收率
- 精读:Compile by Training——把 LLM 降级为构建期依赖
- 精读:Terminal-Universe——轨迹反向造环境
- 精读:OPSA——无教师的同策略自适应
- 精读:SPADE——把优化对象从轨迹上移到生成器
- 精读:DART-SD——标注单元从轨迹换成状态图