微信扫码
添加专属顾问
我要投稿
探索人工智能的边界,了解如何让AI模型更智能地与外部系统交互。 核心内容: 1. 大型语言模型(LLMs)的局限性及RAG的应用场景 2. Function Calling和MCP的基本概念与重要性 3. Function Calling的执行流程和MCP的即插即用特性
随着人工智能的快速发展,大型语言模型(LLMs)逐渐深入到我们生活与工作的各个方面。然而,尽管模型强大,但其能力仍存在局限性,比如在实时信息获取和复杂任务执行方面仍有不足。
RAG(检索增强生成)现在在企业的 AI 应用中使用很广泛,就是为了解决模型的信息不够实时,且没有垂直领域知识的问题。
RAG 虽然厉害,但主要还是应用在智能知识问答领域,大模型想要有更强的能力,就需要有效、安全地与外界进行互动,这就诞生了 Function Calling 和 MCP 。
Function Calling 依赖大模型的能力,MCP 是一种通用协议。
本文从概念层面谈谈 Function Calling 和 MCP ,下一篇写几个代码例子。
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,模型上下文协议)是 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 都是为了让大模型能开口说话,动手做事。Function Calling 可视为 MCP 生态下的一种具体功能实现形式,尤其是在工具调用(Tools)这一概念上,两者高度相似。
1、交互模式
2、定位:
3、通信协议标准化:
4、生态开放程度:
希望本文对您有所帮助!
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2024-08-13
2024-06-13
2024-08-21
2024-09-23
2024-07-31
2024-05-28
2024-08-04
2024-04-26
2024-07-09
2024-09-17
2025-04-02
2025-04-02
2025-04-01
2025-04-01
2025-04-01
2025-03-30
2025-03-30
2025-03-28