
Function Calling 是什么?一次讲透工具调用
Function Calling 是大模型连接外部工具的机制:模型输出函数调用意向的 JSON,程序真正执行后回传结果。本文用服务员比喻图解四步链路,讲清与 MCP 的关系,并附可背的一段话口径。
Function Calling 就是让大模型学会「叫外援」的机制:模型自己不查数据库、不发网络请求,它只负责说「我要调用哪个函数、参数是什么」,真正动手执行的是应用代码,执行结果再喂回模型,由它组织成自然语言回答。这个能力由 OpenAI 在 2023 年 6 月的 API 更新中正式推出(官方公告),如今已是所有 AI 应用连接现实世界的基础设施。
下面用「餐厅服务员」这个比喻把整条链路讲透,文末附一段可以直接背的复述口径。
Function Calling 是什么:一句话定义
把大模型想象成一家高级餐厅的服务员。你说想吃点清淡的,服务员不会冲进厨房自己做菜,而是把「清淡」翻译成一张标准点菜单递给后厨,后厨做好菜端出来,服务员再润色摆盘上桌。
对应到技术上:模型负责理解意图、决定调用什么函数、填好参数;程序负责真正执行函数并返回结果。模型从头到尾没有联网、没有动手,它只产出了一张结构化的「点菜单」,也就是一段符合约定格式的 JSON。
AI 怎么学会查天气和订外卖:完整链路四步

以「北京明天适合穿什么」为例,一次完整的工具调用分四步:
- 你把问题发给模型,同时附上一份「工具菜单」:有哪些函数、每个函数叫什么、需要什么参数,通常用 JSON Schema 描述。
- 模型判断这个问题光靠语言答不了,于是不直接回答,而是输出一段 JSON:函数名 get_current_weather,参数 location 填「北京」。OpenAI 官方示例用的正是这个查天气函数。
- 你的程序解析这段 JSON,真正去调天气接口,拿到「晴,12 度」这样的数据。
- 程序把数据回传给模型,模型结合问题组织出人话:「明天北京晴,早晚偏凉,建议加件外套。」
注意一个关键点:第 2 步和第 3 步之间隔着你的代码。模型给出的是「调用意向」,不是执行结果。很多初学者以为模型自己会联网查天气,这是最常见的误解。

Function Calling 和 MCP 是什么关系
两者解决的是同一个大问题的不同层次。Function Calling 定义了「模型和工具之间怎么对话」,也就是调用意向的结构化表达;但它没规定工具从哪来。过去每个应用都要自己写一遍天气、日历、数据库的对接代码,重复劳动严重。
2024 年 11 月,Anthropic 开源了 MCP(Model Context Protocol),用一个开放标准把数据源包装成标准化的工具服务,模型侧接一次,就能用上生态里现成的 MCP 服务器(发布公告)。打个比方:Function Calling 是「服务员递点菜单的动作规范」,MCP 是「把全城后厨接进同一个接单系统的统一平台」。
两者与 Skill 的取舍,站内有更细的对比:MCP 和 Skill 的区别:AI Agent 工作流该先用哪个。还想分清 Skill 的定位,再读Agent Skills 和 MCP 有什么区别?官网入口 + 一张图对比。
一段话讲清 Function Calling
被问到「讲讲 Function Calling」时,按「是什么、怎么跑、解决什么」三段复述:
「Function Calling 是大模型连接外部工具的机制。开发者把可用函数的名称、用途和参数格式用 JSON Schema 描述给模型;模型根据用户意图判断要不要调用,输出一段符合格式的 JSON 参数;真正的执行由应用层完成,结果回传后模型再生成最终回答。它解决的是大模型只会说话、不能行动的问题,查天气、订外卖、操作数据库都靠它落地,也是 AI Agent 能自动执行任务的地基。」
想继续往下追问题(比如「Agent 和它什么关系」),可以先读站内的AI Agent 是什么:从对话回答到自动执行任务。
什么岗位需要搞懂它
产品经理至少要能分清「模型负责决策、程序负责执行」这条边界,做 AI 功能评审时才能判断一个需求是加提示词就能做,还是必须接入工具调用;还要把「有真实世界影响的动作要加用户确认」写进需求,这是 OpenAI 官方公告里明确提醒的安全实践,比如发邮件、支付前都该让用户点一下确认。
开发者的重点是工具描述的写法和结果回传的格式,所有 Agent 开发框架的公共底座都是这一层。最后留一道自测题:让模型「写一首诗」不需要 Function Calling,让模型「查完库存再回复」需要,你能说出为什么吗?

常见问题 FAQ
Function Calling 是模型自己执行函数吗?
不是。模型只输出想调用哪个函数、参数是什么的结构化 JSON,真正的执行由应用代码完成,结果回传后再由模型生成回答。
所有大模型都支持 Function Calling 吗?
主流模型基本都支持。OpenAI 在 2023 年 6 月率先在 API 中推出该能力,此后 Anthropic、Google 以及多数国产模型的 API 都提供了同类机制,具体参数格式略有差异。
Function Calling 会调用错函数吗?
会。模型可能选错函数或填错参数,所以生产环境要做参数校验和工具白名单;发邮件、支付这类有真实世界影响的动作,官方建议加入用户确认步骤。
Function Calling 和插件是什么关系?
插件底层就是 Function Calling。OpenAI 官方公告把插件类聊天机器人列为典型用例:把插件能力描述成函数,模型按需输出调用请求,由插件完成执行。
学 Function Calling 之前要先会写代码吗?
理解概念不需要。产品经理掌握「菜单、点单、上菜」这条链路就够日常沟通和需求评审用;真要动手接入,才需要基础的编程能力。
文 / AI345,最后更新:2026 年 9 月

京ICP备2024094994号-29