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)

相关概念

ReAct

Tree-of-Thought