这是一篇非技术向的AI学习笔记,记录近期关于MCP概念的学习心得
MCP 即模型上下文协议(Model Context Protocol)的缩写
我初次接触到MCP的概念大概是在24年底,彼时的认知大概是Anthropic又出了一个新的概念,并未深究;
本周,在身边又突然开始高密度的接收到关于MCP的文章。于是带着探索和好奇,开始正式研究MCP;
在正式研究之前,我先基于自己的认知预设了几个自己比较感兴趣的问题。带着问题去尝试寻求答案:
- 既然MCP是基于AI的某种定义,那么它可以赋予AI大模型什么附加能力?
- MCP是如何运转的?
- MCP的预期前景如何?当下以及未来有哪些可落地的场景
问题一:MCP可以赋予AI大模型什么附加能力
先找到了Anthropic官方对MCP的定义
MCP 是一种开放协议,它标准化了应用程序向 LLM 提供上下文的方式。可以将 MCP 视为 AI 应用程序的 USB-C 端口。正如 USB-C 提供了一种将设备连接到各种外围设备和配件的标准化方式一样,MCP 提供了一种将 AI 模型连接到不同数据源和工具的标准化方式。
简单理解起来,好像是指提供了一种第三方(可以是抽象的任何实体)与AI大模型交互的规范。但还是不太能理解MCP具体能做什么。
此时又在站内和互联网上检索了相关的开源项目,发现了一个更加利于理解的场景-AI搜索。
模型的联网可以解决模型训练集始终是迟滞的问题,为知识相对固定的大模型提供的动态信息输入的能力;而AI搜索和大模型的交互其实可以视作一个初级的MCP应用;
假设有一个AI搜索的MCP Server,当用户向大模型提问时,大模型通过MCP协议的机制,先将用户的提问发送给第三方的MCP Server,第三方的MCP Server通过内部逻辑检索并结构化内容,然后将结构化后的内容以及用户提问再转发给AI大模型,最终由AI大模型生成回答
sequenceDiagram
participant User as 用户
participant AI as AI大模型
participant MCP as MCP Server
User->>AI: 1. 提问
AI->>MCP: 2. 转发提问
Note over MCP: 3. 内部处理:<br/>- 检索相关内容<br/>- 结构化处理
MCP->>AI: 4. 返回结构化内容+原始提问
AI->>User: 5. 生成并返回答案
截至到当前,对MCP的个人理解:
MCP是一种为AI大模型实现附加能力的通用协议
但这里又延伸了2个新的问题:
- MCP和AI代理的概念有什么本质的区别么?
- AI模型如何自主决定是否调用以及调用哪个MCP Server?
携带着这个疑问,我尝试第二个问题的调研
MCP是如何运转的?
上文中假设了一种在联网搜索场景下的例子,那是否可以尝试抽象一下,将MCP理解为一种为大模型提供各类数据源的手段。
数据的来源可以是一个个人知识库,也可以是一个数据库,也可以是其他任意一个可以想象的实体(一个视频/一个订票平台等等)。但又回到了上文中提到的问题“MCP和AI代理的概念有什么本质的区别么?”。
此时可能需要关注MCP附带的协议属性。通过经验判断,任何涉及要协议的设计,其主要目的之一肯定是为了规范并且基于规范而通用。那MCP大概也是以此为初衷,那MCP要规范的范围是什么呢?再次翻看官方文档
MCP 提供了一种将 AI 模型连接到不同数据源和工具的标准化方式。
标准化代表了高可复用性,那么如果使用代理模式,假设是联网检索场景,我可能需要为不同的AI大模型适配而写一些碎片化的适配代码,这个碎片化也必然导致整个架构的碎片化。那么这里也大概解决了我上面的疑问之一;同时,这种标准化也为围绕AI大模型的某种生态构建提供了可能。
第二个问题:AI模型如何自主决定是否调用以及调用哪个MCP服务呢?同样是阅读官方文档以及官方示例,我发现在MCP协议中,你需要有一个注册服务的操作,也就是一个 JSON 配置文件,它把各个服务都配置在里面,类似于电脑同时连接了多个USB以及电源等接口,硬件基于自己的逻辑自由选择调用连接的设备;
研究到这里的时候,结论内出现了一个让人兴奋的单词“生态”,那么我们切进第三个预设问题
MCP的预期前景如何?当下以及未来有哪些可落地的场景
由于这篇文章并不涉及具体实现的技术向,我只站着产品的角度进行畅想
当下其实有一些AI工具,尤其是IDE工具已经内置了MCP 客户端,比如 Cursor、Cline、Claude Desktop 和 Cherry Studio,它们都已经具备连接到 MCP 服务器的能力;
上文反复提到了MCP的生态预期,因为如果光凭想象的话,几乎是万物皆可MCP,例举一些个人目前能想象到的场景;
简单版:
-
查询天气
-
查询数据库
-
查询知识库
-
查询通讯工具聊天记录
-
各类辅助查询
平台版:
-
实现AI版的外卖平台,面向大模型,为大模型实现兼容的自动化点单能力
-
全流程的代码工程(编码/调试/部署/测试)
那么如果在当下设
MCP的限制
多个MCP调用必然带来上下文窗口的增加,长上下带来的token消耗成本;
token消耗甚至可能影响到复杂任务的执行(上下文长度限制)
可能的市场机会
移动互联网刚兴起时,APP市场内的首批应用多是基于具体某个小场景的解决方案;那么如果我们将MCP协议作为一个生态的话,普通开发者应该也可以基于一些简单的小场景开始,开发并抢占一定的生态位;
而作为C端消费者来说,在MCP的初级阶段,体验和使用对自己有价值的相关服务即可