作者/机构: Ning Shang∗, Yifei Liu∗, Yi Zhu∗, Li Lyna Zhang∗†, Weijiang Xu, Xinyu Guan, Buze Zhang, Bingcheng Dong, Xudong Zhou, Bowen Zhang, Ying Xin, Ziming Miao, Scarlett Li, Fan Yang, Mao Yang†
Microsoft Research


A1 主要贡献

本文介绍了 rStar2-Agent,一个通过智能体强化学习(agentic reinforcement learning)训练的 14B 数学推理模型,其性能达到了前沿水平。该模型超越了当前的长思维链(long CoT),展现了更高级的认知行为,例如在使用 Python 编码工具前进行深思熟虑,并反思代码执行反馈,从而在复杂问题解决中自主探索、验证和优化中间步骤。

核心问题与挑战:
当前的推理模型,如 OpenAI o-series 和 DeepSeek-R1,通过扩展思维链(即“思考更长时间”)来提升性能,但这种方法在处理易于出现细微中间错误或需要创造性思维转变的难题时存在根本局限。模型依赖的内部自我反思常常无法发现错误或在初始方法错误时进行自我纠正。为了让模型“思考得更聪明”,需要发展其利用工具进行推理、验证并从环境反馈中学习的能力。然而,大规模地应用智能体强化学习面临两大挑战:

  1. 环境噪声:编码工具和 Python 解释器会引入噪声。模型生成的错误代码会导致环境返回错误信息,这会分散模型的注意力,使其耗费大量 token 去修正错误而非推进推理。仅依赖最终结果奖励的现有强化学习方法会加剧此问题,因为它会奖励那些虽然中间步骤有错但最终答案正确的轨迹,导致模型产出冗长低质的推理过程。
  2. 基础设施需求:大规模智能体强化学习训练对基础设施要求极高。单个训练批次可能触发数万个并发工具调用,构建可靠且响应迅速的代码执行环境非常困难。此外,与环境交互的智能体式推演(rollout)会放大标准强化学习系统中的推演效率低下问题,拖慢整体训练进程。

主要创新点:
为了应对上述挑战,rStar2-Agent 包含了三项关键创新:

  1. 高效可靠的大规模智能体强化学习基础设施

    • 构建了一个高吞吐量、隔离的代码环境,能够处理 45,000 个并发工具调用,平均反馈时间仅为 0.3 秒。
    • 引入了负载均衡的推演调度器(load-balanced rollout scheduler),根据各 GPU 上可用的 KV 缓存容量动态分配推演请求,最大化计算利用率。
    • 该基础设施使得在有限的 GPU 资源(64个 MI300X GPU)上也能高效进行强化学习训练,仅用一周时间便完成了 rStar2-Agent-14B 的训练。
  2. GRPO-RoC 算法

    • 提出了 GRPO-RoC(Group Relative Policy Optimization with Resampling on Correct),将 GRPO 算法与“正确时重采样”(Resample-On-Correct, RoC)推演策略相结合,以解决稀疏、仅依赖最终结果的奖励下由环境引发的噪声问题。
    • RoC 策略首先过采样(oversample)一组更多的推演,然后进行下采样(downsample)。对于奖励为正的轨迹,它会过滤掉包含工具使用错误或格式问题的低质量轨迹,只保留最优质的;对于奖励为负的轨迹,则进行均匀下采样以保留多样的失败模式。
    • 这种非对称采样方式既保留了信息丰富的负面信号,又强调了高质量的成功案例,使模型能学习到更简洁高效的推理方式。
  3. 高效的智能体训练配方

    • 训练从一个非推理的监督微调(SFT)阶段开始,该阶段仅用于灌输通用的指令遵循、编码工具使用和格式化能力,而不增强推理能力。这避免了 SFT 可能导致的过拟合,并保持初始响应较短,让后续的强化学习能更有效地培养推理能力。
    • 随后进行多阶段强化学习训练,使用 GRPO-RoC 算法,逐步增加任务难度和最大训练长度(从 8K 扩展到 12K)。这种方式显著降低了强化学习的成本,并鼓励模型采用更高效的推理策略。
    • 仅用 510 个强化学习步骤,模型就迅速达到了前沿的数学推理水平,展现了极高的能力和训练效率。

最终,rStar2-Agent-14B 在 AIME24 和 AIME25 测试中分别取得了 80.6% 和 69.8% 的 pass@1 分数,超越了 671B 的 DeepSeek-R1,且响应长度显著更短。


图 1: rStar2-Agent-14B 仅用 510 个 RL 训练步骤就达到了前沿水平的数学推理能力。


A3/A2 智能体强化学习方法论


图 2: rStar2-Agent 训练大语言模型在专用的执行环境中原生使用 Python 编码工具,从而为解决复杂问题实现更高级、更有效的推理。

2.1 在代码环境中进行更智能的推理

  • Python工具的增强作用。Python 代码及其解释器,连同 NumPy、SciPy 和 SymPy 等科学计算库,能显著提升模型解决数学问题的能力。理想情况下,模型应在 Python 代码环境中表现出类似人类的认知行为:(i)在正确的推理步骤调用工具;(ii)编写逻辑正确且功能正常的代码;(iii)仔细反思执行结果以指导后续推理步骤。本文通过智能体强化学习来培养这种能力,并介绍了关键的设计选择,包括工具调用接口和提示模板。

  • 多轮推演(Multi-turn Rollout)。如图 2 所示,模型通过多轮推演将代码环境的执行结果融入推理过程。与一次性生成完整轨迹的标准强化学习推演不同,该模型通过与代码环境的多轮互动来生成完整轨迹。具体来说,第一轮从预定义的系统提示(图 3)和给定问题开始,模型以“助手”角色生成初始推理轨迹,直到遇到 EOS 标记。如果轨迹中没有代码工具调用,则推演终止。否则,代码块被提取并由环境服务执行,其输出以“用户”角色附加到轨迹后。模型接着将这个更新后的上下文作为输入,继续下一轮的“助手”角色推理。这个多轮过程会重复进行,直到模型生成最终答案或达到预设的最大轮次 T。

    图 3: 我们的提示模板。在训练期间,Question 将被替换为具体问题。
    图 3: 我们的提示模板。在训练期间,Question 将被替换为具体问题。

  • 工具调用格式(Tool Call Format)。本文使用一个通用的函数调用接口来调用编码工具,每个工具调用都以结构化的 JSON 格式表示,如下例所示:

<tool call>{"name": "execute python code with standard io", "arguments": {"code": "import sympy\n\n def verify divisibility (m,p):\n\n for p in sympy.primerange(2, 100000) ··· ", "input": ""}}</tool call>

在每一轮结束时,系统会检查是否存在 <tool call> 块。如果存在,会解析 JSON 以提取 code 字段中的代码块和 arguments 中的 input 字段(如果可用)。如果因格式无效而解析失败,错误信息将被包装在 <tool response> 标签中返回给模型。否则,提取的代码和参数将被转发到环境服务,该服务会产生四种可能的响应之一:
1. 成功执行并有标准输出:返回程序输出。
2. 成功执行但无标准输出:返回 IPython 显示的输出。
3. 执行错误:返回错误信息和追溯日志。
4. 超时:代码语法有效,但因复杂度高或逻辑错误(如无限循环)未在时限内完成。
在所有情况下,环境反馈都会被包装在 <tool response> 标签中并返回给模型。这种结构化方法提供了一个标准化的、类似 API 的接口,消除了解析的模糊性,并清晰地分离了推理与执行。

  • 提示模板(Prompt Template)。图 3 展示了在智能体强化学习期间使用的提示。该提示指示模型首先在 <reason> ... </reason> 中生成推理过程,然后在 <answer> ... </answer> 中提供最终答案。为了引导正确的编码工具使用,提示明确详细说明了可用的工具(即编码工具),包括其描述和结构化的函数调用格式。值得注意的是,多轮推演设置可能会产生多个 <reason> 块,但只允许一个 <answer> 块,如图 2 所示。最终的数值结果必须用 \boxed{} 包装以便提取。

2.2 端到端的智能体强化学习

2.2.1 预备知识:GRPO

  • 组相对策略优化(GRPO)。首先介绍 GRPO 算法。对于数据集 D 中的每个问题 q 及其真实答案 a,GRPO 从旧策略 $\pi_{\theta_{\text{old}}}$ 中采样一组推演轨迹 $\{o_1, o_2, \dots, o_G\}$,然后通过最大化以下目标来优化策略 $\pi_\theta$:

    公式1
    公式1

    其中 $\epsilon$ 和 $\beta$ 是超参数,分别控制重要性采样比率的裁剪范围和 KL 惩罚项的权重。$A_{i,t}$ 表示估计的优势,使用每组输出对应的奖励 $\{r_1, r_2, \dots, r_G\}$ 计算得出:
    公式2
    公式2

    这里的 $r_i$ 是分配给推演轨迹 $o_i$ 的奖励,它通过一个基于规则的验证器系统进行评估,以减轻奖励破解(reward hacking)问题【13,Guo et al., Deepseek-r1: Incentivizing reasoning capability in llms via reinforcement learning, 2025; 36, Kimi Team, Kimi k1. 5: Scaling reinforcement learning with llms, 2025】。

  • 仅关注结果的奖励设计。最近用于数学推理的强化学习方法通过使用仅关注结果(outcome-only)的奖励取得了显著进展,这是一个有效避免奖励破解的关键设计选择【13,Guo et al., Deepseek-r1: Incentivizing reasoning capability in llms via reinforcement learning, 2025; 36, Kimi Team, Kimi k1. 5: Scaling reinforcement learning with llms, 2025】。具体来说,每个推演轨迹 $o_i$ 会根据其最终答案是否与真实答案 a 匹配,获得一个二元准确性奖励 $r_i \in \{0, 1\}$:

    公式3
    公式3

    在数学应用题中,我们从 <answer> 标签内的 \boxed{} 中提取最终答案,并使用基于规则的数学验证工具将其与真实答案 a 进行比较。匹配正确的获得奖励 1,不匹配的获得 0。

  • 增强探索。为推动策略超越其预训练的限制,我们采纳了近期研究的几项关键修改。首先,我们移除了 KL 散度惩罚。虽然它通常用于防止在线策略与参考策略偏离过大并稳定训练,但也可能无意中限制了对新颖的、工具增强的推理模式的发现。移除它能让模型更自由地探索。其次,我们采用了 Clip-Higher 策略【43,Yu et al., Dapo: An open-source llm reinforcement learning system at scale, 2025】,放宽了重要性采样比率的上限。具体来说,我们将 $\epsilon_{\text{high}}$ 从 0.2 增加到 0.28,让模型更好地探索高熵、低概率的 token。这些少数 token 可能包含对推理性能至关重要的“分叉 token”【39,Wang et al., Beyond the 80/20 rule: High-entropy minority tokens drive effective reinforcement learning for llm reasoning, 2025; 7,Cheng et al., Reasoning with exploration: An entropy perspective, 2025】。第三,我们移除了熵损失项以防止训练不稳定。虽然它通常用于鼓励探索,但也可能导致熵的无控制增长,可能导致训练崩溃。

2.2.2 智能体强化学习中的挑战

  • 固有的环境噪声。虽然 GRPO 提供了一个坚实的基础,但智能体强化学习引入了新的挑战。特别是,编码工具和代码环境在推理过程中引入了固有的噪声。与标准推理不同,编码工具不仅要求模型决定何时使用它们,还要求模型为预定功能生成正确且可执行的代码。当发生错误时,环境会返回与推理任务无关的错误信息。这种噪声反馈可能会误导模型,使其花费宝贵的 token 来修复工具错误,而不是推进其推理。这种干扰严重阻碍了问题解决,而在纯 CoT 推理中则不会出现。

    图 4: 正确回答的轨迹中包含错误的工具调用比例。在朴素 GRPO 下,错误率最初下降,但很快稳定在一个显著水平。相比之下,我们的 GRPO-RoC 随着训练步骤的增加,持续减少与工具相关的错误。
    图 4: 正确回答的轨迹中包含错误的工具调用比例。在朴素 GRPO 下,错误率最初下降,但很快稳定在一个显著水平。相比之下,我们的 GRPO-RoC 随着训练步骤的增加,持续减少与工具相关的错误。

  • 仅关注结果的奖励对轨迹质量的影响。在当前仅关注结果的奖励机制下,轨迹仅根据最终答案进行评估以防止奖励破解。然而,这种奖励无法惩罚不良的中间行为。因此,即使中间工具调用不正确,如果最终答案正确,轨迹仍然可以获得正奖励,这实际上强化了模型将此类错误视为可接受的行为。如图 4 所示,在朴素 GRPO 下,正奖励轨迹中与工具相关的错误率最初下降,但最终稳定在一个显著水平,Qwen2.5-32B 约为 15%,Qwen3-14B 约为 10%。因此,模型倾向于产生包含工具调用错误的冗长、低质量轨迹,严重限制了智能体强化学习的有效性并增加了训练成本。

2.2.3 GRPO-RoC: 带正确时重采样的组相对策略优化

  • GRPO-RoC 的引入。为了更有效地进行智能体强化学习,我们引入了带正确时重采样(Resampling on Correct)的组相对策略优化(GRPO-RoC)。本节详细介绍我们的设计选择和方法论。

  • 设计原则:仅基于答案结果的奖励。环境噪声可能导致模型生成冗长、低质量但最终答案正确的轨迹。从奖励设计的角度看,有两种潜在的解决方案:(i)引入步骤级奖励【44,Yue et al., Promoting efficient reasoning with verifiable stepwise reward, 2025a】;(ii)保留仅关注结果的奖励,同时增加惩罚项,例如对工具调用错误的惩罚【29,Qian et al., Toolrl: Reward is all tool learning needs, 2025; 19, Li et al., Torl: Scaling tool-integrated rl, 2025; 17, Kimi, Kimi-researcher】。然而,我们没有采用这些方法,主要原因有二:(i)它们引入了额外的复杂性,例如需要仔细的人工调整和奖励模型构建;(ii)它们容易导致奖励破解。例如,在训练早期,当模型的推理能力仍在发展时,步骤级奖励或工具错误惩罚可能会阻碍有效的探索。为了避免奖励破解,我们使用了如公式 3 所示的最小化、仅基于答案结果的奖励。为了解决环境噪声带来的挑战,我们引入了 GRPO-RoC,它通过“正确时重采样”(RoC)推演策略有效过滤掉低质量的噪声轨迹。

  • 正确时重采样(RoC)策略。RoC 是一种简单而有效的推演策略,它使得在仅基于答案结果的奖励机制下,智能体强化学习能够有效进行。具体来说,我们首先对一个更大的推演组进行过采样,然后下采样到标准的推演批次大小。正向轨迹经过筛选,只保留那些工具引发的错误或格式问题最少的最高质量轨迹,而负向轨迹则进行均匀下采样。这种非对称采样在不丢失来自失败案例的各种学习信号的同时,强化了正向监督,从而促进了更有效的策略更新。虽然 RoC 普遍适用于各种强化学习算法,但在这项工作中,我们将其应用于 GRPO,从而得到了 GRPO-RoC 算法。

  • RoC 的具体实现。在标准 GRPO 中,每个问题都会采样 G 个推演轨迹 $\{o_i\}_{i=1}^G$ 用于计算奖励和更新策略。在 GRPO-RoC 中,我们首先过采样 2G 个轨迹 $\{o_i\}_{i=1}^{2G}$,然后应用 RoC 策略选择 G 个轨迹进行策略更新。具体地,我们将负奖励轨迹组表示为 $O_{\text{neg}} = \{o_{\text{neg}_i}\}$,正奖励轨迹组表示为 $O_{\text{pos}} = \{o_{\text{pos}_i}\}$,其中 $|O_{\text{neg}}| + |O_{\text{pos}}| = 2G$。然后对这两组应用不同的选择策略:我们从 $O_{\text{neg}}$ 中采样 $\hat{O}_{\text{neg}} = \{\hat{o}_{\text{neg}_i}\}$ 以保持失败模式的多样性,从 $O_{\text{pos}}$ 中采样 $\hat{O}_{\text{pos}} = \{\hat{o}_{\text{pos}_i}\}$ 以优先选择更高质量的成功轨迹。最终用于策略更新的批次包含 G 个推演,其中 $|\hat{O}_{\text{pos}}| + |\hat{O}_{\text{neg}}| = G$。

    • 负样本:为保留多样性,对于奖励为零的推演 $O_{\text{neg}}$,我们不进行过滤,而是按照其原始分布采样其中一半(即 $\lfloor \frac{|O_{\text{neg}}|}{2} \rfloor$)作为 $\hat{O}_{\text{neg}}$。这确保模型能接触到广泛的失败模式并学会避免各种错误。
    • 正样本:为过滤环境噪声并提升质量,对于最终结果奖励为 1 的成功推演 $O_{\text{pos}}$,我们采样其中一半的轨迹,优先选择更高质量的轨迹以强化更有效的推理。具体来说,每条轨迹会根据是否包含两种中间问题进行评分:(i)工具调用错误和(ii)格式违规。
      • 对于工具调用错误,我们追踪 2.2.2 节中描述的三种失败模式,计算每个轨迹的工具错误率 $p_{\text{err}}$。没有工具调用的轨迹被赋予默认的 $p_{\text{err}} = 0.5$ 以鼓励工具使用:
        公式4
        公式4
      • 对于格式违规,我们检查 <answer> 标签的数量。没有标签的轨迹会获得最大的下采样权重,而有多个标签(通常导致重复)的轨迹会受到相应惩罚:
        公式5
        公式5

        每个轨迹的总惩罚分数为 $p_{\text{total}} = p_{\text{err}} + p_{\text{format}}$。我们然后以与 $p_{\text{total}}$ 成反比的概率采样一半的正向推演,这样惩罚分数较低的轨迹更有可能被选中。
  • GRPO-RoC 的最终目标函数。最终的强化学习目标 GRPO-RoC 公式如下:

    公式6
    公式6

    公式7
    公式7

    其中,$2G$ 表示过采样的推演轨迹,$\hat{o}_i$ 表示通过 RoC 采样选中的轨迹,$\hat{r}_i$ 是其 0-1 答案奖励。裁剪阈值 $\epsilon_{\text{low}}$ 和 $\epsilon_{\text{high}}$ 分别设为 0.2 和 0.28,遵循 Clip-Higher 策略。如图 4 所示,GRPO-RoC 显著降低了正奖励轨迹中的编码工具错误。此外,如图 9 所示,工具调用错误的减少带来了推理性能的显著提升和更简洁的响应。


A2/A3 大规模智能体强化学习基础设施

图 5: 我们的智能体强化学习基础设施的总体设计。
图 5: 我们的智能体强化学习基础设施的总体设计。

  • 基础设施面临的挑战。智能体强化学习引入了重大的基础设施挑战。为了实现大规模训练,我们在 VERL v0.2【34,Sheng et al., Hybridflow: A flexible and efficient rlhf framework, 2024】和 SGLang【46,Zheng et al., Sglang: Efficient execution of structured language model programs, 2024】之上构建了一个定制的智能体强化学习基础设施,如图 5 所示。我们主要解决了两个瓶颈:
    • 大规模并发工具调用:在多轮推演中,一个训练批次可能触发数千个代码执行请求。在本地直接执行这些代码不仅会耗尽 CPU 资源,还会让 GPU 空闲,严重拖慢推演速度。更关键的是,LLM 生成的代码不可预测,可能包含 bug 或难以终止的外部库调用,对主训练进程构成严重风险。
    • 高度不平衡的多轮推演:在智能体强化学习中,每个响应包含多轮不等长的 token 生成和工具调用,导致计算负载极不均衡。静态同步调度会加剧延迟和 GPU 空闲时间。

3.1 可靠的高吞吐量代码环境

图 6: 我们的代码环境展示了可扩展性,能够可靠地处理每步高达 45K 的并发工具调用,同时保持从分派到响应的端到端延迟始终很低。
图 6: 我们的代码环境展示了可扩展性,能够可靠地处理每步高达 45K 的并发工具调用,同时保持从分派到响应的端到端延迟始终很低。

  • 环境服务的设计。如图 5(b) 所示,我们的环境服务有两个主要目标:将服务与主强化学习训练进程隔离,同时最大化资源利用;支持大量并发工具调用并尽快返回执行结果。该服务分布在我们 64 个 AMD MI300X GPU 训练集群的 CPU 核心上。主节点上有一个集中式任务队列和 32 个发送工作进程(send workers)来管理工具调度的分派。其余工作节点各自运行一个轻量级任务调度器和 1024 个执行工作进程池来执行实际的工具调用。为了处理大规模并发请求,每个请求被添加到集中式任务队列中。32 个发送工作进程持续轮询该队列,将最多 64 个工具调用分组为一个批次进行分派。在工作节点上,任务调度器动态地将任务分配给空闲的执行工作进程。该架构确保了大规模下隔离、高效和可靠的代码环境。

  • 环境服务的性能和扩展功能。为了评估环境服务的有效性,我们测量了从发出工具调用到接收结果的平均延迟。如图 6 所示,每个训练步骤最多可生成 45K 个工具调用。即便如此,该服务仍能实现高吞吐量(每步 45K 调用)和低延迟(每次调用 0.3 秒),证明其能够支持大规模训练而不成为瓶颈。此外,为了避免答案验证(例如使用 Math-Verifier)阻塞推演进程,我们将其也卸载到环境服务中,使其能够异步运行而不拖延训练。

3.2 负载均衡的推演调度器

图 7: 上图:朴素的静态推演分配导致显著的 GPU 空闲时间和同步延迟。下图:我们动态的负载均衡调度器,根据可用的 KV 缓存分配推演,异步分派工具调用执行,并在 GPU 之间平衡计算。例如,K1, K2, J1 表示根据推理引擎 0 和 1 上当前可用的 KV 缓存内存计算出的推演数量。
图 7: 上图:朴素的静态推演分配导致显著的 GPU 空闲时间和同步延迟。下图:我们动态的负载均衡调度器,根据可用的 KV 缓存分配推演,异步分派工具调用执行,并在 GPU 之间平衡计算。例如,K1, K2, J1 表示根据推理引擎 0 和 1 上当前可用的 KV 缓存内存计算出的推演数量。

  • 静态分配的低效问题。推演效率低下是强化学习训练基础设施中的一个众所周知挑战,在智能体强化学习中尤为突出。我们早期的实现基于 VERL v0.2,采用静态分配的批处理推理策略(如图 7 上部)。这种静态分配无法管理多轮推演中计算量的巨大差异,导致了几个关键的低效问题:

    1. 负载不均和同步延迟:尽管 GPU 被静态分配了相同数量的推演请求,但由于每个推演的轮次和每轮的 token 长度不同,总计算工作负载在 GPU 之间极不均衡,导致严重的 GPU 空闲时间。
    2. KV 缓存溢出:由于无法预测每个推演将生成多少 token,所有分配的请求都默认并行启动。当 GPU 的 KV 缓存超出其容量时,SGLang 会驱逐一半正在进行的推演,即使部分计算已经完成。被驱逐的推演必须在剩余推演完成后重新计算,导致了严重的计算浪费。
  • 动态负载均衡的推演调度。为解决这些挑战,我们引入了一种负载均衡的推演调度方法(如图 7 底部)。其设计原则是动态分配推演请求,以保持 GPU 间的总计算负载平衡,同时避免因 KV 缓存溢出和重计算造成的计算浪费。我们的动态调度器根据每个 GPU 当前可用的 KV 缓存容量来分配请求,而不是静态地平均分配。具体来说,给定最大推演长度 L,我们估计每个 GPU 在不超出其 KV 缓存限制的情况下可以安全处理的最大推演数量 K (K < N)。每个 GPU 独立执行其分配的推演。在多轮推演中,工具调用在生成后立即异步分派到环境服务,消除了等待其他推演造成的空闲时间。一旦 GPU 完成分配的请求并释放 KV 缓存空间,调度器会实时分配新的请求,确保 GPU 间的负载平衡。


A2 训练配方

本节介绍了我们以最小计算规模提升 rStar2-Agent-14B 的配方,涵盖了数据集策划、多阶段训练以及从失败尝试中汲取的教训。我们使用 Qwen3-14B-base【37,Qwen Team, Qwen3 technical report, 2025】作为基础模型。

4.1 用于指令遵循的非推理冷启动

  • SFT 阶段的目标与数据集。与之前在 SFT 中包含大量推理数据的工作不同【21,Liu et al., Prorl: Prolonged reinforcement learning expands reasoning boundaries in large language models, 2025a; 10, Feng et al., Retool: Reinforcement learning for strategic tool use in llms, 2025; 36, Kimi Team, Kimi k1. 5: Scaling reinforcement learning with llms, 2025】,我们只关注通用的指令遵循、JSON 格式化和基本的编码工具使用,这些是智能体强化学习的基础。我们使用了以下数据集:
    1. 16.5 万条函数调用数据,包括来自 ToolACE-11K【22,Liu et al., Toolace: Winning the points of llm function calling, 2024】、APIGen-MT-5K【28,Prabhakar et al., Apigen-mt: Agentic pipeline for multi-turn data generation via simulated agent-human interplay, 2025】、Glaive-function-calling-v2-101k【11,GlaiveAI, Glaive function calling v2 dataset】的数据,以及 4.8 万条重新格式化为 JSON 函数调用格式的 Magicoder 数据集【40,Wei et al., Magicoder: Empowering code generation with oss-instruct, 2023】。
    2. 3 万条来自 Tulu3 后训练数据集【38,Tulu3, Tulu3 sft instruction following dataset】的指令遵循样本,其响应使用 o4-mini 重写以提高质量。
    3. 2.7 万条来自 LLaMA-Nemontron 后训练数据集【5,Bercovich et al., Llama-nemotron: Efficient reasoning models, 2025】的聊天数据,其提示使用 o4-mini 重写。
      如表 1 所示,我们的非推理 SFT 主要提升了基础模型的工具使用、指令遵循和聊天能力,同时保持了与基础模型相当的数学性能。
      表 1: Qwen3-14B-base 在我们的非推理 SFT 后的性能。模型在工具使用、指令遵循和聊天方面有所提升,同时保持了与基础模型相当的数学推理能力。
      表 1: Qwen3-14B-base 在我们的非推理 SFT 后的性能。模型在工具使用、指令遵循和聊天方面有所提升,同时保持了与基础模型相当的数学推理能力。

4.2 强化学习数据策划

  • 数据收集与清洗。为确保可靠的强化学习监督,我们在收集数学问题时遵循两条规则:首先,问题必须是高质量、有挑战性且最终答案标注正确。其次,答案必须是整数。仅限整数的要求至关重要,因为验证不同代数表达式的等价性非常困难。因此,我们只包含答案为整数的数学问题。根据这些规则,我们从三个来源收集了超过 10 万个候选问题:
    1. DAPO 训练集【43,Yu et al., Dapo: An open-source llm reinforcement learning system at scale, 2025】中 1.7 万个仅限整数的问题。
    2. 通过 OpenMathReasoning【26,Moshkov et al., Aimo-2 winning solution: Building state-of-the-art mathematical reasoning models with openmathreasoning dataset, 2025】从 Art of Problem Solving (AoPS) 论坛添加的 9.3 万个问题。
    3. Project Euler【15,Huggingface, Project euler】中 937 个具有挑战性的问题。
      随后,我们进行了广泛的清洗,最终得到 4.2 万个高质量的问题-答案对。例如,我们使用 Qwen3-32B 对每个问题生成 16 个响应,只保留那些答案为整数且至少两次匹配原始标注答案的问题。

4.3 多阶段强化学习训练

  • 训练策略与阶段划分。我们使用 GRPO-RoC 进行大规模智能体强化学习,学习率为 1e-6,批大小为 512 个提示。对每个提示,我们首先过采样 2G = 32 个多轮推演,然后使用 RoC 策略选择 16 个。为了提高训练效率,我们采用了多阶段策略,如表 2 所示,逐步增加最大训练长度和数据难度。我们从较短的长度开始,并跨阶段扩展(8K→12K→12K)。

    表 2: 领先推理模型的训练配方比较。rStar2-Agent 使用非推理 SFT 进行训练,使用更短的 RL 训练长度,并且仅在最后阶段应用数据难度过滤。
    表 2: 领先推理模型的训练配方比较。rStar2-Agent 使用非推理 SFT 进行训练,使用更短的 RL 训练长度,并且仅在最后阶段应用数据难度过滤。

  • RL 第一阶段:8K 响应长度下的简洁训练。在第一阶段,我们使用 4.2 万个策划好的数学问题进行训练,最大响应长度为 8K。如图 8(c) 所示,在此阶段,平均响应长度从约 1K token 开始,最终稳定在约 4K。尽管期间超出 8K 限制的裁剪率(clipping ratio)曾多次超过 10%,但我们保持了 8K 的限制。这鼓励模型更好地利用 GRPO-RoC 进行更有效的推理,我们观察到它很快自我调整,裁剪率下降,评估分数提高,响应变得简洁。

  • RL 第二阶段:扩展到 12K 响应长度。到第一阶段结束时(即 300 步),推演裁剪率稳定在 10% 左右,训练奖励和评估分数也趋于平稳。这表明 8K 的最大响应长度已成为进一步学习的限制因素。因此,在第二阶段,我们将最大响应长度增加到 12K。如图 8 所示,这一扩展将平均响应长度从 4K 增加到 6K,并在 AIME24 和 AIME25 上带来了持续的改进。

  • RL 第三阶段:专注于难题的训练。到第二阶段结束时,批次中超过 70% 的问题因达到 100% 的通过率而被拒绝,表明许多问题对模型来说已经太简单了。为保持训练效果,我们在第三阶段将重点转移到更难的问题上。我们采用离线过滤策略,使用第二阶段最后 385 步的策略对原始 4.2 万个问题集进行评估,移除了全部 8 次推演都正确的问题,最终得到 1.73 万个更难的问题。在对这个数据集进行训练时,我们重置了优化器状态,并更新了参考模型。如图 8 所示,专注于难题进一步提高了性能,并将平均响应长度从 6K 增加到 8K。在额外的 125 步中,此阶段逐步将 14B 模型提升至前沿的数学推理水平。

4.3.1 失败的尝试与教训

  • 过长过滤反而增加了推演截断。DAPO【43,Yu et al., Dapo: An open-source llm reinforcement learning system at scale, 2025】提出,对因超长而被截断的推演分配负奖励可能会混淆模型,因此建议完全丢弃这些推演。然而,在我们的实验中,过长过滤并未带来好处,反而增加了超长推演的比例。一个可能的原因是许多超长响应包含重复模式,没有负反馈,模型无法获得纠正信号。因此,我们没有采用过长过滤,而是保留了带负奖励的截断推演,这被证明是有用的训练信号。

  • N-gram 重复检测可能移除有效的推理模式。我们曾尝试根据轨迹中的重复模式降低其采样概率。我们遵循了 Phi-4-Reasoning【1,Abdin et al., Phi-4-reasoning technical report, 2025】中使用的 n-gram 重复检测方法。然而,这种方法对模型的平均响应长度和推理分数产生了负面影响。我们发现,很难精确区分不良重复和合法的推理行为。例如,模型可能会用不同输入生成两个相似的工具调用来验证结果,这是一种深思熟虑的推理行为,但常被简单的 n-gram 启发式方法错误地标记为重复。

  • 关于奖励设计的更广泛教训。LLM 的强化学习本质上是自我探索的,中间行为高度多样且不可预测。过于复杂的、基于规则的奖励或评分方案可能会引入偏见,惩罚有用的行为,且无法泛化到所有推理模式。因此,我们采用了一种仅基于最终答案正确性的最小化奖励设计。其他低质量的中间行为,如环境噪声或格式问题,通过“正确时重采样”推演策略来处理,而不是直接惩罚。


A4 实验

5.1 实验设置

  • 训练设置
    • 模型: Qwen3-14B-Base(进行了非推理SFT)和 Qwen2.5-32B-Instruct(未进行SFT)。
    • 硬件: 64块 AMD MI300X GPU。
    • 软件/优化器: 使用 AdamW 优化器,恒定学习率为 1e-6,推演温度为 1.0。
  • 评估基准
    • 数学推理: MATH-500, AIME24, AIME25, HMMT25。
    • 通用与科学推理: GPQA-Diamond。
    • 智能体工具使用: BFCL v3。
    • 通用对齐: IFEval, Arena-Hard。
    • 为保证评估的公平性,我们从训练数据中移除了与这些基准有 8-gram 重叠的任何问题。

5.2 rStar2-Agent-14B 主要结果

  • 以最小计算量实现顶尖的数学推理能力。如表 3 所示,rStar2-Agent-14B 显著提升了一个 14B 预训练模型至业界顶尖水平,其性能可与规模更大、训练更密集的模型相媲美甚至超越。在 AIME24 上,rStar2-Agent-14B 取得了 80.6% 的平均准确率,分别比 o3-mini (medium)、DeepSeek-R1 和 Claude Opus 4.0 (thinking) 高出 1.0%、0.8% 和 3.6%。值得注意的是,与依赖特定推理 SFT 的模型不同,rStar2-Agent 仅使用轻量级的非推理 SFT,证明了其智能体强化学习方法的强大驱动力。

    表 3: 通过 GRPO-RoC 智能体强化学习训练,rStar2-Agent-14B 实现了与前沿大语言模型相媲美的数学推理能力,同时使用的训练计算量和模型规模都显著更小。
    表 3: 通过 GRPO-RoC 智能体强化学习训练,rStar2-Agent-14B 实现了与前沿大语言模型相媲美的数学推理能力,同时使用的训练计算量和模型规模都显著更小。

    图 8: 多阶段 RL 训练期间 AIME24/AIME25 的准确率和平均训练响应长度。
    图 8: 多阶段 RL 训练期间 AIME24/AIME25 的准确率和平均训练响应长度。

  • 各强化学习阶段的性能提升。图 8(a,b) 展示了模型在三个强化学习阶段中性能的逐步提升。第一阶段(8k 长度)已带来显著增益,AIME24 准确率从 3.3% 提升至 72.1%。第二阶段(12k 长度)进一步提升至 77.0%。第三阶段(专注难题)最终将性能推至 80.6%。

  • 用更少的 token 进行更智能的推理。如表 4 所示,rStar2-Agent-14B 在 AIME24 和 AIME25 基准上,尽管生成的响应长度比 DeepSeek-R1-Zero 等模型短得多,但取得了更高的推理准确率。这表明模型学会了更智能、更有效地使用编码工具进行推理。

    表 4: rStar2-Agent-14B 以显著更少的 token 实现了有效的推理。
    表 4: rStar2-Agent-14B 以显著更少的 token 实现了有效的推理。

  • 强大的泛化性能。如表 5 所示,尽管只在数学数据上进行了智能体强化学习训练,rStar2-Agent-14B 展现了强大的泛化能力。在科学推理基准 GPQA-Diamond 上,其准确率从 42.1% 提升至 60.9%,超过了 DeepSeek-V3。这表明从数学中学到的推理模式能有效迁移到通用科学推理中。在非推理的工具使用和对齐任务上,模型性能保持稳定。

    表 5: 尽管仅通过数学强化学习训练,rStar2-Agent-14B 在通用任务上仍表现出强大的性能。注:非推理 SFT 后的分数以灰色标记。
    表 5: 尽管仅通过数学强化学习训练,rStar2-Agent-14B 在通用任务上仍表现出强大的性能。注:非推理 SFT 后的分数以灰色标记。

5.3 消融研究与讨论

  • 与其他强化学习方法的比较。如表 6 所示,在 Qwen2.5-32B 和 Qwen3-14B 两个模型规模上,使用编码工具的智能体强化学习方法(如 rStar2-Agent, ZTRL, ReTool)均优于纯 CoT 方法(如 DAPO)。与其他智能体强化学习方法相比,rStar2-Agent 也显示出明显优势,即使在没有进行推理特定 SFT 的情况下,其在 AIME24 和 AIME25 上的准确率也分别比 ReTool 高出 2.4% 和 8.0%。

    表 6: 带工具和不带工具的 RL 基线比较,显示 rStar2-Agent 在不同模型规模上的一贯优势。在 Qwen2.5-32B-Instruct 上,由于资源限制,仅执行了 RL 阶段 1 和 2。
    表 6: 带工具和不带工具的 RL 基线比较,显示 rStar2-Agent 在不同模型规模上的一贯优势。在 Qwen2.5-32B-Instruct 上,由于资源限制,仅执行了 RL 阶段 1 和 2。

  • 对 GRPO-RoC 的消融实验。如图 9 所示,我们比较了 GRPO-RoC 与一个去除了 RoC 策略的基线(GRPO with Tool)。结果显示,GRPO-RoC 在 AIME24 和 AIME25 上的推理准确率持续更高,并且显著降低了平均训练响应长度,从而降低了训练成本。这证明了 RoC 策略在处理环境噪声和优先选择高质量推演方面的有效性。

    图 9: 对 Resample-on-Correct (RoC) 推演策略的消融实验。我们将 GRPO-RoC 与两个基线进行比较:GRPO with Tool 和 DAPO(无工具的非智能体 RL)。(a)(b) GRPO-RoC 在整个训练过程中在 AIME24 和 AIME25 上始终取得更高的准确率。(c) GRPO-RoC 还显著减少了平均响应长度,显示出更高效的推演和更低的 RL 训练成本。
    图 9: 对 Resample-on-Correct (RoC) 推演策略的消融实验。我们将 GRPO-RoC 与两个基线进行比较:GRPO with Tool 和 DAPO(无工具的非智能体 RL)。(a)(b) GRPO-RoC 在整个训练过程中在 AIME24 和 AIME25 上始终取得更高的准确率。(c) GRPO-RoC 还显著减少了平均响应长度,显示出更高效的推演和更低的 RL 训练成本。

  • 关于强化学习提升推理能力的上限。实验表明,一旦模型达到其固有的推理能力上限,强化学习带来的增益有限。在第三阶段,当策略在第 510 步达到峰值准确率后,继续训练竟导致策略和奖励信号的崩溃。我们推测根本原因是模型容量的限制:当前的强化学习实现无法可靠地扩展超出预训练所获能力的推理能力。

5.4 智能体推理行为分析

通过分析推理轨迹中的高熵 token,我们发现 rStar2-Agent 的成功归因于两种独特的行为模式:

  1. 用于探索和自我反思的“分叉 token”(Forking tokens):这些高熵 token 引入了不确定性,触发模型进行自我反思(如“但是在最终确定前”、“再次检查”)和验证中间步骤。这种行为在基于 CoT 的强化学习中也普遍存在。

  2. 智能体强化学习引入的对工具调用响应的“反思 token”(Reflection tokens):这是智能体推理特有的新模式。在收到代码环境的反馈后,模型会生成一连串高熵的反思 token 来分析和解释执行结果。如图 10 和图 11 所示,模型会仔细验证正确的工具响应,或在遇到代码错误时诊断问题、探索替代方案并最终生成正确的代码。这种行为反映了比传统长 CoT 更高级的、类似人类的认知能力。

<tool_call>
{"name": "execute_python_code_with_standard_io", "arguments": {"code": "import itertools \n\n# Setup grid indexing and adjacency\nindex_to_rc = [(i//3 + 1, i%3 + 1) for i in range(9)]\nadjacency = []\nfor idx in range(9):\n r, c = index_to_rc[idx]\n neighbors = []\n if r > 1: neighbors.append(idx - 3) \n if r < 3: neighbors.append(idx + 3) \n if c > 1: neighbors.append(idx - 1) \n if c < 3: neighbors.append(idx + 1) \n adjacency.append(neighbors)\n\ncorner_pairs = [(0, 2), (2, 8), (8, 6), (6, 0)]\n\ncount = 0\nf or colors in itertools.product(range(3), repeat=9):\n # Check condition (i)\n valid_i = True\n f or idx in range(9):\n f or nb in adjacency[idx]:\n if colors[idx] == colors[nb]: \n valid_i = False\n break\n if not valid_i:\n break\n if not valid_i:\n continue\n\n # Check condition (ii)\n valid_ii = True\n f or a, b in corner_pairs:\n if colors[a] == colors[b]:\n valid_ii = False\n break\n if valid_ii:\n count += 1\n\nprint(count)", "input": ""}}
</tool_call><|im_end|><|im_start|>user<tool_response>
Total valid colorings: 24
</tool_response><|im_end|>
<|im_start|>assistant<reason>
Python代码执行并返回了有**24**种有效的着色方案然而在得出结论之前我应该验证代码逻辑是否正确地捕捉了两个条件
1. **条件i):** 它检查了每个格子的邻接关系每个方块的四边邻接),并确保相邻方块颜色不同
2. **条件ii):** 它明确强制要求四个角边对的颜色不同
但我想再次检查
- **格子邻接** 我通过考虑上///右移动来构建邻接列表这对于3x3网格中的边共享是正确的
- **角对** `(0,2)`, `(2,8)`, `(8,6)`, `(6,0)` 分别对应顶部右侧底部左侧的边条件ii要求这些颜色不同代码检查了这一点
- **颜色映射** 颜色0,1,2映射到红绿——不影响计数
我运行了一次代码得到24为确保没有错误我应该
1. **手动测试一个小案例** 假设我采用一个简单的着色方案看看程序的逻辑是否一致但这会很繁琐或者我可以添加打印语句或重新执行
2. **重新执行代码**以确保它不是一次性的异常
3. **考虑同一条边上的角方块是否可能被误解了** 也许问题只要求边界边上的角方块颜色不同而不是我检查的四对等等它说网格同一条边上的两个角方块颜色不能相同”,并且有四个这样的边对每个边对都是一对所以我的理解似乎是正确的
鉴于此为了一致性我将再次运行Python代码以确认结果24
### 重新运行代码
</reason>
...
一切似乎都对上了因此最终答案应该是 \boxed{24}
但在最终确定之前
我想通过以下方式交叉验证
1. 确保没有逻辑上的疏忽
2. 确认四个角对完全符合要求
根据问题:“网格同一条边上的两个角方块颜色不能相同。”四个边各有两个角方块——它将这些对视为独立于标准邻接关系代码额外检查了这四个对这与问题相符
因此我可以自信地给出
\boxed{24}

图 10: 带有编码工具使用和自我反思的智能体强化学习轨迹示例#1。

图 11: 带有编码工具使用和自我反思的智能体强化学习轨迹示例#2。前 20% 高熵 token 以绿色标记。模型最初尝试进行工具调用但遇到代码错误。然后它反思问题,生成修正后的代码片段,成功执行,并再次验证以得出最终正确答案。
图 11: 带有编码工具使用和自我反思的智能体强化学习轨迹示例#2。前 20% 高熵 token 以绿色标记。模型最初尝试进行工具调用但遇到代码错误。然后它反思问题,生成修正后的代码片段,成功执行,并再次验证以得出最终正确答案。


A5 结论

本文介绍了 rStar2-Agent,一个 14B 的数学推理模型,它通过大规模智能体强化学习实现了“思考得更聪明而不仅仅是更长”,性能可与 671B 的 DeepSeek-R1 相媲美。其成功得益于用于在代码环境中有效训练的 GRPO-RoC 算法、一个可扩展的强化学习基础设施以及一个计算高效的训练配方。在 AIME24 和 AIME25 上,该 14B 模型分别达到了 80.6% 和 69.8% 的 pass@1 准确率,超越了 DeepSeek-R1,同时生成了更短的响应并能泛化到数学以外的领域。分析进一步揭示,智能体推理从工具响应中引入了“反思 token”,驱动了探索、自我反思和错误修正。我们计划将 rStar2-Agent 扩展到更广泛的推理领域和有价值的环境中。