Understanding TIR
Paper · arXiv 2508.19201 · Work in Progress

Understanding Tool-Integrated Reasoning:解释器不是计算器,而是打破「无形缰绳」的那根剪刀

纯文本 RL 只能在基座模型原本就能生成的轨迹里重排概率——Wu et al. 称之为 invisible leash。 这篇论文把「TIR 为什么有用」写成了两个定理:确定性工具转移让支持集严格扩张,token 效率差距让预算内的可行策略集也严格扩张。 为了让训出来的模型更早、更频繁地用工具,论文又提出 ASPO,绕开奖励函数,直接给优势加一个有界偏置。

Heng Lin(腾讯 / 清华)· Zhongwen Xu(腾讯)· v1, 2025-08-26 arXiv 2508.19201 ↗
TL;DR · 30 秒抓住核心

从 RL 的角度看,RLVR 只会改变基座模型已有轨迹上的概率:support 只会收缩,不会扩张(论文引用 Wu et al. 的 Theorem 3.3)。论文的破局点是工具调用:模型发出一段代码,解释器返回的结果不是模型采样的,这是一条确定性的、不可用文本伪造的状态转移,于是 TIR 的 support 严格包含纯文本模型的 support(Theorem 3.4)。

可到达不等于用得起。论文再用一个 random oracle 把证明拆成 qtext(y*) = pTIR(y*) · 2−m,接着用 token 效率把结论推到预算里:程序表示常常是 O(1),自然语言模拟是 Ω(N)。于是存在问题规模 nB,使 TIR 的可行 support 严格大于纯文本模型(Theorem 3.7)。

实验上,Qwen3-8B 用 1 万道 DAPO 题训练,TIR 在 Omni-MATH-512 上 pass@256 = 0.8203 vs 0.6836,并且在高抽象(G1–G2)的题上依然领先约 9%。第二部分的 ASPO 把正确答案的优势再叠一个裁剪后的偏置,首次调用代码的位置从 4,000 token 提前到 1,000,代码轮数从 1.3 翻倍到 3.3,AIME25 avg@16 与基线无法区分。

15.4% vs 1.8%
Omni-MATH-512(k=256)
能力扩张 15.4%,萎缩仅 1.8%(Figure 3)
+13.7 pp
Omni-MATH-512 pass@256
TIR 0.8203 / 纯文本 0.6836(Table 6)
1.3 → 3.3
ASPO 后每题平均代码轮数
首次调用从 4,000 提前到 1,000 token(Figure 6)
01

纯文本 RL 只能在基座模型已有的轨迹里挪概率

先把「无形缰绳」讲清楚:它说的不是 RL 不努力,而是 RL 能改写的东西只限于基座模型原本就给过正概率的那部分轨迹。

记 𝒴 为所有可能的生成轨迹,𝒱 为词表。模型 p(y|x) 的 support 是 supp(p) = { y ∈ 𝒴 | p(y|x) > 0 };给定阈值 ε > 0,经验 support 是 suppε(p) = { y ∈ 𝒴 | p(y|x) ≥ ε }(Definition 3.1 / 3.2)。

论文沿用 Wu et al. 的结论(Theorem 3.3):从基座模型 q 出发做 RLVR,训出来的策略 πθ 满足 supp(πθ) ⊆ supp(q)。也就是说,如果一条正确轨迹 y* 在基座模型里的概率恰好是 0,RLVR 永远找不到它。 这就是「无形缰绳」:你可以调整缰绳里的概率分配,但没法走出绳子的长度。

经验证据

同一条绳子,在 Yue et al. 的 pass@k 曲线里也能看到

论文引用的另一组结论是:RL 训过的文本模型 pass@1 往往更高,但能力包络不一定变宽,k 大到一定程度后甚至被基座模型反超。 换句话说,RL 改写的是分布的形状,不是支撑集的边界。论文要回答的问题因此很具体:工具集成能不能把这条边界往外推?

这篇论文并不提出新的 TIR 训练框架——ReTool、ToRL、SimpleTIR 已经在做这件事。它要做的是把「工具为什么有用」写成可检验的理论,再拿一个 8B 模型在数学竞赛题上验证,最后处理一个工程问题:训出来的模型虽然会用工具,但用得太晚、太少。

02

已有两条路都没回答「为什么」,而奖励塑形想直接引导行为会翻车

一路是经验上成功的 TIR 系统,一路是 RL 能力的理论分析;它们各自停在「有效」和「受限」,中间缺一个把两者接起来的证明。

TIR 训练系统

ReTool / ToRL / SimpleTIR

ReTool 用 RL 学多轮工具调用,强调数据效率;ToRL 把工具集成 RL 往更复杂的场景扩展;SimpleTIR 做端到端的多次调用、从基座模型零样本训起(“Zero” setting)。

停在哪:都在展示「训了以后更好」,但没有说明工具在机制上改变了什么,也没有给出什么时候会失效的边界。

RL 能力的理论分析

invisible leash / 是否学到新能力

Yue et al. 用 pass@k 追问 RL 是否真的带来了基座模型之外的新能力;Wu et al. 给出「support preservation」的形式化结论,解释了 RLVR 为什么可能被困在原地。

停在哪:它们把结论停留在纯文本环境。工具引入的状态转移不在这个框架的射程内。

另一条路:直接改奖励,让模型早点调代码

TIR 模型常见的默认行为是「先用文字把推理走完,最后一步再调解释器算个数」。论文想鼓励更早的调用,最直接的做法是在 GRPO 式的组内奖励里加一项提前调用的奖励:

Ri = 1 + r′i,    r′i = δ · clip( (pi − mean(p)) / std(p), −c, c )
Eq. 1 · pi 是第 i 个回答的首次代码调用位置;δ 取负值,越早调用越奖励

问题出在归一化上。若一个 group 里的样本全部答对,主信号「1」会被减去组均值而完全消失:

Ai = ( Ri − mean(R) ) / std(R) = ( r′i − mean(r′) ) / std(r′)
推导自论文 §3.3 正文:常数 1 被归一化吃掉,辅助信号被放大到主信号的量级

这带来三个后果,论文原文逐条列出:

这就是为什么「引导行为」在这一步不是调参问题,而是算法设计问题。

03

两个定理:support 严格扩张,预算内可行 support 也严格扩张

第一部分论证「可能」:给定同一基座模型,TIR 能到达纯文本到达不了的轨迹。第二部分论证「用得起」:即使文本理论上能模拟,它的 token 成本也付不起。

定理 3.4:strict expansion of empirical support

TIR 模型写作 (M, 𝒪):语言模型 M 发出工具调用 ycall,外部 oracle 𝒪(例如 Python 解释器)确定性返回 yout = 𝒪(ycall) 作为下一个状态。论文的核心命题是:存在 ε > 0 和一族问题,使得 suppε(qtext) ⊂ suppε(pTIR)。

证明分两步,第二步是理解全文的关键:

qtext(y*|x) = pTIR(y*|x) · 2−m
只需选足够大的 m,就能让 ε 卡在两者之间:y* ∉ suppε(qtext),而 y* ∈ suppε(pTIR)

下面这个玩具把一道题的候选轨迹画成若干步。纯文本模型写完后缀,前面必须接上 m 个由 oracle 决定的值——它只能一位一位地猜。切换题目类型,看这 m 个值分别「由谁决定」。灰格表示 token 预算 B 放进不去的超长轨迹——问题规模变大时,文本方案先被挤掉的就是这部分。

TRACE · 一条候选轨迹
qtext

纯文本:m 位逐位猜

pTIR

调用 oracle:一次拿到

概率按指示条上的分段表示:每一段是一位,m 越大越细。上方数字给出精确值。

当前轨迹
猜对 / 文本可写 猜错 oracle 返回 未到 / 无需猜
这个玩具和原证明差在哪?点开看

原证明用的是 random oracle:m 位新输入返回均匀随机的 m 位输出。玩具把 2−m 理解成「连续猜中 m 位」——这正好回答了「为什么每条轨迹倒霉一次就够了」:同一条轨迹的 m 位若有一位猜错,整条轨迹就从 support 里掉出去,即使其它位都对。

三种题目只在这 m 位由谁决定上不同:中间结果理论上能用很长的文本模拟出来,哈希值与随机位奇偶不行。这对应下一节 token 效率要处理的边界。原证明没有「模型逐个猜位」的过程,它直接在轨迹概率上乘 2−m;这里的「猜对 / 猜错」只是把那个乘数展开成可数的东西。

定理 3.7:token 预算下的 strict supremacy

定义轨迹成本 cost(y) 为 prompt、生成、工具 I/O 的总 token 数,要求 cost(y) ≤ B。再把计算上等价(实现同一个核心算法)的轨迹归为一类 [y](Definition 3.5)。策略类 [y] 属于模型 M 在预算 B 下的 feasible support,当且仅当类中至少存在一条轨迹 y′ 满足 M(y′|x) > 0 且 cost(y′) ≤ B(Definition 3.6)。

论文用四张表对比程序化表示与自然语言模拟的 token 成本(Table 1–4):

任务(表号)程序化(Python)自然语言模拟
简单迭代(Table 1)O(1)Ω(N)
大型线性方程组(Table 2)O(1)Ω(n²) 描述 / Ω(n³) 全量叙述
动态规划(Table 3,Fibonacci)O(1)Ω(N)
图搜索(Table 4,BFS)O(1)Ω(V + E)

对任何纯文本成本随规模增长的算法类,总能挑一个规模 nB 让文本模拟超过任意有限预算 B,而程序表示仍是 O(1)、留在预算内。 于是 suppB(qtext) ⊂ suppB(pTIR)。这不是「文本算不出来」,而是「文本说得出来但付不起」。

04

ASPO:不动奖励,在正确性优势上叠一个有界偏置

要在 GRPO 类算法里引导行为,要绕过两层不稳定的归一化——奖励的组内标准化,和位置信号的标准差。

ASPO 先在标准流程里算出基于正确性的优势 Acorrect,i,然后只对「既正确又含代码」的回答加一项偏置:

Ai = Acorrect,i + clip( δ · (pi − mean(p)) / mean(L),  −k·Acorrect,i,  +k·Acorrect,i )
Eq. 2 · p:组内正确且含代码回答的首次调用位置;L:同组回答总长度;δ < 0 鼓励早调用;k 把偏置限制在基础优势的 k 倍以内

三个设计点各自对应 §3.3 里的一个失效模式:

下面用一个 8 条全对的 group 复现 §3.3 的推导。默认停在「改奖励」:只要 δ 不为 0,晚调用的正确答案就会拿到负优势。切到 ASPO,再拖动 k,看偏置怎样被限制在正确性优势之内。

这个设置下发生了什么
模拟用的数字与论文实验的差别点开看

模拟固定为 8 条回答、全部正确、同样的计算正确性优势,用来展示论文 §3.3 点名的「组内全部正确」场景。论文记录的 AIME25 不稳定(Figure 5(a) 训练曲线塌陷)是在真实训练里出现的,全对 group 不一定是它的唯一原因。

「改奖励」模式严格按 Eq. 1 的化简式计算:A = (r′ − mean)/std,对应原文「常数 1 被归一化消除」的推导。ASPO 模式按 Eq. 2,以 mean(L) 归一化位置;模拟里 L 直接给出 token 数,论文没有公开这些数。

05

一条训练链:同题对比 → 工具轨迹 → pass@k 与可行性 → ASPO 塑形

论文的两部分论证串在一起,就是一种更早、更频繁调用解释器的 TIR 训练范式。

1 · 共用起点 2 · 两条训练路径 3 · 评测与调工具行为 Qwen3-8B DAPO 算法 · 3 epochs DAPO 数据抽样 10,000 题 96 题 × 8 回答 ASPO 超参 保守:δ=−2.0, k=0.7 激进:δ=−2.5, k=0.9 纯文本 RL 只用词表 𝒱 生成 TIR 模型 (M, 𝒪) 代码 ↔ Python 解释器 y_out = 𝒪(y_call) 确定性返回 多轮,≤ 16,384 token pass@k AIME24/25 · OM-512 k ≤ 256 可解性流转 扩张 / 萎缩 Algo Friendliness ASPO 塑形 早调用 · 多轮
图 1:论文的实验与训练流程(示意)。纯文本与 TIR 共用 Qwen3-8B 与 DAPO;TIR 侧唯一的差别是轨迹里可以插入代码与解释器返回。右下角的 ASPO 是第二部分的算法,作用在优势函数上。
展开说明 ▸
  • 为什么不比绝对准确率? 论文自己说明:目标是理解 TIR 的机制,不是刷榜,所以只从 DAPO 数据里抽 10,000 道英文题,对比的也是两条路径之间相对的差异。
  • 为什么用 pass@k? 它衡量的是「潜在可解性」而不是单次采样质量,正好对应第一节的 support 概念——如果 support 真的被扩张了,曲线应当整体上移而不是只在 k=1 附近交叉。论文观察到两条曲线在 k 到 256 都不相交。
  • 可解性流转怎么算? 对 Omni-MATH-512 的每道题在 k=256 下判断是否可解,把从纯文本到 TIR 的变化分成扩张、保留、萎缩、双方都不可解四种(沿用 Wu et al. 的分类)。
  • ASPO 在哪里生效? 它不改变轨迹结构,只改变正确回答的优势值,所以可以不重训直接替换掉 Eq. 1 的奖励塑形。
06

整条 pass@k 曲线上移,连不擅长计算的题也一起涨

Table 6 给出全部数字:TIR 在三个基准、九个 k 值上全部领先;Figure 3 的桑基图显示净扩张远大于萎缩。

kAIME24
TIR
AIME24
纯文本
AIME25
TIR
AIME25
纯文本
OM-512
TIR
OM-512
纯文本
10.78290.63310.68410.51840.51280.3585
80.88250.80500.87920.72620.68690.5153
320.91730.84960.93390.78100.75450.5942
2560.96670.90000.96670.86670.82030.6836

Table 6 原表覆盖 k = 1, 2, 4, …, 256;这里保留 4 行,其余 2 / 4 / 16 / 64 / 128 未列出。评测温度 0.6,最大长度 16,384。

三个基准的走向一致,但增量分布很有信息量:

可解性流转:扩张 15.4%,萎缩 1.8%

Figure 3 显示,在 k=256 下纯文本模型解出 68.4%,TIR 解出 82.0%。逐题拆分:TIR 新解出的题占 15.4%,双方都解出的保留 66.6%,纯文本能解而 TIR 失败(萎缩)只有 1.8%,双方都未解出 16.2%。 附录 Figure 7 把「已解出」再按解出概率分档:TIR 一侧解出概率落在 (0.75, 1] 的题从 28.5% 升到 43.8%,而 (0, 0.25] 从 25.8% 降到 20.9%——不只是「多会几道」,还有一批准解出的题变得很稳。

算法友好度:最不友好的组也涨约 9%

论文用 Table 5 的五级 rubric(5 = 教科书算法直接可用,1 = 本质上抽象、不可计算)请 Gemini 2.5 Pro 给 Omni-MATH-512 逐题打分,再分成 G1–G5。 原文 §4.3 的表述是:即使在最低友好度的 G1–G2(分数 1.0–2.5)上,TIR 的 pass@256 仍领先约 9%。 所有图(Figure 1、2、4–6)的曲线只给了坐标轴与刻度,没有数值标签;Figure 1 / 5 / 6 与 Figure 4 的曲线读数均不对应任何表格,因此页面不引用其具体数值。

反直觉

「工具只是高级计算器」这个解释被否掉了

如果 TIR 只是在替模型做算术,收益应该集中在 G4–G5。论文观察到的分布恰恰相反:优势在中等友好度上也很大,最低友好度仍有约 9%。 第三种解释是「代码把某个已知算法直接落地」,论文在 §4.4 的案例里给出了反例——模型常常先用数学洞察把题目变形,再写代码(Table 7),或者先写短代码试算、再据此构造严格证明(Table 8)。

07

定理成立的前提很干净,而实验只覆盖了其中一小块

两个定理都是「存在性」结论:存在问题族、存在规模。真实环境下它们何时失效,论文只做了部分讨论。

边界一

证明依赖「工具能提供模型无法自造的信息」

Theorem 3.4 的严格性来自 random oracle:输出空间足够大,纯文本模型猜中概率是 2−m。对低熵的工具返回值(例如校验和的奇偶、一个二选一),这个论证就退化。 附录把结论推广到搜索、校验器、外部记忆、具身环境和带噪声工具,但这些只是 informal proposition,没有实验。

边界二

可行 support 的扩张要靠「规模」

Theorem 3.7 的严格性需要问题规模超过 nB。AIME、Omni-MATH 的题都不大,所以实验测到的是可解概率的提升,而不是「纯文本模型在预算内付不起」那一类扩张。真正的 feasible support 论证适用的场景是长迭代、大系统、大图搜索这类题目。

边界三

单一模型、单一工具、一个训练集

全部实验基于 Qwen3-8B + Python 解释器 + 10,000 道 DAPO 题,任务是数学竞赛。论文以「机制研究」为由解释了数据规模,但没有给出其他模型规模、其他工具或其他任务上的结果。算法友好度标签由 Gemini 2.5 Pro 生成,引入了一个未校准的外部评判者。

边界四

ASPO 的行为改变幅度未量化

论文给出了首次调用位置、代码轮数、代码占比、代码通过率的变化方向与部分数字,但 Figure 6 只画曲线不给数值;「保守」与「激进」两组的差异程度也只用「可调」描述,没有给出每次 δ、k 组合的具体读数。

什么时候别指望它:先问三个问题

一句话总结:论文把「工具为什么有用」从经验观察变成了两个严格包含关系,再用 ASPO 把「什么时候用」变成一个有界的优势偏置。 理论给了方向,实验给了量级,剩下的空白在问题规模、工具种类和评测者的鲁棒性上。