推出 Eleven v4认识 Eleven v4:迄今情感表现最丰富的模型。

跳至内容

什么是工具调用?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 系统会结合使用这两项能力,因为在许多使用场景中,获取知识库和调用实时工具都很重要。

RAG retrieves static knowledge; tool calling accesses live systems; most systems use both.

工具调用如何运作?

无论 AI 智能体 调用的是内部应用还是外部模型,工具调用都遵循相当标准的模式。

以下是工具调用运作方式的概览:

  1. 识别何时需要调用工具
  2. 从已连接系统中选择合适工具
  3. 创建并发送请求
  4. 执行请求并返回结果
  5. 模型回复或采取后续操作

下面逐一详细说明。

Five-step tool-calling flow from prompt to action; model requests, application executes.

第 1 步:识别何时需要调用工具

输入自然语言请求后,模型会读取提示词,并评估是否需要工具提供外部帮助。符合训练数据的问题无需外部帮助,但有些问题,例如超出模型语境范围的问题,则需要。

例如,“我们在 Salesforce 的第 2 季度销售额是多少?”和“我们的 Shopify 商店当前活跃用户数是多少?”这类问题都需要调用工具。

第 2 步:从已连接系统中选择合适工具

模型可访问的每个工具都有一个架构:名称、说明其功能的自然语言描述,以及可接受的参数。模型会将请求与这些描述逐一对照,找到适合任务的正确工具。尤其当智能体拥有大量工具目录时,它会运行内部流程筛选相关工具,因为手动遍历数百个工具会大幅拖慢找到正确调用工具的速度。

第 3 步:创建并发送请求

选择正确工具后,模型会构建结构化调用,通常采用 JSON 格式。该调用会定义要调用的工具及请求所含内容。例如,查询 Bogota 的天气可能如下:{"name": "get_weather", "arguments": {"city": "Bogota"}}。模型输出此调用,应用层会在下一步执行它。

第 4 步:执行请求并返回结果

应用层接收模型的请求,运行工具或调用 API 来执行请求。随后,响应会作为额外语境传回原始模型,模型再据此生成对用户的回复。

第 5 步:模型回复或采取后续操作

获得工具调用返回的数据或信息后,模型会用自然语言回复用户,或确认已完成特定操作。如果用户想完成的是面向操作的任务,例如在特定平台发布消息或将数据录入数据库,就会采用后者。

若任务需要更多步骤,模型会相应重复第 1 至第 4 步。更复杂的请求可能需要调用多个工具,才能生成最终回复。例如,用户若想了解当前汇率并兑换货币,模型就必须按顺序执行多个步骤来达成目标。

工具调用的类型

工具调用指模型向外部系统请求超出其基础训练范围的数据的任何情况。实际过程可能调用多个不同系统,而不同使用场景会用到不同类型的工具。

  • 信息检索:从 API、已连接的企业数据库或搜索索引等外部来源提取数据,以回答超出模型原始训练语境范围的问题。
  • 代码执行:通过代码环境运行任何脚本、数据转换流程或计算。它通常用于分析数据,而非仅描述分析在实践中的运作方式。
  • 流程自动化:指 API 调用触发另一系统中的特定工作流,例如与 CMS 交互、安排 会议、更新记录、发送通知,或将请求转化为已完成操作。这在代用户执行任务的智能体系统中尤为常见。
  • 设备和系统控制:与其他设备、电话系统、智能家居助手等交互的工具调用,都属于这一类别。

工具调用往往不会只明确属于其中一种类别。你可能会使用多步骤的链式调用,将上述多个类别持续串联起来。例如,可以先获取客户的订单状态,再触发退款,然后更新内部 CRM,并将该信息转告人工客服。

Four types of tool calling: retrieval, code, automation, and device control, often chained.

工具调用与函数调用:主要区别

工具调用比函数调用更广泛,涵盖更大的范围和更多样的潜在能力。函数调用是指模型针对预定义函数生成带参数的结构化调用。

下表列出了工具调用与函数调用的区别。

Function calling
Overall scope
A model that can generate a function call for a specific predetermined action
Origin
OpenAI introduced the term back in 2023
Relationship
A narrow subset of tool calling
Commonly found
Within older API documentation or legacy parameters
Tool calling
Overall scope
A wide capability that relates to calling APIs, executing code, and interacting with external systems
Origin
The wider industry term that has now become popularized, stemming from a model’s ability to interact with multiple external tools
Relationship
A broad concept that includes function calling
Commonly found
Modern documentation used by most AI companies
Function calling is a narrow subset of tool calling; terms are often used interchangeably.

工具调用有多可靠?

工具调用的可靠性完全取决于发起调用的模型。同样,故障在不同系统中可能呈现不同形式。例如,一个 AI 模型在工具调用失败后可能直接产生幻觉式回答,另一个则可能提示用户重试。

伯克利函数调用排行榜是常被引用的排行榜,用于比较不同模型的工具调用表现。尽管它被称为函数调用排行榜,但实际上会通过测试模型的 API 调用、从数据库查询收集信息、运行并行调用或在多轮对话中回应,来衡量工具调用效率。

模型会在总成本、网页搜索能力、多轮对话准确性、幻觉测量、延迟等方面接受评估。如果你要运行复杂或多步骤工作流,了解哪些模型具备更全面的工具调用能力会很有帮助。

使用 ElevenAgents 开始工具调用

在 ElevenAgents 中,你可以从多个模型中选择,让工作负载匹配 最合适的底层模型。语音智能体 可以调用工具、查询订单、检查记录、更新数据库,并从 API 收集信息。

你可以调用多种工具,包括用于调用外部 API 的 webhook 工具、用于在应用或浏览器中触发操作的客户端工具、用于自定义服务器端逻辑的代码工具、连接外部工具服务器的 MCP 工具,以及用于转接人工客服等内置操作的系统工具。

ElevenLabs 还提供 预构建原生连接器,可连接 Zendesk、HubSpot、Salesforce 等众多服务,免去配置自定义设置的麻烦。进一步了解 ElevenAgents 或 注册,立即开始构建支持工具调用的语音智能体。

常见问题

作者

Jack Limebear 隶属于增长团队,负责博客和洞察页面的内容撰写与策略。加入 ElevenLabs 前,他曾在多家快速成长的 SaaS 初创公司和世界 500 强企业,拥有十余年内容策略管理经验。剑桥大学英语文学硕士。

相关内容

用高质量 AI 音频创作