Tool Calling
Tool Calling(工具调用)是大型语言模型(LLM)与外部工具或API进行交互的一种能力机制。模型在生成响应过程中,能够识别用户意图并输出结构化的工具调用指令,由运行时环境执行相应函数或服务后将结果返回给模型,从而完成信息检索、代码执行、数据操作等超出纯文本生成范畴的任务。该机制是构建AI Agent和复杂自动化工作流的基础能力之一。
核心事实
时间轴 (近 90 天)
模型通常将工具返回的`success`视为事实,而不会独立核验系统状态,这源于训练数据中工具返回与任务完成的高度相关性。
Tool Calling机制中,AI模型生成JSON Schema来描述需要调用的函数名与参数,从而避免幻觉执行。
在无状态函数中,每轮工具调用之间必须把完整上下文序列化后传给下一轮,调用链越长,开销和出错概率越高。
LangChain中的Tool通常是一个带有名称、描述和参数Schema的Python函数,Agent通过提示词让模型理解可用工具及适用场景。
在工具调用循环中,包含tool_calls的assistant消息必须原样回传历史,不能重新构建,否则API无法正确匹配。
LLM工具调用(Tool Calling/Function Calling)是大模型的一种能力:模型按照预设的JSON Schema生成结构化的工具调用请求,由外部代码执行后将结果回传给模型,模型再基于结果继续推理。
工具调用中模型可能生成不符合Schema的参数、遗漏必填字段,或在多轮调用中混淆工具,因此生产环境通常需要在模型与工具之间加一层校验与容错逻辑。
由于大模型API的无状态设计,整个tools数组必须在每一次请求中重新发送,与system prompt和对话历史并列。
Tool Calling 是大语言模型的一种能力:模型在生成回复时输出结构化 JSON 表明要调用哪个函数、传什么参数,但模型只输出意图、不执行代码,执行责任在应用侧。
当工具数量少、归属单一应用、生命周期与主程序同步时,直接使用 Spring AI 的 @Tool 注解式 Tool Calling 是最简单高效的方案。
还有 22 条时间轴事件
全部知识事实 (20)
Function Calling(Tool Use)是大模型调用外部工具的标准化机制,开发者预先声明工具名称、描述和参数Schema,模型自主判断何时调用
90%已验证Tool Use(工具调用)的底层机制是开发者预先定义工具的名称、描述和参数结构(Schema),模型在推理时判断何时调用哪个工具并输出结构化调用指令
90%已验证2024年以来,OpenAI、Anthropic、Google等公司纷纷推出Agent框架
90%已验证Agent通过工具调用(Tool Calling)机制,允许模型以结构化JSON格式输出调用意图,由外部程序执行真实操作后将结果反馈给模型
80%已验证工具调用(function calling)是指大语言模型在生成回复过程中可以主动请求调用外部函数或API
80%已验证AI SDK 是一套帮助开发者构建 AI 应用的工具集,抽象了与大语言模型交互的通用逻辑,例如流式响应、消息状态管理、工具调用
75%已验证工具调用的基本原理是模型识别需要外部能力的场景,输出结构化的函数调用请求(通常为JSON格式),由外部系统执行后返回结果给模型继续推理
75%已验证客户端拿到工具执行结果后需构造role为tool的消息,携带对应的tool_call_id和执行结果回传给模型
75%已验证工具调用能力的关键突破在于模型能生成结构化函数调用请求并正确解析工具返回结果后继续推理,而非简单将工具输出拼接进提示词
75%已验证深度研究功能将单次用户查询分解为多步骤自主研究任务,调用网络搜索和文档分析等工具,由大语言模型推理综合输出结构化报告
75%已验证工具本质上是对外部能力的函数封装,配合JSON Schema描述让模型理解工具的功能与参数格式
75%已验证LangChain是一个开源框架,核心能力是将大语言模型与外部计算资源和数据源结合
75%已验证Function Call并非真正执行代码,模型只输出结构化的JSON字符串,真正的执行由宿主程序完成
75%已验证工具的命名、描述和参数说明是Agent决定何时调用工具的关键上下文,可理解为一种提示词工程
70%已验证OpenAI的function calling/tool use机制属于硬约束,由模型推理引擎在解码阶段直接约束输出token的合法集合,从而在协议层保证格式合规
70%已验证工具调用中模型可能生成不符合Schema的参数、遗漏必填字段,或在多轮调用中混淆工具,因此生产环境通常需要在模型与工具之间加一层校验与容错逻辑。
65%已验证Tool Calling 是大语言模型的一种能力:模型在生成回复时输出结构化 JSON 表明要调用哪个函数、传什么参数,但模型只输出意图、不执行代码,执行责任在应用侧。
65%已验证工具调用(Function Calling / Tool Use)能力使LLM得以输出结构化的意图指令,由外部执行层捕获并实际操作系统
65%已验证工具调用(Function Calling/Tool Use)是Agent系统的核心能力,允许模型动态调用搜索引擎、代码解释器、数据库查询、API接口等外部资源
65%已验证函数调用的感知→推理→调用→反馈闭环是ReAct(Reasoning + Acting)框架的工程化实现
65%