Tool Learning -- 定义框架与研究范畴
2025-11-17
核心摘要: 本讲义旨在界定 Tool Learning 的本质,即从“纯语言分布拟合”向“认知能力 + 外部行动接口”的范式转变。我们建立了一个包含四个阶段的形式化定义,并据此推导出六大核心研究问题。
1. Tool Learning 的定义(本质刻画)
要给出一个严谨且具有扩展性的定义,关键在于避免将其简单等价为“API 调用”或“插件使用”。Tool Learning 的本质是语言模型认知边界的扩张。
1.1 形式化定义
定义 (Tool Learning Context): 给定一个语言模型 和一个外部功能集合 。其中,每个工具 被定义为一个可调用的算子,包含:
-
输入空间
-
输出空间
-
使用约束 (Constraints/Schema)
Tool Learning 指的是使模型 具备在任务分布 下完成以下四步闭环的能力:
-
意图识别与需求判断 (Necessity) 从语言输入 中判断当前上下文是否超出模型内部知识边界,从而决定是否介入外部工具。
-
工具选择 (Selection) 在工具集合 上执行条件概率最大化选择:
-
调用指令生成 (Invocation) 构造满足工具约束 的具体调用参数 :
-
反馈整合 (Integration) 将工具的执行结果 与原始查询结合,进行二次推理以生成最终回复 :
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
核心问题:如何让模型理解“工具是什么”、“能做什么”以及“调用的边界在哪里”。
-
数学本质:建立自然语言描述 到工具功能语义空间 的映射。
-
难点:工具的语义不同于纯文本语义,它包含“可供性 (Affordance)”和“过程性 (Procedural)”特征。
-
关键子问题:
-
Schema Grounding:理解 JSON/文档形式的工具描述。
-
Tool Embedding:将工具映射为向量空间中的实体。
-
Affordance Prediction:预测某工具能解决何种类型的问题。
-
Zero-shot Generalization:如何处理训练集中未见过的工具。
-
2.2 工具需求判断 (Necessity Detection)
Focus: When to use tools?
核心问题:权衡“内部知识求解”与“外部工具求解”的决策边界。
-
数学形式:二分类或门控策略学习 。
-
关键考量:
-
内/外知识边界:什么时候 LLM 自身就能解决?
-
成本与风险建模:调用工具带来的延迟、Token 消耗或潜在风险。
-
-
典型失效模式:
-
Over-reliance(滥用):即便是简单闲聊也触发搜索工具。
-
Under-reliance(误用):在需要精确计算时强行幻觉。
-
2.3 工具检索与选择 (Tool Selection/Retrieval)
Focus: Which tool to use?
核心问题:在海量(可能是百万级)工具库中定位最合适的工具。
-
数学形式:Retrieval + Ranking 任务。
-
研究方向:
-
检索机制:稀疏检索 (BM25) vs 密集检索 (Dense Retrieval/Contriever)。
-
结构化索引:构建工具图谱 (Graph of Tools) 进行导航。
-
多工具规划:选择一组互补的工具集合。
-
2.4 参数生成与控制 (Invocation/Grounding)
Focus: How to use tools?
核心问题:将自然语言意图转化为严格符合 API 规范的结构化数据。这是当前系统中错误率最高的环节。
-
数学形式:结构化生成函数 。
-
研究方向:
-
Slot Filling:从文本中抽取关键参数。
-
Format Alignment:严格遵循 JSON/Python 语法约束。
-
Exception Handling:当参数非法时的自我修正机制。
-
2.5 结果整合与决策 (Output Integration)
Focus: How to use tool outputs?
核心问题:如何处理工具返回的非自然语言信息(如大段 JSON、报错、表格),并将其融合进推理链。这是理论上最重要但常被忽视的环节。
-
数学形式:融合推理 。
-
关键子问题:
-
Information Compression:从冗长的工具返回中提取关键证据。
-
Noise Filtering:过滤无关或错误的工具输出。
-
Trust Calibration:如何平衡工具提供的“外部证据”与模型内部的“先验知识”?(避免被错误工具误导)。
-
2.6 序列规划 (Planning & Composition)
Focus: Complex Task Solving
核心问题:当单一工具无法解决问题时,如何规划一个工具调用序列 。
-
本质:将 Tool Learning 视为“可执行语言模型 (Executable LM)”的路径规划问题。
-
研究方向:
-
推理框架:ReAct, CoT-Planning。
-
搜索算法:在工具状态空间中进行 DFS / BFS / A* 搜索。
-
自我修正:基于执行反馈的 Refinement / Counterfactual Rollouts。
-
3. 讲义小结 (Summary)
| 维度 | 关键定义 / 问题 |
|---|---|
| 基本定义 | Tool Learning = Conditional Action + Tool-augmented Computation |
| What | 工具理解:将工具视为具有语义和功能的实体 |
| When | 需求判断:学习 策略,平衡内外部知识 |
| Which | 检索选择:高维空间中的离散选择与排序问题 |
| How (Call) | 参数生成:自然语言 形式化 API 调用 (Grounding) |
| How (Fuse) | 结果整合:异构信息融合与置信度控制 |
| Complex | 规划组合:多步推理与工具链编排 (Chaining) |
主题: 工具学习, agent