Tool Learning -- 定义框架与研究范畴

2025-11-17

核心摘要: 本讲义旨在界定 Tool Learning 的本质,即从“纯语言分布拟合”向“认知能力 + 外部行动接口”的范式转变。我们建立了一个包含四个阶段的形式化定义,并据此推导出六大核心研究问题。

1. Tool Learning 的定义(本质刻画)

要给出一个严谨且具有扩展性的定义,关键在于避免将其简单等价为“API 调用”或“插件使用”。Tool Learning 的本质是语言模型认知边界的扩张。

1.1 形式化定义

定义 (Tool Learning Context): 给定一个语言模型 MM 和一个外部功能集合 T={Ti}\mathcal{T}=\{T_i\}。其中,每个工具 TiT_i 被定义为一个可调用的算子,包含:

Tool Learning 指的是使模型 MM 具备在任务分布 D\mathcal{D} 下完成以下四步闭环的能力:

  1. 意图识别与需求判断 (Necessity) 从语言输入 qq 中判断当前上下文是否超出模型内部知识边界,从而决定是否介入外部工具。

    Decision=πneed(q,context){0,1}\text{Decision} = \pi_{\text{need}}(q, \text{context}) \in \{0, 1\}

  2. 工具选择 (Selection) 在工具集合 T\mathcal{T} 上执行条件概率最大化选择:

    T=argmaxTiTPr(Tiq,context)T^* = \arg\max_{T_i \in \mathcal{T}} \Pr(T_i \mid q, \text{context})

  3. 调用指令生成 (Invocation) 构造满足工具约束 Ci\mathcal{C}_i 的具体调用参数 xix_i

    xi=gparam(q,history)s.t.xiXix_i = g_{\text{param}}(q, \text{history}) \quad \text{s.t.} \quad x_i \in \mathcal{X}_i

  4. 反馈整合 (Integration) 将工具的执行结果 yi=Ti(xi)y_i = T_i(x_i) 与原始查询结合,进行二次推理以生成最终回复 aa

    a=Infer(q,yi,internal_knowledge)a = \text{Infer}(q, y_i, \text{internal\_knowledge})

1.2 本质理解

可以将 Tool Learning 理解为:

Tool Learning = 语言模型具备条件行动能力 (Conditional Action Capability)

它不是简单的“额外插件 (Add-on)”,而是将模型从一个静态的语言分布拟合器,扩展为一个动态的语言 + 外部算子混合计算系统。模型借此获得了扩展其计算图(Computation Graph)的能力。

2. 研究问题分类 (Research Taxonomy)

基于上述定义,Tool Learning 的研究并非单纯的 Pipeline 工程,而是可以从数学和认知角度被分解为六大研究范畴。

2.1 工具表征与语义理解 (Tool Representation)

Focus: Tools as Semantic Objects

核心问题:如何让模型理解“工具是什么”、“能做什么”以及“调用的边界在哪里”。

2.2 工具需求判断 (Necessity Detection)

Focus: When to use tools?

核心问题:权衡“内部知识求解”与“外部工具求解”的决策边界。

2.3 工具检索与选择 (Tool Selection/Retrieval)

Focus: Which tool to use?

核心问题:在海量(可能是百万级)工具库中定位最合适的工具。

2.4 参数生成与控制 (Invocation/Grounding)

Focus: How to use tools?

核心问题:将自然语言意图转化为严格符合 API 规范的结构化数据。这是当前系统中错误率最高的环节。

2.5 结果整合与决策 (Output Integration)

Focus: How to use tool outputs?

核心问题:如何处理工具返回的非自然语言信息(如大段 JSON、报错、表格),并将其融合进推理链。这是理论上最重要但常被忽视的环节。

2.6 序列规划 (Planning & Composition)

Focus: Complex Task Solving

核心问题:当单一工具无法解决问题时,如何规划一个工具调用序列 (Ti1,Ti2,)(T_{i_1}, T_{i_2}, \dots)

3. 讲义小结 (Summary)

维度关键定义 / 问题
基本定义Tool Learning = Conditional Action + Tool-augmented Computation
What工具理解:将工具视为具有语义和功能的实体
When需求判断:学习 πuse\pi_{\text{use}} 策略,平衡内外部知识
Which检索选择:高维空间中的离散选择与排序问题
How (Call)参数生成:自然语言 \to 形式化 API 调用 (Grounding)
How (Fuse)结果整合:异构信息融合与置信度控制
Complex规划组合:多步推理与工具链编排 (Chaining)

主题: 工具学习, agent