服务热线400-652-1008
English
ENCYCLOPEDIA · AI 智能体百科

工具调用(Function Calling)

北京国信诚商互联网科技有限公司 提供AI 智能体搭建等服务,支持自有域名交付与全国范围线上培训。

工具调用是让大模型在回答过程中请求执行外部函数的能力,模型负责判断「该调什么、传什么参数」,真正的执行由业务系统完成。

本文由北京国信诚商互联网科技有限公司整理 · 更新于 2026-10-31

基本定义

工具调用(Function Calling,也称 Tool Use)是指开发者预先向模型描述一组可用函数及其参数结构,模型在对话中判断需要调用哪个函数、生成符合结构的参数,由业务系统执行后把结果回传给模型继续生成答案。

它解决了大模型「只会说、不会做」的问题:查库存、下单、发邮件这类动作,模型本身没有能力执行,但可以决定何时调用、调用谁。

一次调用的完整流程

理解这条链路,才能判断问题出在哪一环。

  • 注册:把函数名称、用途、参数结构告知模型
  • 判断:模型根据用户意图决定是否调用、调用哪个
  • 生成参数:模型输出结构化参数,通常为 JSON
  • 执行:业务系统校验参数并执行真实操作
  • 回传与生成:结果返回模型,模型组织自然语言答复

常见失败原因

工具调用出错,多数不是模型能力问题,而是设计问题。

  • 函数描述含糊:模型不知道何时该用,导致该调不调
  • 参数缺少约束:出现必填缺失、类型错误
  • 工具过载:一次给几十个函数,选择准确率下降
  • 缺少幂等与校验:重复调用造成重复下单等严重后果

设计原则

实践中有三条经验:函数粒度要小且语义单一,一个函数只做一件事;关键写操作必须加幂等键与二次确认;把高频场景拆成独立工具集,按对话场景动态挂载,避免全部堆给模型。工具调用做扎实,智能体才谈得上可靠。

常见问题

工具调用需要模型支持吗?

需要。主流大模型均已支持,但各家参数格式略有差异,通常由开发框架做适配层。

模型会自己编造参数吗?

会。必须做参数校验与白名单,不能把模型输出直接当作可信输入执行。

工具调用和MCP的关系?

工具调用是模型侧的能力机制,MCP 是工具接入的标准化协议,两者可以配合使用。

← 返回国信诚商百科频道