SPADE:自适应合成可执行环境中的自我博弈

SPADE: Self-Play in Adaptive Synthetic Executable Environments

arXiv: 2608.19197v1

论文信息

标题: SPADE: Self-Play in Adaptive Synthetic Executable Environments

作者: Bo Liu, Simon Yu, Yiding Jiang, et al.

发布日期: 2026-08-19

arXiv ID: 2608.19197v1

PDF 链接: 下载 PDF

3 分钟速览

  • 研究问题:这篇论文要解决语言智能体训练中 “训练环境池固定、不会随学习者进步而扩展” 的瓶颈,目标是让环境生成本身成为可学习的后训练组件。
  • 核心方法:用一个 LLM 同时扮演环境设计者(生成可执行的 Gym 风格 MDP 代码和特权提示)和推理代理;环境设计者的奖励是代理带提示与不带提示回报差,即 hint-based regret。
  • 关键结果:在 Qwen3-30B-A3B 上,SPADE 在 8 个保留基准上的平均得分较基础模型提高 8.1 分,较最强固定环境基线高 5.3 分;工具使用场景下 ACEBench-Agent 提高 13.9 分(表 1、表 2)。
  • 主要局限:作者承认环境复杂度受模型规模和生成预算限制,两个角色仍由人工设计的 GRPO 更新,且缺少形式化的课程最优性证明;评估仍集中在固定任务基准(论文第 9 节)。
  • 适合读者:从事 LLM 后训练、强化学习、智能体环境合成或自博弈课程设计的研究者和工程师。

论文背景和研究动机

语言模型的能力提升越来越依赖 “从经验中学习”,而不是单纯扩大预训练语料。交互式训练环境,尤其是带有可验证奖励的任务,成为稀缺资源。论文指出,工业界对环境池的投入已经非常可观,但无论是人工构建、静态合成,还是使用冻结验证器的环境,都存在同一个问题:环境分布不会随学习者能力变化,代理在耗尽固定任务后停止进步。

已有的自博弈方法试图让模型同时承担出题者和解题者,但多数只生成单轮任务,带有稀疏终止奖励,难以覆盖多轮状态转移、奖励函数和验证逻辑组成的完整 MDP。无监督环境设计虽然提出 regret 驱动的课程生成,但通常只在参数化的小型环境空间中搜索,不能直接扩展到代码定义的开放环境。SPADE 的出发点是将环境设计从 “从固定空间中选择” 变成 “开放空间中的生成”,并让设计者本身通过强化学习与推理代理共同进化。

核心方法和技术细节

SPADE 的核心是一个共享参数 LLM 扮演两个角色:环境设计者(Environment Designer, ED)和推理代理(Reasoning Agent, RA)。环境设计者生成完整的可执行 Python 程序,程序实现 Gym 风格 reset() / step() 接口,因此每次环境都是一个完整 MDP,包含状态转移和奖励函数。论文强调,任何可计算 MDP 都能写成程序,所以这个设计空间不受人工参数化限制。

环境设计者同时为每个环境生成一个特权提示 hh。推理代理在相同环境下分别进行带提示和不带提示的 rollout:rˉA(e∣h)\bar r_A(e \mid h) 是带提示平均回报,rˉA(e)\bar r_A(e) 是不带提示平均回报。环境设计者的 hint-based regret 奖励定义为

rD(e)=rˉA(e∣h)−rˉA(e).r_D(e) = \bar r_A(e \mid h) - \bar r_A(e).

该信号对应三种状态:高 regret 表示环境处于能力前沿;无提示和带提示都成功说明已经掌握;带提示也失败则说明任务当前不可解。论文在附录 E 给出形式化分析:在若干理想化假设下,纯纳什均衡意味着推理代理在每个有效环境上都达到无提示最优。论文指出,hint-based regret 是 PAIRED 中 minimax regret 的轻量估计,但不需要单独训练对手。

训练使用 GRPO。两个角色共享参数,但优势函数分别标准化:代理回报按环境内 rollout 标准化,设计者奖励按技能内均值中心化。因为设计者更新延迟于环境生成,论文使用截断重要性采样修正离策略梯度。最终部署的设计者奖励混合了归一化后的 regret 和难度锚:难度锚奖励落在目标胜率区间中的环境。

环境设计不是无约束生成。论文让学生设计者从预训练语料库中采样文档作为种子:游戏场景使用 1 万数学文档和 5 千科学文档;工具使用场景使用 1.5 万代码文档。环境记忆则保存历史环境及其 regret 和技能标签,帮助设计者从不重复已掌握的任务。生成的环境必须通过语法和可执行性验证;工具使用环境还增加确定性 reset 检查与可解性 LLM 检查。

创新点和贡献

论文总结了四项贡献:第一,将环境生成与代理能力训练融合为单模型自博弈,用代码表示环境统一单轮推理和多轮工具调用;第二,提出 hint-based regret 作为设计者奖励,使环境设计者既不能生成不可解任务,也不能只用简单任务讨好代理;第三,通过语料接地和环境记忆维持生成多样性;第四,在 30B 以上模型规模验证了完整训练配方,覆盖模型验证、奖励作弊规避和课程设计。

与 SPIRAL、SPICE 等早期 LLM 自博弈方法的区别在于:SPADE 生成的是完整多轮 MDP,而不是只有终端奖励的任务。与强化学习中的 UED 相比,SPADE 的设计者不是从预设参数化空间中选环境,而是自己写程序。与 AgentScaler、EnvScaler 等合成数据系统相比,SPADE 的环境生成器本身在线训练,而不是冻结。

实验结果分析

在游戏设定下,论文训练 Qwen3 的 4B、8B、30B-A3B 三个骨干模型,并与 Fixed-env RLVE 和 Fixed-env GRPO 两个固定环境基线比较。评估涵盖 AIME 2025/2026、GPQA-Diamond、LiveCodeBench-v6 以及 Reasoning-Gym 的四类认知技能。论文报告,在 30B-A3B 上 SPADE 的八基准平均为 58.3,较基础模型 50.2 高 8.1 分,较最强固定环境基线 53.0 高 5.3 分(表 1)。在 4B 和 8B 上相对基础模型的增益分别为 5.2 和 5.7 分,而 Fixed-env GRPO 在三个规模上都约为 1.2 分(图 13)。需要注意的是,这些数字来自该实验使用的八个保留基准,不代表所有任务上的普遍提升。

工具使用场景下,SPADE 在 BFCL v4 多轮、τ2\tau^2-bench 和 ACEBench-Agent 三个评估上均有提升。论文强调,与论文中转录的合成环境系统不能直接做严格公平比较,因为训练数据、预算和部分基础模型不同(附录 F.3.1)。在相同骨干下,SPADE 的 30B-A3B 工具使用模型在 ACEBench-Agent 上较基础模型高 13.9 分,BFCL v4 多轮高 5.7 分(表 2)。

消融实验显示,完整配置的八基准平均为 58.3;去掉环境记忆为 53.2;去掉语料接地为 53.5;冻结自博弈设计者并去掉记忆降至 40.5,低于基础模型 9.7 分;替换为冻结的 GPT-5.5 设计者则为 53.0(表 3)。在环境设计者奖励方面,hint-based regret 带来 +8.1 的增益,而 EMA 学习潜力信号达到约 70% 的增益,即 +5.7(图 12、表 6)。这些结果表明,在论文实验设置下,设计者自适应和奖励形式都有影响。

定性分析方面,论文报告可学习环境占比在训练后期上升到约三分之一(图 7)。语料接地显著维持多样性:Vendi/n 在带语料时为 0.68,不带语料时仅为 0.04,并且无语料运行曾在 290 到 312 步之间连续 41 次生成同一个旋转迷宫任务(图 8、图 9)。推理代理行为也发生变化:从早期一次性推导、无法从接口错误中恢复,到后期先探测证据再推导(图 10)。论文还观察到环境难度在代码层面的变化,例如物理环境中开头直接披露公式的比例从 25% 下降到 5%(图 9)。

实践建议

如果要复现或在该框架基础上构建自适应训练系统,论文给出的几个稳定化手段值得优先保留:每个角色独立标准化优势函数;设计者更新延迟到环境组被完整评估之后;使用截断重要性采样修正离策略梯度;对 regret 信号取非负下限,并与难度锚混合。没有这些组件,双角色联合 GRPO 容易失稳。

语料接地和记忆不应被省略。论文中的无语料消融直接导致生成多样性近乎崩溃,且产生连续重复任务。实践中可以从高质量代码库、数学或科学文档中采样种子,同时保存带有 regret 分值的历史环境作为正负样本。环境验证必须严格:至少包括语法、可执行性和确定性 reset 检查;工具使用环境还要验证每一步的合理性。

对于工具使用类智能体,SPADE 的收益在该实验设置下与任务结构和生成环境越接近就越大,因此可以优先把自适应环境合成用于状态化、多步交互的场景,而不是单步函数调用。规模方面,论文在 30B-A3B 得到最佳效果,并显示固定环境基线收益随模型规模变化不明显,但自适应环境的收益随规模增长。作者推测,更复杂的环境生成仍受模型规模和生成预算约束,因此在未证实前不要假定扩大规模会自动持续提升。

最后,hint-based regret 依赖带特权提示的额外 rollout,会比单纯使用代理已有轨迹的 EMA 信号更昂贵。如果计算预算有限且任务域较宽,可以考虑先用 EMA 学习潜力信号做早期筛选,但论文的消融实验表明,在相同训练预算下它比 hint-based regret 的最终效果低。更完整的实现与配置可参考 SPADE 代码库 和 项目页。