大模型工具调用全解析:Function Calling vs MCP,一文读懂两者关系与区别!
OpenAI 早在2023年06月就推出了 Function Calling,为大模型提供了工具调用功能。Anthropic 在2024年11月推出了 MCP,旨在标准化 AI 大模型与外部工具和数据源的交互。

MCP 是否要取代 Function Calling?下文详细剖析。
—1—
Function Calling 架构设计
Function Calling 是由 OpenAI 等公司推动的一种技术,它允许大语言模型(LLM)通过自然语言指令与外部工具和服务进行交互,从而将自然语言转换为具体的 API 调用。这一技术解决了大语言模型在训练完成后知识更新停滞的问题,使大模型能够获取实时信息,比如:当前的天气、股市收盘点数等。

第一、工作原理
Function Calling 的工作原理可以通过以下4个步骤来理解:
1、识别需求:大模型识别出用户的问题需要调用外部 API 来获取实时信息。比如:用户询问“今天北京的天气如何?”大模型会识别出这是一个关于实时天气的问题。
2、选择函数:大模型从可用的函数库中选择合适的函数。在这个例子中,大模型会选择 get_current_weather 函数。
3、准备参数:大模型准备调用函数所需的参数。例如:
{
"location": "北京",
"unit": "celsius"
}
3、调用函数:AI 应用使用这些参数调用实际的天气 API,获取北京的实时天气数据。
4、整合回答:大模型将获取的数据整合成一个完整的回答,比如:“根据最新数据,北京今天的天气晴朗,当前温度23°C,湿度45%,微风。今天的最高温度预计为26°C,最低温度为18°C。”
第二、对开发者的好处
对于开发者来说,使用 LLM 的 Function Calling 入门相对容易。开发者只需按照 API 的要求定义函数规格(通常是 JSON 格式),并将其随 Prompt 请求发送给大模型。大模型会根据需要调用这些函数,整个逻辑相当直观。因此,对于单一大模型、少量功能的简单应用,Function Calling 的实现非常直接,几乎可以“一键”将大模型输出对接到代码逻辑中。
第三、局限性
然而,Function Calling 也有一些局限性:
缺乏跨大模型的一致性:每个 LLM 供应商的接口格式略有差异,这使得开发者在支持多个大模型时需要为不同的 API 做适配,或者使用额外的框架来处理这些差异。
平台依赖性:Function Calling 通常依赖于特定的平台或框架,这限制了其在不同环境中的通用性。
扩展性有限:虽然 Function Calling 能够解决特定问题,但在面对更复杂的任务时,其扩展性可能会受到限制。开发者可能需要为每个新功能编写新的函数,并确保这些函数与模型的交互逻辑兼容。
第四、总结
Function Calling 是一种强大的工具,它为大语言模型提供了与外部工具和服务交互的能力,从而解决了大模型知识更新停滞的问题。然而,它的局限性在于缺乏跨模型的一致性和平台依赖性。尽管如此,Function Calling 仍然是一个重要的技术,尤其是在需要快速实现特定功能时。未来,随着技术的不断发展,我们期待看到更多能够克服这些局限性的解决方案。
—2—
MCP 架构设计
MCP(Model Context Protocol)是由 Anthropic 公司提出的一种协议,旨在解决不同大语言模型(LLM)与不同外部工具集成的标准化问题。通过MCP,开发者能够以一种统一的方式将各种数据源和工具连接到 AI 大模型,从而提升大模型的实用性和灵活性。

目前,MCP 生态已经得到了广泛的支持,包括 Anthropic 的 Claude 系列、OpenAI 的 GPT 系列、Meta 的 Llama 系列、DeepSeek、阿里的通义系列以及 Anysphere 的 Cursor 等主流模型均已接入 MCP 生态。
第一、MCP 的架构设计
MCP 采用了客户端-服务器架构,主要包括以下几个核心组件:

1、MCP 主机(Hosts)
角色:这是需要访问数据的程序,例如Claude Desktop、各种IDE或AI工具。
功能:它们是MCP生态系统的入口点,负责向用户提供AI功能,并作为用户与AI模型之间的桥梁。
2、MCP 客户端(Clients)
角色:这些是协议客户端,负责维持与 MCP 服务器的1:1连接。
功能:它们处理通信细节,确保主机和服务器之间的数据传输顺畅,从而实现高效的数据交互。
3、MCP 服务器(Servers)
角色:这些是轻量级程序,每个服务器都通过标准化的 Model Context Protocol 暴露特定功能。
功能:服务器是 MCP 的核心,它们连接 AI 大模型与实际数据源,使模型能够访问和操作数据。
4、数据源
本地数据源:包括您计算机上的文件、数据库和服务,MCP 服务器可以安全地访问这些资源。
远程服务:通过互联网可用的外部系统(比如:通过 API),MCP 服务器可以连接这些系统,从而扩展模型的能力。
第二、MCP 的优势
统一性:MCP 提供了一个统一的协议标准,使得不同 AI 大模型能够以一致的方式连接到各种数据源和工具,从而避免了平台依赖性问题。
安全性:通过 MCP,数据的传输和访问过程更加安全,敏感数据可以保留在本地,无需全部上传到云端。
灵活性:MCP 支持多种数据源和工具的连接,无论是本地资源还是远程服务,都可以轻松集成到AI 应用中。
生态丰富:MCP 生态已经得到了广泛的支持,开发者可以利用现有的MCP服务器和工具,快速构建和部署AI应用。
第三、总结
MCP 通过其客户端-服务器架构和标准化的协议,为 AI 大模型与外部工具和数据源的集成提供了一个高效、安全且灵活的解决方案。它不仅解决了不同大模型与工具之间的兼容性问题,还为开发者提供了一个丰富的生态系统,使得AI应用的开发和部署变得更加简单和高效。
—3—
MCP 和 Function Calling 架构对比剖析
MCP 不是 Function Calling 的替代,而是基于 Function Calling 的工具箱。
很多人误认为,MCP 是对传统 Function Calling 的一种替代。
而实际上,两者并非替代关系,而是紧密合作的关系。
Function Calling 是大语言模型(LLM)与外部工具或 API 交互的核心机制。它是大模型的一个基础能力,就是识别什么时候要工具,可能需要啥类型的工具的能力。
**而 MCP 则是工具分类的箱子。**因此 MCP 不是要取代 Function Calling,而是在 Function Calling 基础上,联合 Agent 一起去完成复杂任务。
如果把整个工具调用的流程剖析开来,实际是"Function Calling+ Agent + MCP 系统"的组合。
**用一句话说清楚:**大模型通过 FunctionCalling 表达,我要调用什么工具,Agent 遵循指令执行工具的调用,而 MCP 则是提供了一种统一的工具调用规范。

**用一个比喻来理解:**老板(用户)要喝咖啡,于是,在办公室(MCP Host)里,办公室主任(大模型)吩咐秘书(Agent)去买一杯美式(Function Calling)。秘书(Agent)查了一下供应商名册,发现美式咖啡的供应商已接入了美团或公司统一采购系统(实现了 MCP Server),接着,秘书在采购系统中找到供应商(MCP Client)一键下单。
在过去没有 MCP 时,大模型下发 Function Calling,Agent 去执行翻译,直接连接到 API 去调用工具。因此,你得为每个 API 单独设置对应的调用模式,去单独定义工具列表和调用模式,这样 Agent 才知道怎么去翻译。而有了 MCP 后,只是很多 API 都可以直接通过供应商 MCP Client 一键下单了,Agent 省力了。但大模型的 Function Calling 没有任何变化。还是{tool: “买加啡”, “type”: “美式”}这个形式。

不过在过去,有人会把这一整套 Function Calling + Agent +API的模式叫做一个 Function Calling,所以会引起混淆。
通过区分 Function Calling 和 MCP,我们可以清晰地看出,MCP 并不负责决定使用哪个工具,也不进行任务规划或理解用户意图。这些是 Agent 层面的工作。MCP 只是提供了一个统一的工具接口,成为了产业内认可的工具调用标准协议。
如何学习AI大模型?
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
这份完整版的大模型 AI 学习和面试资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】


第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;
第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;
第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;
第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;
第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;
第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;
第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;
• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;
• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;
• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

1.AI大模型学习路线图
2.100套AI大模型商业化落地方案
3.100集大模型视频教程
4.200本大模型PDF书籍
5.LLM面试题合集
6.AI产品经理资源合集
👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)