什么是工具调用?AI 集成完整指南
- 发布时间
AI 模型利用训练数据进行推断和延展,为用户提供回答。但当请求超出这些初始信息的范围时,该怎么办?
工具调用可弥合这些知识和功能缺口,让模型向外部工具和系统请求额外帮助,例如触发发送更新等操作,或从数据仪表板获取内容。
本文将介绍什么是工具调用、它与函数调用有何区别,以及 ElevenAgents 如何将工具调用用于 对话式 AI 工作流。
摘要
- 工具调用让 AI 模型能够触发操作,并从外部工具和 API 请求信息。
- AI 模型不会主动运行工具,而是由应用层执行请求。
- 工具调用遵循 5 个步骤,同一请求中可能会激活多个不同工具。
- 工具调用可用于信息检索、代码执行、设备控制,以及工作流和流程交互。
- ElevenAgents 在语音智能体中支持工具调用,让 对话式 AI 助手代你完成任务。
什么是工具调用?
工具调用是 AI 模型的一项能力,使其能够与其他系统交互。这类系统可以是数据库、API、软件,或任何能让模型执行超出训练数据范围功能的对象。
工具调用会生成请求,由第三方系统执行任务,通常采用 JSON 格式。AI 系统通过工具调用查询外部系统、获取实时信息、执行命令或完成操作。调用工具的能力让智能体 AI 能够访问外部资源,并动态使用第三方系统,从而完成更复杂或多步骤的任务。
调用工具的能力,正是智能体 AI 助手与只能根据已有知识作答的 LLM 的区别所在。
为什么工具调用很重要?
大语言模型通过海量历史数据训练来发展能力。这让它们能够强大地响应用户、提供信息,但也难以超越初始训练上下文和信息语料库。若你向 LLM 询问超出其范围或能力的信息,它们就需要外部帮助才能给出结果。
工具调用正是这种外部帮助,让 LLM 能从其他来源获取最新数据,或集成到企业已在运行的实时系统中,例如第三方 API 或内部数据库。
工具调用为 AI 系统带来许多优势:
- 减少幻觉:依赖直接工具调用验证信息的系统,基于证据和数据运作,而非可能编造信息或根据训练数据推断。
- 更强自主性和更广范围:支持工具调用的 LLM 能完成不只是提供信息的操作。
- 实时回答:通过查询实时来源,LLM 可从数据库或 API 调用中获得实时数据,提供仅依靠训练数据无法获取的最新信息。
- 自动化多步骤流程:原本需要你与多个不同系统交互的任务,现在只需向具备工具调用能力的 LLM 输入一个提示词。它无需你离开交互窗口,就能查询其他系统并获取信息。
Gartner 预测,到 2026 年年底,40% 的企业应用 将集成任务专用的 AI 智能体,而 2025 年这一比例不足 5%。能为任务调用正确工具的模型可增强自身能力,让用户通过自然语言提示词完成更多工作。
工具调用与检索增强生成(RAG)
检索增强生成和工具调用都用于搜索模型训练数据上下文以外的数据,但侧重点不同。RAG 主要用于静态内容,包括文章、文档和 连接到模型的知识库。它为 LLM 提供额外上下文,帮助生成更全面的回答。
工具调用用于动态获取信息,包括持续变化的实时系统。RAG 可以获取某一年的定价 PDF,而工具调用可立即从已连接的系统中获取实时价格。大多数 LLM 系统会结合使用这些能力,因为在许多应用场景中,知识库和实时工具都很重要。

工具调用如何运作?
无论 AI 智能体调用内部应用还是外部模型,工具调用都遵循相当标准的模式。
以下是工具调用的高层概览:
- 识别何时需要调用工具
- 从已连接系统中选择合适工具
- 创建并发送请求
- 执行请求并返回结果
- 模型响应或采取进一步操作
下面详细说明。

第 1 步:识别何时需要调用工具
输入自然语言请求后,模型会读取提示词,并评估是否需要工具提供外部帮助。与训练数据相符的问题无需外部帮助,但超出模型上下文的问题则需要。
例如,“我们在 Salesforce 的第 2 季度销售额是多少?”和“Shopify 商店当前有多少活跃用户?”这两个问题都需要调用工具。
第 2 步:从已连接系统中选择合适工具
模型可访问的每个工具都有一个架构:名称、说明其功能的自然语言描述,以及可接受的参数。模型会将你的请求与这些描述逐一比较,以找到适合任务的正确工具。尤其当智能体拥有大量工具目录时,它会通过内部流程筛选相关工具;因为手动遍历数百个工具会大幅拖慢找到正确调用工具的速度。
第 3 步:创建并发送请求
选择正确工具后,模型会构建结构化调用,通常采用 JSON 格式。该调用会定义要调用的工具及请求包含的内容。例如,查询 Bogota 的天气可能如下:{"name": "get_weather", "arguments": {"city": "Bogota"}}。模型输出此调用后,应用层会在下一步执行它。
第 4 步:执行请求并返回结果
应用层接收模型请求,运行工具或调用 API 执行请求。响应随后作为更多上下文传回原始模型,用于生成对用户的回复。
第 5 步:模型响应或采取进一步操作
模型获得工具调用返回的数据或信息后,会使用自然语言回复用户,或确认已执行某项具体操作。如果用户希望完成的具体任务面向操作,例如向特定平台发布消息或将数据录入数据库,就会出现后者。
如果任务需要更多步骤,模型会相应重复第 1 至第 4 步。更复杂的请求可能需要调用多个工具,才能生成最终回复。例如,若用户想查询当前汇率再进行货币兑换,模型必须依次执行多个步骤才能实现这一目标。
工具调用类型
工具调用指模型向外部系统请求超出其基础训练范围的数据。实际流程可能调用多个不同系统,而不同应用场景也会使用不同类型的工具。
- 信息检索:从 API、已连接的企业数据库或搜索索引等外部来源获取数据,以回答超出模型原始训练上下文范围的问题。
- 代码执行:通过代码环境运行任意脚本、数据转换流程或计算。通常用于分析数据,而非只描述分析在实际中如何运作。
- 流程自动化:指 API 调用在另一系统中触发特定工作流,例如与 CMS 交互、安排会议、更新记录、发送通知,或将请求转化为已完成的操作。这在为个人执行任务的智能体系统中尤其常见。
- 设备和系统控制:与其他设备、电话系统、智能家居助手等交互的工具调用,均属于这一类别。
工具调用通常不会严格归入某一种类别。多步骤和链式调用可能会连续组合上述多个类别。例如,你可以获取客户订单状态,然后触发退款、更新内部 CRM,并将该信息传达给人工客服。

工具调用与函数调用:关键区别
工具调用比函数调用涵盖的范围更广,潜在能力也更多样。函数调用是指模型为预定义函数生成包含参数的结构化调用。
下表说明工具调用与函数调用的区别。

工具调用有多可靠?
工具调用的可靠性完全取决于发起调用的模型。同样地,故障在不同系统中的表现也可能不同。例如,一个 AI 模型在工具调用失败后可能直接产生幻觉答案,另一个则可能提示用户重试。
Berkeley Function Calling Leaderboard 是一个常被引用的排行榜,用于比较不同模型在工具调用方面的表现。虽然被称为函数调用排行榜,但实际上它通过测试模型的 API 调用、从数据库查询收集信息、执行并行调用,以及在多轮对话中响应的能力,来衡量工具调用效率。
评估模型的指标包括总成本、网页搜索能力、多轮对话准确率、幻觉测量、延迟等。如果要运行复杂或多步骤工作流,了解哪些模型具备更全面的工具调用能力会很有帮助。
使用 ElevenAgents 开始工具调用
在 ElevenAgents 中,你可以从多个模型中选择,使工作负载匹配 最合适的底层模型。语音智能体 可调用工具、查询订单、检查记录、更新数据库,并从 API 收集信息。
你可以调用多种工具,包括用于调用外部 API 的 webhook 工具、在应用或浏览器中触发操作的客户端工具、用于自定义服务器端逻辑的代码工具、连接外部工具服务器的 MCP 工具,以及用于转接人工客服等内置操作的系统工具。
ElevenLabs 还提供 预构建原生连接器,可连接 Zendesk、HubSpot、Salesforce 等众多服务,无需配置自定义设置。了解更多关于 ElevenAgents 的信息,或 注册,立即开始构建支持工具调用的语音智能体。

.webp&w=3840&q=80)
