跳到正文
Hacker News· blackcat201·· 6 天前AI 评分41

SMITH:让 LLM 学会写工具并泛化到自身使用之外

Training LLMs to write tools generalized beyond self use

AI 导读

台湾大学与 Appier AI Research 提出 SMITH,一个用强化学习联合训练工具创建与工具使用的框架,论文已被 NeurIPS 2026 接收。

正文 · AI 翻译

已被 NeurIPS 2026 接收(海报展示)

SMITH:Schema-grounded Multi-task Iterative Tool Honing

  • Zhi Rui Tam1,2
  • Chieh-Yen Lin1
  • Yun-Nung (Vivian) Chen2
  • Shao-Hua Sun1,2
  • Hung-yi Lee2

1Appier AI Research   2National Taiwan University

阅读论文 查看代码

SMITH training loop: the same model invents a tool, uses it to solve problems, learns from the results, and gets better.
SMITH 是一个训练循环,而非固定的流水线:同一个策略发明工具、用它来解决问题,并根据使用是否成功进行优化。正是这种反馈让工具创建随时间不断改进。

摘要

工具增强语言模型受限于人类愿意编写的 API;现有的工具创建系统通过在推理时提示一个冻结的 LLM 来弥补这一点,导致编写工具的模型与使用工具的模型相互脱节,且没有信号表明它生成的 schema 是它实际能够调用的 schema。我们提出 SMITH(Schema-grounded Multi-task Iterative Tool Honing),一个在单一策略内联合训练工具创建与工具使用的强化学习框架。每次 rollout 要么是一个 build 任务(根据少量示例编写一个工具),要么是一个 use 任务(在留出问题上调用池中的工具)。三个独立的奖励维度分别捕捉 schema、代码和结果层面的失败,因此每种失败模式都贡献自己的梯度。一个 4B Qwen3 在 13 个带精确验证器的程序性推理任务上用 SMITH 训练后,在留出任务上达到 79.9 的宏平均准确率,在所有评估方法中最佳,并领先于一个未经训练的 30B-A3B 工具编写者。它还在 TabMWP-Hard 上达到 40.4,在域外 GQA 上达到 42.6(比最佳同骨干推理时基线高出 +7.6),且没有任何视觉或表格训练数据。当由一个冻结的 350M 学生模型调用时,我们的 4B 编写的工具与一个大一个数量级的编写者所产出的工具相当。同样的配方还能在不做修改的情况下提升 Qwen3-8B 和 Granite-3.3-8B。

79.9RG(未见)宏准确率,所有方法中最佳

32×输出 token 数比标准 CoT 少

+7.6在域外 GQA 上相比最佳基线的提升点数

42.9使用 SMITH 工具的 350M 模型的留出准确率

为什么工具创建和工具使用需要一起训练

工具增强 LLM 的能力仅限于别人已经为它写好的工具:一个计算器、一个搜索 API、一个 Python 沙箱。当合适的工具不存在时,智能体就卡住了。近期工作(LATM、CRAFT、TroVE、KTCE)让模型能够即时合成新工具,但几乎总是由一个强大的模型编写工具,再由另一个更弱的模型使用它。编写者永远不知道它的接口是否真的易于调用。

解耦的流水线

  1. 大型冻结 LLM 在推理时编写工具
  2. 另一个更弱的模型尝试调用它
  3. schema 模糊 → 调用错误 → 答案错误
  4. 没有梯度:编写者永远不知道它的 schema 失败了

SMITH:一个闭环

  1. 同一个策略编写工具(代码 + JSON schema)
  2. 同一策略稍后仅凭 schema 调用它
  3. 奖励根据该次使用是否成功来计算
  4. 梯度直接回传到工具编写者

这产生了论文必须解决的两个具体训练问题。奖励分解: 一个工具可能因为其代码错误、其schema错误、两者相互不一致,或者工具技术上正确但设计不佳而失败。每种情况都需要不同的纠正信号。循环评估:评估工具质量需要一个评判者,但模型评判自己的实时权重是不可靠的,而冻结的外部评判者永远不会随策略一起改进。

SMITH:基于 Schema 的多任务迭代工具打磨

SMITH 是一个多任务 RL 框架,使用 DAPO(GRPO 的 clip-higher 变体)训练,它将两种 rollout 类型混合到每个批次中:构建和 使用。两者都在同一策略内优化,因此工具创建和工具使用的梯度每一步都会更新相同的权重。

SMITH diagram: a build task produces a Python tool and JSON schema, tools are validated and stored in a pool, and a use task later invokes a pooled tool on a held-out question, feeding an execution-based reward back to the policy.
构建任务从少量示例中合成一个工具,并针对留出问题对其进行验证;通过验证的工具被存储在一个共享池中。使用任务随后仅接收 JSON schema,而非代码,并且必须调用正确的工具来回答新问题。由于同一个模型既编写又稍后调用每个工具,一个含糊或损坏的 schema 会直接受到惩罚,这是推理时提示无法提供的反馈循环。

任务 1构建:编写工具

策略看到 N = 4 个问题–答案对,必须推断出它们背后的通用过程,然后将其表达为一个 OpenAI 兼容的 (Python function, JSON schema) 对。然后该工具会针对 K = 16 个留出问题运行, 这些问题取自比构建它所用示例更难的难度区间;模型在生成时从未看到真实答案。一个只对简单归纳示例进行模式匹配的工具得分接近零;只有真正可复用的抽象才能存活。

走一遍示例

4 个上下文示例(简单区间)

  • 问:42 的二进制形式中有多少个 1 位?答:3
  • 问:255 的二进制形式中有多少个 1 位?答:8
  • ……还有 2 个

策略编写的工具

def solve(question: str) -> str:
    n = int(re.search(r"\d+", question).group())
    return str(bin(n).count("1"))
{
  "name": "solve",
  "description": "Counts the 1-bits in the
    binary form of the integer named in
    the question.",
  "parameters": {
    "type": "object",
    "properties": {
      "question": { "type": "string" }
    },
    "required": ["question"]
  }
}

13 / 16 个留出(更难)问题正确 → 被纳入工具池

任务 2使用:调用工具

策略接收一个目标问题和一个工具池条目:一个匹配的 领域工具加上两个来自无关类别的干扰工具,迫使它 识别正确的 schema。它最多有 T = 5 轮来调用工具并回答; 效率惩罚会阻止耗尽轮次预算。如果该类别还没有池工具, 模型必须先从相同的上下文示例中构建一个。

试一试:选择正确的工具

目标问题

“92,401 的二进制形式中有多少个 1 位?”

池条目——每个 schema 都命名为 solve(question);只有描述能区分它们

三个奖励轴,有意保持分离

SMITH 没有把所有东西都压缩成一个分数,而是将 格式、 执行 和 评判 反馈保留为独立的轴,输入到 DAPO 中,这样 每种失败模式都有自己的梯度,而不会被平均掉。

格式奖励

检查响应是否恰好包含一个 Python 块和一个 JSON 块,且其函数名 和参数确实匹配。格式错误的配对会终止 rollout,并在每个 轴上获得零奖励。

$$r^{\mathrm{fmt}} \in \{0,\ 0.5\}$$

评估奖励

该工具被交给一个评估器模型,评估器必须调用它来回答每个留出问题。 只有通过真实工具调用得到的答案才计入。模型不能通过在文本中推理出答案来 走捷径。

$$r^{\mathrm{eval}} = \frac{1}{|\mathcal{T}|}\sum_{j=1}^{|\mathcal{T}|} \mathbf{1}\!\left[\pi^{\mathrm{eval}}(q_j \mid \mathcal{C}, \mathcal{S}) \approx a_j\right]$$

评判奖励

一个 LLM 评判器对代码正确性、schema 质量和整体质量进行评分,并将其作为与执行奖励 分离 的轴,而不是合并进去。语法错误会被直接惩罚; schema/代码不匹配会使分数减半。

$$r^{\mathrm{judge}} = \begin{cases}-0.5 & \text{syntax error}\\ 0.5\, s_{\mathrm{overall}} & \text{schema}\neq\text{code}\\ s_{\mathrm{overall}} & \text{otherwise}\end{cases}$$

打破自我评判的循环性。 评估器 \(\pi^{\mathrm{eval}}\) 和评判器 \(\pi^{\mathrm{judge}}\) 都从与策略相同的基座检查点开始,然后 定期重新同步到最新的策略权重。这让评估器能够与 策略一起改进,而不会出现针对实时、仍在更新的权重进行评分的不稳定性。

使用任务正确性,并带有效率惩罚

令 \(c \in \{0,1\}\) 标记最终答案是否与真实答案匹配。奖励会按一个 效率乘数 \(\eta(\rho)\) 缩放,该乘数随着轮次比例 \(\rho = \min(n/T, 1)\) 的增长而衰减, 并带有下限 \(\eta_{\min}=0.3\),因此即使在轮次 限制下,策略也绝不会对正确性无动于衷(\(\eta_{\mathrm{mid}} = 0.7\)):

$$ r^{\mathrm{correct}} = 2c\,\eta(\rho), \qquad \eta(\rho) = \begin{cases} 1 - 2(1-\eta_{\mathrm{mid}})\rho & \rho \le 0.5 \\[2pt] \max\!\bigl(\eta_{\min},\ \eta_{\mathrm{mid}}\,(1-2(\rho-0.5))^2\bigr) & \rho > 0.5 \end{cases} $$

每个训练批次都被均匀拆分,\(\mathcal{B} = \mathcal{B}_{\mathrm{build}} \sqcup \mathcal{B}_{\mathrm{use}}\),其中 \(|\mathcal{B}_{\mathrm{build}}| = |\mathcal{B}_{\mathrm{use}}| = B/2\),并且 DAPO 在单次反向传播中累积两个损失: \(\mathcal{L} = \mathcal{L}_{\mathrm{DAPO}}(\mathcal{B}_{\mathrm{build}}) + \mathcal{L}_{\mathrm{DAPO}} (\mathcal{B}_{\mathrm{use}})\)。因此,构建和使用梯度在每一步都会更新相同的参数 \(\theta\)。任何具有 \(r^{\mathrm{eval}} > 0\) 的工具都会被推入一个共享的 Tool Pool,以供未来的使用任务 rollout 复用。这就是 SMITH 名称中的“迭代打磨”。

实验设置

SMITH 在来自 Reasoning-Gym 的 13 个程序性任务类别上训练,涵盖算术、算法、代数、博弈和逻辑推理,选择这些类别是因为它们的答案精确且可自动验证,并且每个类别都提供难度课程。工具在简单示例上被诱导,但在同一任务族中最难的最难区间上进行评分,从而有意将工具编写质量与实例难度分开。

13RG 训练任务类别

10完全留出的 RG 类别

N=4 / K=16构建示例 / 留出评估问题

T=5每次 rollout 的最大工具使用轮数

主要骨干模型是 Qwen3-4B-Instruct,使用 LoRA(r = 64,α = 128)进行微调, 采用 DAPO 进行 60 个梯度步,构建/使用 rollout 以 1:1 混合。该配方也未经修改地应用于 Qwen3-8B 和 Granite-3.3-8B,以测试跨模型家族的通用性。基线尽可能共享 Qwen3-4B-Instruct 骨干:推理时工具编写器 LATM、CRAFT、TroVE 和 KTCE; 蒸馏基线 ReTool(来自 Qwen-32B 轨迹)和 LATM (从 GPT-4.1 蒸馏);以及一个刻意的规模探测,Qwen3-30B-A3B 上的 LATM。 迁移在 TabMWP-Hard(一个增强的表格推理基准)和 GQA(视觉问答)上测量,两者在训练期间均未见过,并在 BFCL v4(一个外部指定的函数调用基准)上测量。

结果

Reasoning-Gym 上的主要结果

SMITH 是唯一在真正留出的任务上领先,同时使用最少 token 的方法。 与蒸馏相比,使用 SMITH 的 RL 目标训练的 4B 模型比从远更大的 oracle 蒸馏的 4B 模型更可靠地泛化:ReTool 在已见任务上领先(92.2),但在未见任务上下降近 30 分,这表明它过拟合了演示者的分布,而不是学习可迁移的构建和使用策略。与更复杂的推理时脚手架(CRAFT、TroVE、 KTCE)和更大的工具编写器(Qwen3-30B-A3B)相比,SMITH 在未见任务上仍然胜出,使用的输出 token 大约比标准思维链少 32 倍。

Reasoning-Gym 结果,Qwen3-4B-Instruct 骨干。脚手架和蒸馏基线报告种子重新评估的均值 ± 标准差。粗体 = 最佳,下划线 = 次佳。I/O = 平均输入 / 输出 token。
方法 已见
平均
未见 RG I/O token
逻辑博弈代数算术算法平均
标准 CoT58.049.960.356.862.748.655.7173 / 3,206
LATM* [Cai et al.]77.653.955.538.653.090.258.3607 / 174
LATM* – Qwen3-30B-A3B74.068.764.297.356.584.074.1659 / 405
CRAFT [Yuan et al.]74.1±0.727.4±1.389.5±0.094.2±1.276.6±1.195.0±0.076.5±0.41,226 / 418
TroVE [Wang et al.]52.6±0.460.7±2.410.6±1.351.2±3.559.8±0.897.0±0.055.9±0.6347 / 575
KTCE [Ma et al.]61.0±1.560.2±1.579.8±1.670.6±0.345.6±0.469.3±1.865.1±0.2319 / 404
ReTool(蒸馏 Qwen-32B)92.2±0.850.3±2.355.0±0.848.7±0.679.8±2.782.4±0.163.2±0.41,707 / 633
LATM(蒸馏 GPT-4.1)81.7±4.437.6±15.258.1±12.291.3±7.751.6±10.493.2±5.965.8±4.1638 / 207
SMITH85.2±2.774.2±0.663.7±1.197.9±2.670.6±2.193.0±0.479.9±2.2664 / 100

工具跨模型规模迁移

SMITH 的工具编码的是真正可复用的解决方案,还是只有编写者理解的私有约定?我们测试两个方向:将 RL 训练的 4B 编写器与一个小得多的消费者配对, 以及与一个大得多的消费者配对。

将经过 RL 训练的 4B 工具编写器与冻结的 LFM2.5-350M 消费者配对,可将其留出准确率从 11.6 提升至 42.9,与一个大八十倍的工具编写器(Qwen3-30B-A3B,未训练,41.5)相当。

无工具

11.6

+ Qwen3-4B(未训练编写器)

23.4

+ Qwen3-30B-A3B(未训练编写器)

41.5

+ SMITH 4B 编写器(我们的)

42.9

LFM2.5-350M 的 RG(未见)准确率随工具编写来源变化;编写器本身从未在 LFM2.5 的输出上微调。

反向也成立。将 SMITH 的 4B 编写工具与更强的 Qwen3-30B-A3B 消费者配对,在每个任务组上都优于该 30B 模型为自己编写工具(LATM*),在 TabMWP-Hard 上尤为明显(0.7 → 38.8),将任务加权总分从 70.2 提升至 76.6。更大的工具使用者并不会让自写工具更可取。无论哪种方式,SMITH 的 4B 编写器仍是更好的工具来源。

域外泛化

TabMWP-Hard(表格推理)和 GQA(视觉问答)均未出现在 SMITH 的训练数据中。SMITH 在 TabMWP-Hard 上 outright 领先,并且是唯一在任一列上登顶的 4B、非蒸馏方法。与 GPT-4.1 蒸馏的 LATM 在 GQA 上的差距,是未从更强 oracle 蒸馏视觉原语的公认代价。

域外泛化,Qwen3-4B-Instruct 主干。粗体 = 最佳,下划线 = 次佳。
任务CoTLATMLATM*(30B)CRAFTTroVEKTCEReToolLATM(蒸馏)SMITH
TabMWP-Hard7.219.70.730.036.427.23.07.140.4
GQA11.535.029.821.921.40.026.156.042.6

跨主干扩展

同一 RL 配方未经修改地应用,可改善所有测试的主干,包括从更弱基础开始的 Granite-3.3-8B。一个 Self-Judge 变体(Qwen3-8B 评判自己的 rollout,而非外部 30B-A3B 评判器)将留出 RG 推得更高(85.9),但牺牲了 OOD GQA,表明较小的自评判器更弱,但在分布内数据上偏差更小。

SMITH 应用于 Qwen3-8B 和 Granite-3.3-8B。粗体 = 每行组最佳。
方法RG(已见)RG(未见)TabMWPGQA
Qwen3-8B(基线)72.672.242.417.3
SMITH: Qwen3-8B79.481.756.728.7
SMITH: Self-Judge74.785.954.516.3
Granite-3.3-8B(基线)31.222.03.97.8
SMITH: Granite-3.3-8B39.128.54.511.7

对外部工具调用的泛化

SMITH 从未在 BFCL v4 的 schema、多轮轨迹或评判器上训练,因此这里的提升隔离出的是学到的工具使用先验,而非基准特定的拟合。它在两个 Qwen 主干上都提升了 BFCL 总体准确率,在 Qwen3-8B 上尤为明显。

BFCL v4(无网络子集),外部指定的函数调用 schema 在训练期间从未见过。
Qwen3-4B-InstructQwen3-8BGranite-3.3-8B
指标BaseSMITHBaseSMITHBaseSMITH
BFCL v445.148.643.355.836.338.7

消融:究竟是什么在驱动增益?

我们隔离联合训练——而非仅仅拥有一个专家构建器和一个专家使用者——是否是有效成分。将一个单独训练的 30B-A3B 构建器与一个单独训练的 4B 工具使用专家配对(Decoupled Create/Use)并未胜过仅在工具创建上训练的单一模型(58.9 vs. 68.8 RG Unseen)。只有完整目标——将执行奖励和评判奖励保持为解耦轴并在一个策略中闭环——才能达到最佳综合得分。

奖励结构消融实验,Qwen3-4B-Instruct。πeval:哪个模型在构建时评估中调用生成的工具。粗体 = 最佳,下划线 = 次佳。
方法πeval使用工具?RG(已见)RG(未见)TabMWPGQA
Qwen3-4B-Instruct(基础)不适用不适用61.947.019.720.9
工具创建30B-A3B否77.459.415.637.0
工具创建4B否73.968.817.735.8
解耦创建/使用30B-A3B是76.458.913.935.0
SMITH:无同步4B是80.366.925.824.6
SMITH:无 LLM 评判自身是82.667.818.342.6
SMITH:K = 1自身是78.673.946.832.3
SMITH:完整自身是86.678.340.442.6

仅工具创建带来了强劲的分布内提升,但在分布外 GQA 上表现不佳;将构建 与使用耦合而不解耦奖励,提升了分布内准确率,却损害了留出迁移。只有 将过程质量(格式、评判)与结果正确性(执行、使用)作为独立的奖励 维度保留,才能两者兼得。

结论

SMITH 联合训练单个语言模型来创建和使用可复用工具, 闭合工具编写者与工具使用者之间的反馈回路,使策略直接在其自身的执行结果上 得到优化。在 13 个 Reasoning-Gym 任务上训练后,4B 模型在所有评估方法中 取得了最高的留出准确率,在 TabMWP-Hard 上领先,并且其编写的工具能够迁移到 训练中从未见过的 350M 学生模型,与规模大一个数量级的编写者所编写的工具相媲美。 同样的配方无需修改即可提升 Qwen3-8B 和 Granite-3.3-8B:在单个训练策略内 耦合创建与使用,是一条可扩展的泛化路径,无需更大的冻结教师模型、 更复杂的脚手架或域外监督。

BibTeX

@inproceedings{tam2026smith,
  title     = {Joint Optimization of Tool Creation and Use for Large Language Model Agents},
  author    = {Tam, Zhi Rui and Lin, Chieh-Yen and Chen, Yun-Nung and Sun, Shao-Hua and Lee, Hung-yi},
  booktitle = {Advances in Neural Information Processing Systems (NeurIPS)},
  year      = {2026},
  eprint    = {2608.24571},
  archivePrefix = {arXiv},
  url       = {https://arxiv.org/abs/2608.24571}
}

来源:Hacker News · tool-use-smith.github.io