MCP到底是什么?

前言

最近学习了MCP,在查看了很多视频与文章后,终于对MCP有了一个完整的认识。这里对MCP的概念进行梳理以深化并加深自己的理解。以下内容不会涉及任何代码,只是介绍当前我对MCP的认知。

大模型为什么要调用工具

主要有两点:

  1. 大模型的训练数据存在时效性和专业性的限制,无法获取实时信息,以及专业信息。
  2. 模型本身无法处理一些复杂的计算逻辑,通过调用外部工具可以弥补自身的不足。

大模型调用工具的完整过程

以用户查询北京天气为例,整个流程如下所示:

sequenceDiagram actor 用户 participant 大模型应用 participant 天气工具 participant 大模型 用户->>大模型应用: 1、查询北京天气 大模型应用->>大模型: 2、转发查询请求 (提供工具列表,与用户请求) 大模型->>大模型: 3、判断需要外部工具 (天气工具) 大模型->>大模型: 3.1、构造工具调用参数 大模型->>大模型应用: 4、请求调用天气工具 大模型应用->>天气工具: 5、调用天气工具 (北京) 天气工具-->>大模型应用: 6、返回北京天气数据 大模型应用->>大模型: 7、将天气信息与用户历史询问信息一起发送给大模型 大模型->>大模型: 8、生成天气查询结果 大模型-->>大模型应用: 9、返回天气查询结果 大模型应用-->>用户: 10、显示北京天气信息

该流程主要分为四步:

  1. 工具注册: 大模型应用将可用工具列表,加入到大模型的提示词中。
  2. 意图识别与工具选择:大模型解析用户问题,判断需调用哪个工具,并生成请求参数。
  3. 工具调用: 大模型应用接收大模型的返回信息,判断出需要调用工具,进行工具调用。
  4. 整合回复: 将工具结果与用户问题发送给大模型,大模型整合后返回回复结果。

在这个过程中,大模型本身并不会调用工具,而是进行意图识别、工具决策,并构造请求参数。 调用工具的是大模型应用。

那么这个流程有什么问题?MCP和这个流程有什么关系?

我们先了解下这个流程中的M * N问题。

工具集成M * N问题

MCP的文章中提到解决了工具集成的M * N问题。(我们有M个工具 ,要集成到N个大模型中)

首先要了解:M * N问题主要发生在工具调用的第一步,也就是工具注册阶段。

在工具注册阶段,大模型应用要告诉大模型,我有M个工具,以及这些工具是做什么的,都有什么参数。

问题出在了每个大模型接受工具列表的形式不同,格式也不同。(其实返回参数也不同,这里以接受参数为例)

例如,有的模型需要json格式,有些模型需要xml格式,有些模型需要自然语言。

因此如果程序员想要新增或者修改一个工具,必须去不同的大模型中进行对接或者修改,也就有了M * N的问题。

MCP如何解决M * N的问题

MCP就是为了解决这个问题出现的。 但是必须要注意的是,MCP并非是统一了各个大模型接收工具的参数,而是在工具与模型之间增加了一个"中间层",它提供了工具描述规范调用规约

  1. 各个工具按照MCP协议的要求来描述工具信息。
  2. MCP HOST按照各个模型不同的要求,来描述工具信息。
  3. 大模型按照MCP协议要求来返回标准化的工具调用。

对于工具而言,通过MCP HOST来屏蔽模型之间的差异,做到一次封装,多处复用。因此通过MCP协议,将工具接入的工作量从M * N 降到了M + N。

MCP是什么?

所以MCP到底是什么呢,引用一下官方的定义吧:

MCP 是一种开放协议,它标准化了应用程序如何向 LLM 提供上下文。可将 MCP 视为 AI 应用程序的 USB-C 端口------正如 USB-C 提供设备连接外围配件的标准化方式,MCP 提供将 AI 模型连接到不同数据源和工具的标准化方式。

官方定义地址

但是我觉得改成 MCP提供了一种标准化方式,允许不同数据源和工具通过统一接口描述与AI应用进行交互 反而更容易理解。

以上仅是我自己的理解,如有错误欢迎指正。

相关推荐
Keria10211 小时前
本地私有化部署Dify步骤
aigc
用户51914958484512 小时前
星际争霸1 EUD漏洞利用技术解析
人工智能·aigc
童欧巴12 小时前
教你豆包P图10个最新玩法,一次玩过瘾
人工智能·aigc
童欧巴13 小时前
去班味儿这件事,八爪鱼RPA敢做成这样?
人工智能·aigc
卷福同学16 小时前
【AI绘画】你有多久没有打开SD了?
后端·aigc·ai编程
Mintopia17 小时前
🛡️ 对抗性攻击与防御:WebAI模型的安全加固技术
前端·javascript·aigc
海蓝可知天湛17 小时前
利用Genspark自定义智能体:算法竞赛测试数据反推与生成工具
算法·aigc
墨风如雪1 天前
美团LongCat-Audio-Codec:给语音大模型装上“顺风耳”与“巧舌”
aigc
ImAlex1 天前
实测PaddleOCR-VL:文心4.5最强衍生模型如何重构文档处理效率
人工智能·aigc
用户5191495848451 天前
利用配置错误的IAM策略窃取云函数访问令牌[GCP]
人工智能·aigc