ClawGym II 在 model-serving boundary 截获真实 token 与 log-prob,再把零散调用恢复成 prefix tree。Harness 继续负责工具、上下文和重试,trainer 只接收可归因的轨迹与 reward。
白盒 agent loop 容易训练,完整 harness 才接近真实使用
Claude Code、OpenClaw 会自己构造 prompt、执行工具、重试、调用 subagent、压缩上下文。把它们重写进训练框架,会改变 policy 实际面对的交互分布。
训练框架看见全部 control flow
可以直接定义 state、action、tool loop 和 credit assignment,但部署 harness 的行为被替换了。
只观察模型 API
Harness 内部逻辑保持不动;可见的是一次次 model call 和最终 workspace。
让 reward 回到正确 token
必须恢复长轨迹、过滤辅助分支,并保留 rollout 时的 token 与概率。
训练系统不读 harness 内部状态,只守住所有生成都经过的模型端点
一个 rollout 的数据怎样从任务走到梯度
重试、compaction 和 subagent 会把一次 rollout 分成多个分支
同一棵树里的 leaf 并不都该拿到最终 reward
Retry dead leaf
格式错误后的旧尝试没有后续,被重试替代。
过度分叉
leaf 超过预设阈值时,整次 rollout 被视为异常。阈值未披露。
Compaction / subagent
它们的角色与主任务不同,直接广播终局 reward 会混淆 credit。
Main-agent paths
保留有效 root-to-leaf 路径,共享 prefix 在一个 rollout 中只计一次。
同一 task 的多个 rollout 先做组内标准化,再把 advantage 写回树节点
分组单位
同一 task 下的 n 个 rollout。
优势单位
每个 rollout 一个 Âᵢ,而不是每个 branch 一个 reward。
仍未解决
同一 rollout 内各分支到底贡献了多少,终局 reward 无法区分。
PPO 把 sibling branches 分开回传,γ = λ = 1
每条 trajectory 在自己的末 token 收到 rollout reward,再独立做 GAE backup。优势不穿过 branch point 传到 sibling。
实现简单,方差与 bias 要自己承担
critic 要从很早的中间 state 预测长程回报;没有 temporal discounting。论文把更完整的 tree-aware credit assignment 留给后续工作。
token-in-token-out 保留原始采样序列,importance correction 修正概率偏差
同题在不同 harness 下不能放进同一 advantage group
GPT-5 生成任务与 workspace,GPT-5.4 做质量复核
9 大类、43 个子类
GPT-5 根据 persona 与 7 类、26 种 atomic operations 生成任务,再生成 mock workspace、Python checker 和 rubric。
约 30K skills → 约 16K
MiniMax-M2.5 先标注 ClawHub skills。每题使用 1 个主 skill,最多搭配 3 个辅助 skills,再由 GPT-5 生成任务。
GPT-5.4 四项检查
plausibility、difficulty、checker alignment,以及 rubric 是否只补 code checker 不擅长判断的维度。
50 题人工抽样
四维平均 4.06 / 5。论文没有给多标注者一致性,也没有披露全量人工复核。
先用模型成功率找出“强模型能做、小模型仍难”的题,再交给人复核
志愿者污染修复团队:从数据文件产出四个同步更新文件
Prompt + workspace
data/tasks.csv、data/updates.jsonl、原始公告、summarizer 和公开 tests。Agent 可运行命令并修改 workspace。
交付:summary JSON、pytest 输出、weekly status report、announcement rewrite。
Reward 与 rubric
reward/test.py、两条 rubric 和 judge prompt 不暴露给 Agent。rollout 结束后,评测器在最终 workspace 上运行。
本题由合成管线生成,并由 benchmark 筛选流程复核,不是现实志愿组织人工编写。
代码分数衡量的是完成度,每条 assertion 各占 1/15
# official reward/test.py scores = { "summary_json_exists": 0.0, "tests_all_passed": 0.0, "status_report_title_correct": 0.0, "highlights_top3_correct": 0.0, ... # 15 metrics total } if wc < 120: scores["announcement_under_120_words"] = 1.0 return scores
ann_text="",word count 是 0,under_120_words 仍会得 1。客观约束交给代码,语气与 actionability 交给 rubric
GRPO 和 PPO 每次 update 都消耗 256 条 rollout,但看见的任务多样性不同
32 tasks,每题 8 rollouts,用组内相对 advantage。
256 tasks,每题 1 rollout,另需预训练 value model。
更长轨迹由 harness 自己做 context management。
OpenClaw 从 ClawII-Cold 开始;Claude Code 从 Qwen3 base 开始。
在对应 harness 内训练后,ClawGym-Bench 与 PinchBench 都提高
同一 pipeline 能迁移,但训练 harness 仍留下明显偏好
贡献主要在“黑盒轨迹恢复 + 原生 harness + tree-aware optimization”的组合
| 工作 | 保留原生 harness | 训练信号怎样接入 | ClawGym II 的边界 |
|---|---|---|---|
| ClawGym | OpenClaw 数据与 benchmark | 合成任务、checker、rubric 和 cold start | ClawGym II 复用数据资产,新增在线 RL 桥接。 |
| POLAR / OpenForgeRL | 是 | model API boundary | 同属 harness-native RL;本文重点是 prefix tree 与 forked trajectories。 |
| Dressage | 面向多 Agent / sandbox | 可扩展 rollout infra | 更偏通用系统基础设施,本文给出 OpenClaw / Claude Code 的树恢复算法。 |
| LEGO-RL | 是 | proxy + sandbox + verifier + routing replay | LEGO-RL 更强调工程完整性;ClawGym II 更细讲黑盒分叉轨迹和 PPO / GRPO。 |
| White-box AgentLoop | 否 | 训练框架直接控制 loop | 更易 credit assignment,但与部署 harness 有分布差异。 |