支持私有云部署
AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


MCP 和 Function Calling:概念

发布日期:2025-04-01 12:06:18 浏览次数: 1569 作者:不止dotNET
推荐语

探索人工智能的边界,了解如何让AI模型更智能地与外部系统交互。

核心内容:
1. 大型语言模型(LLMs)的局限性及RAG的应用场景
2. Function Calling和MCP的基本概念与重要性
3. Function Calling的执行流程和MCP的即插即用特性

杨芳贤
53A创始人/腾讯云(TVP)最具价值专家

随着人工智能的快速发展,大型语言模型(LLMs)逐渐深入到我们生活与工作的各个方面。然而,尽管模型强大,但其能力仍存在局限性,比如在实时信息获取和复杂任务执行方面仍有不足。

RAG(检索增强生成)现在在企业的 AI 应用中使用很广泛,就是为了解决模型的信息不够实时,且没有垂直领域知识的问题。

RAG 虽然厉害,但主要还是应用在智能知识问答领域,大模型想要有更强的能力,就需要有效、安全地与外界进行互动,这就诞生了 Function Calling 和 MCP 。

Function Calling 依赖大模型的能力,MCP 是一种通用协议。

本文从概念层面谈谈 Function Calling 和 MCP ,下一篇写几个代码例子。

Function Calling(函数调用)介绍

概念

Function Calling 是特定大模型(如 OpenAI 的 GPT-4、Qwen2 等)提供的一种机制,使模型能够主动生成结构化输出,以调用外部系统中预定义的函数或 API。

执行流程

通常我们说大模型调用 API,但这种说法并不完全准确,执行过程如下图:

0、Agent 程序是我们开发的 AI 程序,在程序中会预先向大模型注册外部函数接口(建议不超过 20 个)。

1、用户通过自然语言发起请求,Agent 接收到请求。

2、Agent 程序将用户请求提交给大模型,模型首先解析语义并评估是否需要调用外部工具。

3、模型如果判断需要调用函数,将生成包含工具 ID 和输入参数的调用指令,并返回给 Agent 程序。

4、Agent 程序接收到模型返回的调用指令后,执行对工具函数的调用。

5、工具函数执行后将结果返回给 Agent 程序。

6、Agent 程序将函数返回的结果和自定义提示词一起反馈给大模型。

7、大模型融合工具返回的数据与原始上下文,生成最终结果,并返回给 Agent 。

8、Agent 程序将结果输出呈现给终端用户。

特点

1、主动调用:模型能够识别用户的自然语言意图,决定是否调用工具,并生成调用指令。

2、实时反馈:模型生成的函数调用指令,由 Agent 程序执行后,再次反馈给模型,使模型生成实时和精准的回应。

3、具体实现灵活:没有严格的标准通信协议要求,通信格式取决于具体模型厂商。这是个特点,也是个弊端。

MCP(Model Context Protocol)介绍

概念

MCP(Model Context Protocol,模型上下文协议)是 Anthropic 公司在 2024 年 11 月推出的一种标准协议。它的目的是给 AI 模型(如大语言模型)和外部数据源或工具之间建立起统一的通信接口。

可以简单类比为 AI 的 USB 接口,无论是 AI 模型还是外部工具,只要符合 MCP 标准,就可以实现快速“即插即用”的连接,不需要为每个工具单独编写接口程序。也没有变成语言的限制,就像前后端分离后,基于 WebAPI 的规范就可以,什么语言都能写接口。

现在 OpenAI 也支持了 MCP 。

特点

1、开放性:MCP 是开放标准,任何开发者或服务商均可基于此协议开发 API,避免重复造轮子,推动生态共建,目前已有大量 MCP 集合站(如:https://mcp.so)。

2、标准化:采用 JSON-RPC 2.0 标准通信,确保交互统一、高效。

3、AI 增强:MCP 可将 AI 应用从简单问答升级为可执行复杂任务的工具,如管理代码、处理文件、连接外部系统。例如,Claude 通过 MCP 接入 GitHub 后,可完成项目创建、提交代码请求等复杂操作。

4、安全性:MCP 数据交互基于标准协议,便于控制数据流、防止泄露。服务器内置安全机制,可保护 API 密钥不泄露给大模型提供商,主机可授权客户端连接,确保连接安全可控。

5、兼容性:MCP 支持文件内容、数据库记录、API 响应、实时数据、截图图像、日志文件等几乎所有数据格式,适用于多样的数据交互场景。

6、扩展性:MCP 提供提示词模板(Prompts)、工具(Tools)、采样(Sampling)等功能,可灵活扩展 AI 应用与数据源交互能力。开发者可根据需求定制提示模板或使用工具扩展数据处理功能。

核心架构

MCP 采用客户端-服务器(Client-Server)架构,包括以下组件:

1、MCP Host:发起请求的 AI 应用程序或工具,如 Claude Desktop、Cursor、Windsurf 等。

2、MCP Client:位于 Host 内部,保持与 MCP Server 的一对一连接,负责消息路由、能力管理和协议协商。

3、MCP Server:提供上下文数据、工具和提示词模板的服务端组件,负责响应客户端请求,提供外部资源访问。

4、资源与工具:包括本地或远程的数据资源(如文件、数据库)及可被模型调用的功能(工具),支持 AI 模型实时获取外部信息并执行任务。

调用步骤

1、宿主程序(客户端)中配置相关的 MCP Server ,并建立与 MCP Server 的连接。

2、用户使用自然语言进行提问,宿主程序将提示词(整合了用户问题)和 MCP Server 提供的工具,一起给大模型。

3、大模型理解后产生调用指令,宿主程序将调用指令通过 Client 发送给 MCP Server 。

4、MCP Server 收到请求后,解析请求内容,执行相应操作(如搜索网络信息、记录笔记等),然后将处理结果封装成响应消息,发送回客户端。

MCP 与 Function Calling 的关系和区别

关系

大模型就像是一个大脑,MCP 与 Function Calling 都是为了让大模型能开口说话,动手做事。Function Calling 可视为 MCP 生态下的一种具体功能实现形式,尤其是在工具调用(Tools)这一概念上,两者高度相似。

区别

1、交互模式

  • MCP:支持交互式、持续性的上下文管理,AI 可以与外部资源多轮互动。
  • Function Calling:简单的请求-响应模式,单次调用执行特定任务,无交互延续性。

2、定位:

  • MCP:一种开放的标准协议,定义通用通信架构和数据格式(类似于 USB 标准)。
  • Function Calling:特定模型厂商提供的扩展能力。

3、通信协议标准化:

  • MCP:严格遵守 JSON-RPC 2.0,具备高度标准化和互操作性。
  • Function Calling:无统一标准,协议依赖具体模型厂商实现。

4、生态开放程度:

  • MCP:生态开放,社区共建为主,任意开发者或服务商可自由接入。
  • Function Calling:生态相对封闭,依赖特定模型厂商支持。

希望本文对您有所帮助!


53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询