Tool Calling

别名:工具调用 / Function Calling / 函数调用 / Tool Use / 工具使用 / Plugin / 插件

让模型选择函数、生成 JSON 参数,由运行时执行并回填结果;schema、鉴权和错误处理是关键。

更新于 2026/11/08
Agent工具API

一句话定义

Tool Calling 是让模型输出结构化的函数调用请求(函数名 + JSON 参数),由外部运行时执行,再把结果写回上下文。模型不直接执行代码。

为什么需要它

模型本身不能查数据库、发请求或跑代码。工具调用把“说”变成“做”,让 Agent 能获取实时信息、执行动作;但参数错误、权限和副作用必须由运行时控制。

关键概念

Function Calling

模型按 function schema 生成参数,运行时校验后执行。schema 要写清类型、必填项、枚举和描述。

Tool Use

更广义的工具使用:搜索、数据库、代码执行、浏览器、API 都算;可以是函数,也可以是外部服务。

Plugin

把一组工具打包成可安装/可发现的插件;MCP 则是统一的工具接入协议。

Tool Calling:让模型选择并执行函数

关键取舍

  • 工具越多,选择冲突和误用概率越高;要分组、命名和权限控制。
  • 返回值要结构化、可读、可截断;否则会撑爆上下文。
  • 写操作/支付/删除要有确认、幂等和回滚。
  • 错误要回填给模型,让它重试或改参数,而不是静默失败。
  • 参数校验要覆盖类型、枚举、必填和范围;错误码、超时和幂等也要设计。
  • 工具多时先检索/分组,描述避免歧义;写操作要人工确认。
  • 评测看调用准确率、参数正确率和任务成功率。

常见误区

  • 模型调用工具等于模型执行工具:执行在运行时。
  • 工具描述可以随便写:描述和 schema 直接决定调用质量。
  • 工具越多越强:选择成本和冲突会上升。
  • 插件等于 MCP:插件是打包方式,MCP 是协议。

用在哪里

  • 搜索、数据库查询、代码执行、文件操作。
  • Agent 的 API/工具接入层。
  • 企业系统集成与权限受控的自动化。

相关概念

  • MCP:统一工具接入协议。
  • Agent Workflow:工具调用的编排与状态。
  • ReAct:思考与行动交替的范式。