什么是函数调用(Function Calling) – AI百科知识

发布于 2026-10-28 · 函数调用(Function Calling,又称工具调用)是大模型按预声明接口输出结构化调用请求的机制:模型只判断调用哪个工具、参数怎么填,实际执行由应用侧完成。它是 AI Agent 连接外部系统的地基,2023 年 6 月由 OpenAI 率先推出,如今已是主流模型的标配能力。

函数调用:大语言模型与外部工具之间的结构化调用链

函数调用(Function Calling,也常被称为工具调用 Tool Calling)是大语言模型与外部系统之间的“调用契约”:开发者用结构化描述声明有哪些工具可用,模型在需要时输出带工具名和参数的调用请求,而不是一段自然语言。它把“模型会说话”变成“模型能办事”——查天气、读数据库、提交工单、运行代码,都要经由这一步。自 2023 年 6 月 OpenAI 在 API 中推出以来,它已成为主流模型的标配接口,也是几乎所有 AI Agent 的底层积木。

什么是函数调用

函数调用(Function Calling)指模型按预先声明的接口规范,输出结构化的工具调用请求。开发者用 JSON Schema 描述工具的名称、用途与参数,模型读取清单后判断是否需要工具、该用哪一个、参数怎么填,再用固定格式把决定返回给应用。

关键的一点是:模型本身不执行任何函数,它只生成“调用意图”。真正的执行发生在应用侧——由你的代码去请求 API、查询数据库或运行脚本,再把结果交回模型。权限控制、审计记录与安全边界因此都落在应用这一侧,而不是模型内部。

叫法各有不同:OpenAI 沿用 function calling,Anthropic 称为 tool use,社区通称 tool calling,Google 的 Gemini API 也提供同名能力。时间线上,2023 年 6 月 13 日 OpenAI 为 gpt-4-0613 与 gpt-3.5-turbo-0613 引入该能力;2023 年 11 月的 DevDay 补充了并行函数调用与 JSON 模式;2024 年 8 月 6 日,Structured Outputs 的 strict 模式让参数可以严格贴合 schema;Anthropic 则在 2024 年 5 月 30 日宣布 tool use 在 Claude 3 全系正式可用。

函数调用的工作原理

一次完整的函数调用是“请求—执行—回传”的闭环,通常拆成五步:

  • 声明工具:把工具名称、用途说明与参数 schema 随请求发给模型,描述越清楚,选错的概率越低。
  • 模型决策:模型判断是否调用,并输出工具名与参数(OpenAI 的 tool_calls、Anthropic 的 tool_use 内容块),这一步只产生数据,不产生副作用。
  • 应用执行:应用侧解析参数、做校验与鉴权,再真正调用外部 API、数据库或本地脚本。
  • 回传结果:把执行结果作为工具消息(tool / tool_result)追加进上下文,让模型看到发生了什么。
  • 生成回答:模型结合结果给出回复;任务没完成就继续下一次调用,形成多轮循环——这正是 AI Agent 的基本运行方式。

两个细节值得记住:并行调用让模型一次返回多个互不依赖的请求,应用并发执行后一起回传,缩短耗时;严格模式把输出约束为符合 schema 的 JSON,能挡住字段缺失与类型错误,却挡不住语义上的错误。

函数调用的主要应用

  • 实时信息查询:天气、股价、航班、汇率这类训练数据里没有的即时信息,通过外部 API 补齐。
  • 企业系统操作:建线索、流转工单、按条件查询业务数据库,把对话直接接到业务链路上。
  • 计算与代码执行:把精确运算、数据清洗交给计算器或代码沙箱,避免模型“心算”出错。
  • 搜索与知识检索:联网搜索、企业内部知识库检索,配合检索增强生成(RAG)把答案落到可引用的资料上。
  • 流程自动化与任务编排:发邮件、建日程、读写文件、执行命令、操作浏览器,多个工具串起来完成完整任务。
  • 结构化信息抽取:把合同、简历、客服对话转成固定字段的表单数据,比让模型自由发挥更稳定。

函数调用面临的挑战

  • 工具选错:工具一多、描述含糊或彼此重叠,模型就可能挑错;工具清单还占用上下文,目录越大越难维护。
  • 参数错误:必填项缺失、类型不符、枚举越界,严格模式能挡住格式问题,挡不住把日期填成过去的日期这类语义错误。
  • 安全边界:工具一旦带写权限,提示注入就可能诱导模型删数据或对外发信,最小权限、人工确认、白名单与限流缺一不可。
  • 延迟与成本:每次调用多一轮模型往返,链式任务会把延迟成倍放大,token 消耗也随之上升。
  • 可观测性:调用链、参数、结果与耗时都要留痕,否则线上出错无从定位,也无法审计。

函数调用的未来与前景

趋势是从“开发者自己写工具”走向“平台内置 + 协议标准化”。

  • 托管的内置工具:OpenAI 在 2025 年 3 月推出 Responses API,把网页搜索、文件搜索、计算机操作等做成平台内置工具;同年 5 月起支持挂载远程 MCP 服务器,工具发现与执行由平台代劳。
  • 协议层标准化:MCP(Model Context Protocol,模型上下文协议)于 2024 年 11 月发布,把“工具如何暴露给模型”定义成通用协议,一次接入、多个客户端复用,站内另有专门词条介绍。
  • 工具目录按需加载:Anthropic 在 2025 年 11 月 24 日公布工具检索、程序化工具调用与工具示例,针对的正是“工具太多、上下文放不下”——先检索出相关工具,再用代码批量编排调用。

竞争重点会从“能不能调用”转向“调得准、调得安全、调得省”。对开发者来说,工具 schema 设计、权限模型与错误处理,仍是最值得投入的三件事。

0

相关文章

0 条评论

后参与评论

暂无评论,来抢沙发。