SPADE: Self-Play in Adaptive Synthetic Executable Environments
Bo Liu, Simon Yu, Yiding Jiang, Ao Qu, Andrew Zhao, Zichen Liu, Junsu Kim, Zijian Zhou, Seungone Kim, Tongzheng Ren, Mickel Liu, Hanfei Yu, Zhaorun Chen, Weiyan Shi, Paul Pu Liang, Luke Zettlemoyer, Yejin Choi, Natasha Jaques
cs.CL, cs.AI
2026-08-20
同一模型既写可执行 Gym 环境又在里面学习。30B 上八项推理基准平均比最强固定池高 5.3 分,工具调用 ACEBench-Agent 再高 13.9。
智能体继续变强,卡点已经从预训练文本转到可验证训练环境。人手写跟不上。静态合成或冻结生成器也跟不上:环境分布固定,模型把这一池学会就停。现有自博弈大多只出「一道题加一个终局奖励」,不是带状态转移、奖励函数和校验代码的完整多轮 MDP。
SPADE 把环境设计做成可学习的后训练组件。同一个 LLM 轮流当 Environment Designer 和 Reasoning Agent。前者用 Python 写出带 Gym 风格 reset()/step() 的可执行环境,后者在里面行动并拿可验证奖励。
单模型双角色,权重共享,用 GRPO 一起更新。
Environment Designer 每轮写出一套完整环境:状态转移和奖励都写在 step() 里,同时附一条特权提示(关键思路或策略,禁止直接给答案)。Reasoning Agent 对每个环境打两套 rollout:不看提示、看提示。提示带来的平均回报差就是 hint-based regret,当作设计端奖励。高 regret 表示带提示能做、不带提示做不了,正好卡在能力边界;两边都高说明已经会了;两边都低说明环境不可解。
纯对抗会把环境做成不可解,纯合作会灌水抬分。hint-based regret 夹在中间。训练时还叠一层难度锚:Reasoning Agent 胜率落在 0.4–0.6 区间才给满奖励,权重 0.6,regret 权重 0.4,regret 下限截到 0。
两个稳定技巧:两个角色的优势函数分开归一化;设计端更新推迟 k 个 rollout,用 truncated importance sampling 纠正 off-policy。候选环境先过语法和可执行检查才进池。
自博弈容易围着自己的偏好转圈。每轮设计端都读一份新采样的预训练语料:游戏设定用 DCLM 和 MegaScience 的 1 万篇数学加 5 千篇科学,工具调用设定用 Nemotron 代码语料 1.5 万篇。另外挂一个环境记忆,存过去环境的 regret 和技能标签,高 regret 当种子改写,太易或太难当负例避开。
三个 Qwen3 骨干,各训 400 步。游戏设定对照两个固定环境基线:官方 RLVE 的可验证环境池,以及 GPT-5.5 一次生成后冻结的池。八项 held-out 基准覆盖竞赛数学、科学、代码和 Reasoning-Gym 四类程序推理。
| 模型 | 八项均值 | 相对基座 |
| Qwen3-30B-A3B 基座 | 50.2 | 0 |
| Fixed-env GRPO | 51.4 | +1.2 |
| Fixed-env RLVE | 53.0 | +2.8 |
| SPADE | 58.3 | +8.1 |
30B 上 SPADE 比最强固定池高 5.3 分。增益集中在程序推理:Reasoning-Gym 数学 45.0→63.3,算法 18.0→32.1,认知 23.0→37.7。GPQA-Diamond 70.4→75.8,LiveCodeBench-v6 43.2→47.3。AIME 基本持平略升。固定池 RLVE 在 30B 上把 AIME 2025 从 61.5 拉到 56.9。
工具调用同一套配方。30B 上 BFCL v4 多轮 49.0→54.7(+5.7),ACEBench-Agent 62.0→75.9(+13.9),τ²-bench +3.6。增益大小跟生成环境的结构有多像评测任务成正比:有状态、多步工具调用的 ACEBench 最大。
消融(30B 游戏设定八项均值):去掉记忆 53.2,去掉语料 53.5,冻结设计端并去掉记忆 40.5(比不训练还差 9.7),换成冻结的 GPT-5.5 设计端 53.0,hint-based regret 换成 EMA 学习潜力信号 55.9。无语料时多样性塌掉,Vendi/n 从 0.68 掉到 0.04,有一段连续 41 次生成同一个旋转迷宫。六技能课程 58.3,两技能只有 53.7。
后训练环境正在变成贵且稀缺的资产。SPADE 证明环境生成器不必冻结:设计端可以跟解题端一起做 RL,而且在 30B 规模上跑通了。固定池在大模型上很快被拟合,自适应课程还在出新题。游戏环境练出来的规划、约束满足,能迁到没见过的数学、科学和代码。工具调用侧,结构对上的评测涨得最多。
这是渐进、可复用的工程路线,不是换一种学习算法。优化器仍是人写的 GRPO。
作者自己列了三条。设计端写不出超出基座上下文表达能力的环境,复杂度被模型规模和生成预算卡住。学习规则本身不进化。hint-based regret 从 PAIRED 的 minimax regret 借来直觉,没有最优课程证明;评测仍是固定任务,不是开放式能力增长。
另外几处读下来站不住或没验证。4B 和 8B 上 regret 估计长时间为负,提示会误导当前策略,虽然这两档相对基座仍有 +5.2 和 +5.7。工具调用对照 AgentScaler、EnvScaler 等是从原论文抄分,训练数据和协议不完全对齐。游戏设定的 held-out 增益很大一块来自 Reasoning-Gym,跟训练时的认知技能分类更近,OOD 幅度要打折看。固定 GPT-5.5 设计端也只收回 SPADE 增益的约 35%,代码几乎没动,说明更强的冻结生成器替代不了共进化。