Tool Use
分类: 高效推理与部署
Tool Use
定义
Tool Use 指让大语言模型在推理过程中调用外部工具(搜索引擎、计算器、代码解释器、API 等)来弥补自身的知识和计算局限,是构建 LLM Agent 的核心能力之一
核心要点
动机:LLM 擅长语言推理但有固有缺陷——数学计算不精确、知识有截止日期、无法访问实时信息。工具使用将 LLM 从”全能选手”转变为”调度者”
Toolformer(Schick et al., 2023):模型自监督地学习在文本中插入 API 调用(计算器、搜索、翻译等),无需人类标注工具使用数据
函数调用(Function Calling):现代 LLM(GPT-4、Claude)原生支持结构化工具调用——模型输出 JSON 格式的函数名和参数,由外部系统执行并返回结果
工具选择问题:当可用工具数量很大时,模型需要准确判断何时用工具、用哪个工具、如何传参——这本身是一个规划/推理任务
RAG 作为一种 Tool Use:检索增强生成(Retrieval-Augmented Generation)本质上是让 LLM 使用”搜索知识库”这个工具
Agent 框架:ReAct、AutoGPT、LangChain 等框架将 Tool Use 系统化——定义工具集、观察格式、决策循环
安全考量:工具调用涉及真实世界操作(发邮件、写文件、执行代码),需要权限控制和人类审批机制
CS224N 后半部分讨论 LLM 从语言模型到通用 Agent 的演进
代表工作
Toolformer: Language Models Can Teach Themselves to Use Tools (Schick et al., 2023)
ReAct: Synergizing Reasoning and Acting in Language Models (Yao et al., 2023)
Gorilla: Large Language Model Connected with Massive APIs (Patil et al., 2023)