AKL AI CLUB BETA ← 前沿导读
FRONTIER · 路线之争

让模型自己出题:给点提示才做得出来的题最值钱——但把出题人的训练拿掉,它比完全不训练还低 9.7 分

SPADE: Self-Play in Adaptive Synthetic Executable Environments

Bo Liu、Natasha Jaques 等 华盛顿大学、斯坦福、CMU、MIT、新加坡国立等九所机构的 18 人联合团队 · 通讯作者 Natasha Jaques 是华盛顿大学助理教授,社会性强化学习与人类反馈方向的长期研究者;合著者包括 Luke Zettlemoyer(ELMo、RoBERTa、OPT 作者)与 Yejin Choi · 在 Qwen3 的 4B / 8B / 30B-A3B 三个规模上各跑满 400 步自我博弈训练,代码与检查点全部开源
2026 年 8 月
为什么选它环境供应已是 agent 训练的真瓶颈,一年十亿美元烧的就是这个。这篇第一次把「出题」做成可训练的组件,给了 30B 规模的完整配方和开源代码。更值得看的是消融:拿掉出题人的训练,自生成环境立刻从资产变负债——这比正面结果更说明自我改进的边界。

「前沿实验室一年在训练环境上的预算正在被摆到十亿美元这个量级,专门做环境供应的创业公司融资进到了九位数」——这是 SPADE 这篇论文开头引用的行业现状。为什么是环境?因为模型现在的长进越来越不来自多读一点人类文本,而来自在一个能给出奖励的环境里反复试错;可环境是人一行一行写出来的,写的速度赶不上模型变强的速度。一个模型把现有题库刷完,进步就停在那儿了。这篇论文来自华盛顿大学、斯坦福、CMU、MIT 等九所机构的联合团队,它问的问题只有一句:能不能让模型自己出题。

做法是让同一份权重轮流扮演两个角色——一个「出题人」把训练环境写成可执行的 Python 程序,一个「答题人」在里面作答,两边的梯度更新的是同一个模型。自我博弈本身不新鲜,从 TD-Gammon 到 AlphaZero 走了三十年。真正难的一直是那个老问题:怎么给出题人打分?让它当纯对手,它会出无解的题;让它当队友,它会出送分题。SPADE 的答案是把「这道题值不值得练」变成一个能直接量出来的数:给答题人一句提示它就做出来了,不给提示它做不出来——这个差值有多大,出题人就拿多少分。一句话讲得完,但正是这一句让「自动出题」第一次有了可以优化的目标。

固定题库为什么一定会被刷穿

论文把现有几条路一一点名,理由都很具体。Harness 工程(在推理时靠工具编排、自我纠错来改进 agent 的行为)不改动任何权重,收益锁死在那套手写的 harness 里,换个任务就得重来——这一点和第 16 篇讲的是同一件事,只是这篇站在反方。人工扩充环境的速度受限于人有多少只手。合成生成看着能规模化,但生成器是冻结的,环境空间不随学习者一起长,很快被刷穿。纯自我博弈则受制于「信息对称」——出题的和答题的是同一个脑子,出不了自己也不懂的题。SPADE 想同时绕开这四个坑。

出题人拿多少分,看提示帮了多大忙

核心公式朴素到一句话:出题人的奖励 = 答题人带提示时的平均回报 − 不带提示时的平均回报。三种情形自然分开:差值大,说明这道题正好卡在能力边缘(有提示能做、没提示做不了),是最值钱的训练样本;差值小、两边都做得出,说明已经掌握了;差值小但两边都做不出,说明题本身无解。这实际上是在近似强化学习里的 minimax regret(最小化最坏情况下的遗憾)目标,但不需要再养一个对手模型,那个「带着提示的答题人」自己就充当了上限。

另外两个部件同样关键,管的方向却不一样。一个是语料接地:出题人每一轮动笔前都要先读一批真实的人类文档——游戏那一路用了 DCLM 和 MegaScience 里的 1 万篇数学、5 千篇科学文档,工具使用那一路用了 1.5 万篇 Nemotron 代码语料。不这么做,生成器只能在自己既有的偏好里打转,作者引了一个很贴切的说法叫「隐形的皮带」。另一个是环境记忆:把生成过的环境连同它的 regret 分数和技能标签存下来,下一轮从「答题人现在还做不出来的那些」变化出新题,而不是每次从零想。语料管的是题目的广度,记忆管的是难度,两者各管一头。

还得强调一下这些环境长什么样:不是一道题配一个标准答案,而是完整的 Gym 风格 Python 类——有 reset() 和 step(),有对答题人隐藏的内部状态,有会随动作改变的转移逻辑,还有分档给分的奖励函数,动辄三百多行。训练第 0 步生成的是一个 370 行的《汽车产权纠纷》情景,第 384 步生成的是一个 376 行的热力学循环实验室,后者要求答题人先加热、先测量,再从观测里反推隐藏参数。

涨在哪,和几乎没涨在哪

在 Qwen3-30B-A3B 上跑满 400 步,八个留出基准的平均分从 50.2 升到 58.3,比最强的固定环境基线高 5.3 分;4B 和 8B 上分别是 +5.2 和 +5.7,模型越大领先越明显。工具使用那一路,ACEBench-Agent +13.9、BFCL v4 多轮 +5.7、τ²-bench +3.6。但把这个平均分拆开,涨幅分布极不均匀:Reasoning-Gym 的四类程序化推理题涨了 14 到 18 分,GPQA-Diamond 涨 5.4、LiveCodeBench 涨 4.1,而 AIME 2025 只从 61.5 走到 62.8,AIME 2026 从 73.5 走到 74.4。

论文里最能说明它究竟学到了什么的,其实是一组对话记录。训练第 0 步,模型拿到题先写了 2651 个 token 的完整推导,数学没算错,然后连续 11 轮把命令包在 LaTeX 里提交、次次被环境判为无法识别,一分没拿到。到第 300 步,它先用 7 个 token 试探一下环境,看回来的反馈,第 4 轮就解出来了。它学会的不是更多知识,是「先去问环境,别在脑子里把整道题算完再动手」。

哪一块都拿不掉

消融实验里有一个数比正面结果更值得记:保留自生成环境、但把出题人的训练和环境记忆一起拿掉,八项平均分掉到 40.5,比完全不训练的基座还低 9.7 分。改用更强的 GPT-5.5 离线生成一个带语料接地的固定池,确实好过基座(53.0 对 50.2),但只拿回 SPADE 涨幅的约三分之一,代码那一项甚至倒退。语料接地的效果更直接:有语料时环境多样性(Vendi/n)是 0.68,没有语料只有 0.04——生成器塌成了一小撮几乎一样的程序。还有个细节能看出出题人真的在变刁:物理类环境里,开场白直接把控制方程印出来的比例,从 25% 降到了 5%。

这篇最值得盯的数字不是 +8.1,而是它分布得有多不均匀。Reasoning-Gym 那四类涨了十四到十八分,AIME 只动了一分多一点。Reasoning-Gym 本来就是程序化生成的多轮解谜题,跟 SPADE 自己造的环境几乎是同一个物种;AIME 要的是知识和长链推导,而自我博弈从头到尾没往模型里灌进任何新知识。所以更准确的说法是:SPADE 训出来的不是一个更聪明的模型,是一个行为被改掉了的模型——从「在脑子里把整道题算完再动手」改成「先去戳一下环境」。GPQA 涨 5.4、LiveCodeBench 涨 4.1 说明这个行为确实能迁到真任务上,这已经很有价值;但谁要是把「平均涨 8.1」读成「模型变强了 8.1」,那就读错了。这和第 42 篇是同一个调子:把规则告诉它,和让它自己去试,考的根本不是同一件事。

论文里信息量最大的其实是那个负数。保留自生成、只拿掉出题人的训练和记忆,成绩比完全不训练还低 9.7 分。这句话该被单独拎出来讲:自己造的训练数据不是白捡的,在没有东西持续把难度往上顶的时候,它是负资产——模型会一遍遍出自己早就会做的题,然后在上面把自己练坏。Jack Clark 把 SPADE 归进「递归自我改进」那一栏,我倒觉得这个消融正好是它的反证:整套飞轮吊在一个很脆的标量上,出题人一停训,转向立刻反过来。

还有一条作者自己写进局限、但很容易被跳过:出题人写不出比它的基座模型更复杂的环境。把这条和「有语料 0.68、没语料 0.04」的多样性数据放在一起看,结论就清楚了——真正提供新意的仍然是人类语料,SPADE 做的是把一堆静态的人类文档,改写成可执行、能给奖励、还会随学习者一起变难的交互任务。这不是机器越过人类自我引导,是一台把预训练语料转换成训练环境的机器,效率很高,故事没那么大。考虑到「环境」这门生意现在一年要烧掉十亿美元,这台机器的价值本来也不需要靠故事撑着。
自我博弈强化学习训练环境自我改进合成数据
去读原文 本文是原创导读,不是原文翻译——真正的细节、证据和微妙之处都在原文里。 原文arXiv · SPADE: Self-Play in Adaptive Synthetic Executable Environments → 代码GitHub · spade-rl/spade(训练代码与模型检查点)→

本文为 AKL AI Club 原创撰写的导读,不是原文翻译;著作权归原文作者所有。 篇目由编辑独立选取,来源均经人工核实。