用游戏求解器给 LLM 当"回合级老师":CAST 如何解决长程决策的信用分配难题
你有没有发现一个很反直觉的现象——那些动辄几千亿参数的闭源大模型,在推箱子(Sokoban)、扫雷(Minesweeper)这种经典小游戏上,表现居然还不如一个专门写好的搜索算法?

图1:左图展示多个闭源 LLM 在经典游戏上的成功率,即使是 Opus-4.6 也远未达到求解器 100% 的水平;右图对比 GRPO 和 CAST 的信号差异——GRPO 整条轨迹共享同一个 advantage 值,而 CAST 通过求解器给出每一步的精细信号
这不是模型不够聪明的问题。真正的问题是:当你用强化学习训练一个 LLM 智能体去玩长程游戏时,奖励信号太稀疏了。游戏结束才告诉你赢没赢,但中间几十步里哪步走对了、哪步走错了?完全不知道。这就是 RLVR(Reinforcement Learning with Verifiable Rewards)领域最核心的痛点——信用分配(credit assignment)。
这篇论文(arXiv 2607.25308)提出了一个让我觉得"确实该这么做"的方案:既然游戏有现成的求解器能精确评估每个状态的价值,为什么不直接让求解器当老师,给每一步动作打分?
核心摘要
CAST(Credit Assignment from Solver Teachers)的核心思路一句话就能讲清楚:利用游戏求解器的状态价值函数,计算每一步动作带来的 cost-to-go 变化量,作为 turn-level 的 advantage 信号注入到 RLVR 训练中。作者还证明了一个漂亮的理论结果:在 soft-optimal solver 假设下,最大化这个 solver advantage 数学上等价于不需要 teacher logits 的 on-policy distillation(在线策略蒸馏)——一个标量就够了,不用知道求解器的完整动作分布。
效果上,CAST 在 Sokoban、Minesweeper、Rush Hour 三个游戏的 in-domain 和 unseen-difficulty 设置下全面超越所有 trained baseline(GRPO/GSPO/DAPO/GiGPO),平均 ID 成功率从 DAPO 的 44.7% 提升到 62.1%,涨了 17.4 个点。零样本迁移到 ALFWorld 和 WebShop 也拿到了最高分。训练效率提升 1.7-2.0 倍,求解器开销仅占训练总时间的 73 ppm(百万分之七十三),基本可以忽略不计。
我的判断:这是一篇工程直觉和理论优雅结合得很好的工作。它没有发明全新的算法框架,而是把一个显而易见但没人系统做好的想法——用求解器提供过程监督信号——做到了理论严谨、实验充分、工程实用。对做 Agent RL 训练的人来说,这个思路值得直接借鉴。
论文信息
| 项目 | 内容 |
|---|---|
| 标题 | CAST: Game Solvers as Turn-Level Teachers for LLM Agents |
| 作者 | Yu Wang, Yi-Kai Zhang, Wentao Shi, Ziang Ye, Yuchun Miao, Yueqing Sun, Qi Gu, Xunliang Cai, Lan-Zhe Guo, Han-Jia Ye, Fuli Feng |
| 日期 | 2026-07-28 |
| 链接 | https://arxiv.org/abs/2607.25308 |
| 代码 | https://github.com/Wloner0809/CAST |
问题动机:RLVR 在长程游戏上的死穴
稀疏奖励的信用分配困境
先说清楚问题在哪。RLVR 的基本范式是:LLM 生成一条轨迹 → 环境返回 0/1 终端奖励 → 用 policy gradient 更新参数。这在单轮任务(比如数学题验证)上很好使,因为轨迹短、反馈即时。
但到了长程游戏就崩了。一局 Sokoban 可能要走 100 多步,中间每一步的 action 都影响最终胜负,但终端奖励只有一个标量——赢了是 1,输了是 0。GRPO 把这个标量均分到轨迹里的每一个 token 上,意味着:
无论你在第 3 步走了神来之笔还是昏招,只要最终赢了,所有步骤得到的 credit 完全一样。
这就像考试只看总分,不看你哪道题答对了。你根本不知道自己哪里进步了、哪里退步了。
现有方案的尴尬
论文梳理了几类试图缓解这个问题的思路:
- 搜索增强(如 MCTS):计算开销大,每步都要跑一遍搜索
- 学习 PRM(Process Reward Model):需要额外标注或训练一个过程奖励模型,本身就有冷启动和准确性问题
- 跨轨迹比较(如 GiGPO):通过组内比较生成过程信号,但依赖同批次内的相对排序,信号质量不稳定
这些方法要么贵、要么不准、要么两者兼有。
论文的观察:求解器就在那里
说实话我第一反应是——这不就是 SFT on solver trajectory 吗?用求解器生成的专家轨迹做监督微调?
但作者指出了一个关键局限:SFT 只能让模型学到"专家会访问的状态"上的行为,一旦模型在交互中偏离了专家轨迹(这在 RL 探索中必然发生),SFT 就完全帮不上忙了。你需要的是一个on-policy 的信号——不管模型走到哪个状态,求解器都能告诉它"从这儿出发,你这步走得怎么样"。
而这个能力,恰好是任何完备的游戏求解器天然具备的。
方法核心:把求解器的价值变化变成 advantage
从 cost-to-go 到 solver advantage
CAST 的起点是一个简单的观察:求解器能完成从任意状态的通关,因此它能给每个状态赋予一个 cost-to-go 值 N(s)——从这个状态到胜利最少还需要多少"工作量"。对于不同的游戏,N(s) 的具体含义不同:
- Sokoban / Rush Hour:最少还需多少步操作
- Minesweeper:最少还需点开多少个安全格子
那么对于 LLM 在状态 s_t 下采取的动作 a_t,一个自然的评分就是:
这个式子的含义非常直观:如果这步动作让 cost-to-go 减少了,说明走对了;增加了说明走错了;不变说明白费功夫。最优动作减少 1 步,得 +1;无效动作得 0;有害动作得负分。进入无解死状态则惩罚 -N(s_t)。
两个关键的信号塑形步骤
原始的 solver advantage 直接拿来训练有两个问题:
- 重尾分布:绝大多数动作的 advantage 是 0 或 ±1,但偶尔出现的死状态惩罚可能高达几十,几个极端值就会主导梯度
- 跨游戏尺度不一致:简单棋盘的 cost-to-go 只有几位数,复杂的可能有几十
论文给了两个轻量级的解决方案:
asinh 压缩: $\(g(x) = \text{asinh}(x) = \ln(x + \sqrt{x^2 + 1})\)$ 选 asinh 而不是 log 是因为它在整个实数域都有定义且奇对称,完美保留了正/负/零的语义区分。小信号区域近似线性(保留分辨力),大信号区域对数压缩(抑制极端值)。
Batch-level RMS 归一化: $\(h(x) = \frac{g(x)}{\text{RMS}_{\mathcal{B}}(g) + \epsilon}\)$ 注意这里除以 RMS 但不减均值——这是故意的。均值不为零会破坏"零 = 无进展"的语义锚点,导致正负号信息丢失。
和 GRPO/DAPO 的融合

图2:CAST 方法概览。上半部分是 GRPO 原有的 trajectory-level sparse signal 流程;下半部分新增了 Solver as Teacher 的 dense signal 路径——对轨迹 i 中每一步 t,查询求解器获取 Q^Solver 和 V^Solver,计算 shifted solver advantage,经 asinh + RMS 归一化后与 outcome advantage 加权融合
最终的 combined advantage 公式:
三个粒度在这里交汇: - \(\hat{A}^{\text{outcome}}\):trajectory-level,整条轨迹共享,锚定全局输赢 - \(h(\tilde{A}^{\pi_{\text{Solver}}})\):turn-level,逐步变化,细化内部信用分配 - 最终广播到 token-level,因为 GRPO 本身在 token 粒度优化
\(\alpha = 0.1\) 是默认权重,控制求解器信号的强度。
理论亮点:为什么不需要 teacher logits?
这是全文最让我觉得漂亮的部分。
传统蒸馏需要 teacher 的完整输出分布(logits),但经典求解器只返回最优动作或标量 cost-to-go,根本没有分布可言。那怎么蒸馏?
作者的洞察是:如果把求解器看作一个 soft-optimal 策略 \(\pi_{\text{Solver}}(a|s) \propto \exp(Q^{\pi_{\text{Solver}}}(s,a)/\tau)\),那么取 log 就得到:
solver advantage 就是 teacher 对该动作的 log-preference! 一个标量已经编码了老师的全部偏好信息。
基于此,论文证明了 Theorem 2.1:CAST 的 policy gradient update 等价于同时最大化任务回报和最小化与求解器的交叉熵——这正是 OPD(On-Policy Distillation)的目标函数,只不过蒸馏项用的是 scalar advantage 而非 full logits。
更妙的是,这个等价性还解释了为什么学生可以超过老师:最优策略的形式是 \(\pi^*(a|s) \propto \pi_{\text{Solver}}(a|s) \exp(A^{\text{task}}_{\pi_\theta}(s,a)/\beta)\)——求解器分布作为先验,任务 advantage 作为修正项。当 \(\beta\) 有限时,任务回报高的地方允许偏离求解器,学生就能在特定场景下超越老师。
实验结果:全面领先,迁移也行
主实验:三个游戏的全维度碾压
实验在 Sokoban(长程规划)、Minesweeper(部分可观测推理)、Rush Hour(约束组合搜索)上进行,基础模型统一使用 Qwen3-4B-Instruct-2507。对比了三类 baseline:
- 闭源模型 ReAct prompting:Gemini 2.5 Flash/Pro、Claude Sonnet/Opus 4.5/4.6
- Outcome-only RLVR:GRPO、GSPO、DAPO(CAST 的 backbone)
- Process-level:GiGPO(跨轨迹比较)
| 方法 | Sokoban ID/Unseen | Minesweeper ID/Unseen | Rush Hour ID/Unseen | 平均 ID / Unseen |
|---|---|---|---|---|
| ReAct (frozen) | 44.3 / 16.8 | 4.5 / 0.4 | 1.1 / 0.5 | 16.6 / 5.9 |
| GRPO | 71.3 / 30.5 | 9.7 / 0.5 | 53.8 / 26.7 | 44.9 / 19.2 |
| GSPO | 72.6 / 28.3 | 28.2 / 5.0 | 24.8 / 11.5 | 41.9 / 14.9 |
| DAPO | 71.9 / 31.3 | 29.8 / 7.3 | 32.5 / 17.4 | 44.7 / 18.7 |
| GiGPO | 70.6 / 29.6 | 13.7 / 1.4 | 51.9 / 31.3 | 45.4 / 20.8 |
| CAST (Ours) | 77.0 / 34.8 | 44.7 / 11.0 | 64.7 / 39.5 | 62.1 / 28.4 |
| Opus-4.6 (closed) | 82.5 / 51.5 | 64.6 / 55.3 | 92.6 / 85.3 | 79.9 / 64.0 |
表1:主实验结果。Avg@4 成功率 (%),粗体为最佳,下划线为次佳。CAST 在所有 trained 方法中全面领先
几个值得关注的细节:
Minesweeper 的提升幅度最大:ID 从 DAPO 的 29.8% 飙到 44.7%,涨了 14.9 个点。这其实合理——Minesweeper 是部分可观测环境,信用分配最难,solver signal 的边际收益自然最大。
Unseen-Difficulty 还有很大空间:CAST 在更难关卡上的平均只有 28.4%,离闭源模型的 64% 差得远。这说明泛化到更高难度仍然是 open problem,不是光靠更好的信用分配就能解决的。
4B 模型超过了部分闭源的 ReAct 表现:CAST 在 ID 上的平均 62.1% 已经超过了 Gemini-2.5-Flash(58.7%)和 Claude-Sonnet-4.5(50.4%)的 ReAct 分数。这说明在这个设定下,合适的训练范式比单纯堆模型规模更有效。
训练动态:又快又稳

图3:三个游戏的训练曲线。上排为验证集 Avg@4,下排为训练 reward。虚线标注 DAPO 的峰值性能,竖线标注 CAST 和 DAPO 首次达到该峰值的步数。CAST 在 Sokoban/Minesweeper/Rush Hour 上分别只需 120/200/140 步即达到 DAPO 峰值,对应 1.7×/2.0×/1.7× 的加速
训练曲线透露出几个有意思的信息:
- Minesweeper 和 Rush Hour 上 CAST 一骑绝尘:这两个游戏本身就难,solver signal 的帮助最明显
- Sokoban 上 CAST 领先优势出现较晚:这可能是因为 Sokoban 相对简单,outcome-only 的 GRPO 类方法也能学到不错的策略,solver signal 的优势要在训练后期才体现出来
- DAPO 和 GSPO 在后期都出现了 validation drop:这是 RL 训练中常见的 overfitting/reward hacking 现象,而 CAST 的曲线更平稳
零样本 OOD 迁移:意外之喜
| 方法 | ALFWorld 平均 | WebShop 平均 | Overall |
|---|---|---|---|
| ReAct (frozen) | 30.2 | 18.8 | 24.5 |
| GRPO | 27.2 | 17.5 | 22.4 |
| GSPO | 32.1 | 17.3 | 24.7 |
| DAPO | 30.4 | 16.6 | 23.5 |
| GiGPO | 30.9 | 17.9 | 24.4 |
| CAST (Ours) | 37.9 | 22.7 | 30.3 |
表2:零样本 OOD 迁移结果。CAST 在 ALFWorld 和 WebShop 上的平均分分别比最强 baseline 高 5.8 和 4.8 个点
这个结果挺让人意外的。CAST 只在三个经典游戏上训练过,完全没有见过 ALFWorld(具身智能任务)和 WebShop(网页购物任务),但迁移效果反而最好。
我的理解是:solver signal 让模型学到了更通用的"规划-执行-纠错"能力,而不是仅仅 memorize 特定游戏的走法。这种通用的决策能力恰好能迁移到其他需要多步推理的 Agent 任务上。
不过坦率讲,这里的绝对分数都不算高(ALFWorld 37.9%、WebShop 22.7%),距离实用还有不小差距。迁移的方向是对的,但幅度有限。
消融实验:每个设计选择都有道理
Solver advantage 权重 α

图4a:不同 α 值下的验证集 Avg@4 曲线(Sokoban)。α=0.1(红色)表现最优且稳定;α 太小退化为 outcome-only baseline;α 过大则 early peak 后下降,training reward 也变得不稳定
α 的消融结果非常符合直觉:
- α=0.01:signal 太弱,跟没加差不多,收敛慢且 plateau 低
- α=0.1:sweet spot,持续上升且稳定
- α=0.3/0.5:前期冲得猛但提前见顶回落,training reward 后期震荡明显——solver signal 过强挤占了稀疏 outcome 目标的梯度份额
这说明 α 本质上是在"跟随老师"和"自主探索"之间做 trade-off,0.1 这个默认值在三个游戏上都 work 得不错。
asinh + RMS 归一化的作用
去掉 asinh 压缩后性能下降最明显——unbounded 的 extreme values 主导了梯度更新,训练既慢又低。去掉 RMS 归一化则前期匹配 full method 但后期 plateau 并开始下滑,training reward 噪声变大——这说明 per-batch rescaling 是保持训练稳定性的关键。
两个组件各司其职:asinh 解决单样本内的极端值问题,RMS 解决跨 batch 的尺度一致性问题。缺一不可。
分析:求解器真的实用吗?
开销分析:几乎免费

图6:求解器运行时间开销的三层分解。左:单个 training step(190s)中 rollout 占 60.7%;中:单条 trajectory(51.8s)中 LLM 生成占 99.9%;右:单个 env step(73.91ms)中求解器仅占 8.4%(6.23ms)。综合下来求解器仅占总训练时间的 73 ppm
这个数据相当震撼。求解器查询看起来每步都要跑一次,但实际上:
- 单个 env step 里,求解器只占 8.4%
- 而 env step 本身只占 trajectory 运行的 0.1%
- trajectory 又只占 training step 的 60.7%
三层乘下来:73 ppm,也就是百万分之七十三。相对于 LLM 生成和策略更新,这点开销完全可以忽略。
学到的 value network 能替代精确求解器吗?

图5a:在 Rush Hour 上用 DQN 学到的 value network 替代精确求解器作为 process signal 来源。CAST+DQN(黑色星号线)全程紧贴 CAST exact-solver 版本(橙色菱形线),最终仅略低,且始终高于所有 baseline
这是一个很重要的实用性验证。不是所有场景都有现成的精确求解器。论文在 Rush Hour 上训练了一个 DQN-based value network(没用精确求解器的距离标签,靠 self-distillation + 几何先验精炼),然后用它的 state value 来构造 solver advantage。
结果显示:learned variant 全程紧跟 exact-solver 版本,最终仅略低,且始终高于 DAPO/GSPO 等 baseline。更重要的是,CAST+DQN 没有 DAPO 和 GSPO 那种后期的 validation drop 现象。
这意味着即使在没有精确求解器的场景下,用一个学到的 value function 也能保留 CAST 的大部分收益。这大大扩展了方法的适用范围。
我的判断
这篇论文做得好的地方
1. 动机干净,方案直觉
"求解器能评估状态价值 → 用价值变化量当 advantage" 这个 idea 说出来大家都觉得 obvious,但把它做到理论严谨(Theorem 2.1 的 OPD 等价性)、工程可行(asinh + RMS 塑形)、实验充分(3 游戏 × 2 设定 × OOD 迁移),就是另一回事了。很多好工作都是这样——idea 不复杂,但 execution 到位。
2. 理论和工程的平衡恰到好处
Theorem 2.1 不是那种"证明了但没什么用"的理论花瓶。它直接解释了两个实践问题:为什么不需要 teacher logits(scalar 够了),以及为什么学生可以超过老师(task advantage 作为修正项)。这种理论服务于设计的风格我很欣赏。
3. 实验设计扎实
消融做得干净(α 权重、asinh、RMS 三个维度独立控制),baseline 选得公平(同一 base model、同一 terminal reward),还考虑了 learned solver 的替代方案。Table 3 的 per-tier 细分(虽然我没展开)提供了更细粒度的对比视角。
值得商榷的地方
1. 游戏场景的局限性
三个经典游戏虽然覆盖了不同类型的推理挑战,但它们都是确定性、规则透明、有完备求解器的环境。真实世界的 Agent 任务(比如网页浏览、代码调试、工具调用)通常不具备这些特性。论文的 OOD 迁移实验展示了潜力,但 30% 左右的绝对成绩说明路还很长。
2. 与 OPD/ReOPD 等同期工作的定位
2025-2026 年涌现了一批 on-policy distillation 相关的工作(Lu & Lab 2024 的 OPD、ReOPD、PassTheBaton 等)。CAST 的独特之处在于"logit-free"这一点的理论贡献,但在实际效果上,很难剥离出"是因为 OPD 等价性好"还是"仅仅因为多了 dense signal就好"。如果能补充一个用真实 teacher logits 做 OPD 的对比,会更清楚地定位 CAST 的增量价值。
3. α=0.1 的通用性
论文只在 Sokoban 上做了 α 的 sweep,然后直接把这个值用到另外两个游戏。虽然结果都不错,但如果能在三个游戏上都报告 α sensitivity 会更有说服力。毕竟不同游戏的 solver signal 信噪比差异很大(Minesweeper 的 partial observability 意味着 solver value 本身就不完美)。
工程启发
如果你在做 Agent RL 训练,尤其是涉及长程决策的任务,CAST 的这几个思路可以直接拿去用:
- 任何能评估状态价值的来源都可以当 teacher——不一定是 game solver,value network、heuristic function、甚至另一个更强的 model 的 roll-out result 都行
- asinh + RMS(不减均值)这对组合值得记下来——处理 heavy-tailed 的 auxiliary signal 时非常好用
- α 权重从 0.1 开始调——太小没效果,太大挤占主目标,0.1 在多个设置下都是 reasonable starting point
收尾
CAST 告诉我们一件事:可靠的 state evaluation 是从 sparse outcome 到 fine-grained credit 最直接的桥梁。无论是精确求解器还是学到的 value function,只要能给状态打分,就能变成 turn-level 的教学信号。
这个 insight 的适用范围远不止游戏。任何有 verifier、有 evaluator、有 heuristic 的场景——数学证明、代码执行、工具调用结果——都可以用类似的思路构建 dense process signal。
当然,现实世界没有完美的求解器,partial observability、stochasticity、non-Markovian 这些 complication 都会让事情变复杂。但方向是对的:与其绞尽汁设计复杂的 credit assignment 启发式,不如问问自己——有没有什么东西已经能告诉我当前状态好不好?
如果有,那就让它当老师吧。
觉得有启发的话,欢迎点赞、在看、转发。跟进最新 AI 前沿,关注我