文章目录
- 1. 写在最前面
- 2. 基本概念
- 2.1 Why MCP
- 2.1.1 大模型访问的局限
- 2.1.2 过渡阶段—Function Call
- 2.1.3 当前阶段— MCP
- 3. 碎碎念
- 4. 参考资料
1. 写在最前面
最近有一项任务是写旧版本迁移到新版本的支持文档,文档的编写是借助于 cursor 帮忙写的。但是实现的方式不够优雅,因为 cursor 还不支持直接访问公司的 confluence 文档站,笔者只能:
-
首先,从 confluence 上下载两个不同版本的 api 文档说明
-
然后,将转为 pdf 格式的文档通过 agent 的方式,让 cursor 可以浏览到
-
最后,cursor 再针对两份文档异同,来实现一个旧文档迁移到新文档的说明
这个方式虽然也能完成需求,但是总归实现的方式还需要人工干预,不够简洁。最近 MCP 的概念很热,并且借助这个功能,似乎能够简化笔者类似需求的实现,刚好趁着五一节前的大块空余时间,先来理解一下基本概念。
2. 基本概念
为了避免梳理和记忆的内容同质化,在理解 MCP 的概念的时候,笔者尽量使用自己能够理解和记忆的方式进行,故很多地方可能存在出入,如果有不准确的地方,欢迎指出!
2.1 Why MCP
2.1.1 大模型访问的局限
在使用 cursor coding 的时候,因为只需要访问项目内的文件,同时现在也支持运行大部分的 Terminal 命令,所以大部分的时候,是能够满足需求的。
但是在让 cursor 访问项目以为的文件,就不行了,参考下面的问答:
2.1.2 过渡阶段—Function Call
-
未使用 function Call
-
使用 function Call
大模型的 function Call 功能通常指的是在使用大语言模型(如 GPT 系列)时,模型能够调用特定的功能或接口来执行某些操作。这种功能可以增强模型的交互性和实用性,使其能够更好地满足用户的需求。
注:function call 作为过渡阶段的原因在于 function call 平台依赖性强,不同 LLM 平台的 function call API 实现差异较大。例如,OpenAI 的函数调用方式与 Google 的不兼容,开发者在切换模型时需要重写代码,增加了适配成本。除此之外,还有安全性,交互性等问题。
2.1.3 当前阶段— MCP
MCP (Model Context Protocol,模型上下文协议)定义了应用程序和 AI 模型之间交换上下文信息的方式。这使得开发者能够以一致的方式将各种数据源、工具和功能连接到 AI 模型(一个中间协议层)。
注:MCP 可以理解成电脑转接头是用来连接不同类型的接口或端口,以便于设备之间的互联和兼容。比如
- USB-C 转 USB-A:将 USB-C 设备连接到 USB-A 端口(如传统电脑)。
- USB-C 转 HDMI:将 USB-C 设备连接到 HDMI 显示器或电视。
- USB-C 转 VGA:将 USB-C 设备连接到 VGA 显示器。
笔者个人的简单理解, 「MCP」可以理解成类似于「GRPC」协议的一种协议标准,使用这个协议实现的 server 、client 可以很方便的兼容和适配到其他的大模型应用上。
大模型访问数据的需求是天然存在的
只不过 MCP 协议将数据连接到模型的这个环节可以更智能更统一。Anthropic 基于这样的痛点设计了 MCP,充当 AI 模型的「万能转接头」,让 LLM 能轻松的获取数据或者调用工具。
3. 碎碎念
大概理解了一下概念,想要动手实践,假期前的最后几小时可能不允许了,所以就先记录到这里吧,希望大家假期愉快吖:
-
人生下来不是为了拖着锁链,而是为了展开双翼。
-
不论世界如何,都要向着阳光野蛮生长,成为照亮世界的大人。
-
成年人的烦恼,和谁说好像都不合适,要学会自我消化,想开、看开、放开。
4. 参考资料
-
Introduction - Model Context Protocol
-
MCP(Model Context Protocol) ,一篇就够了
-
回调函数 - 维基百科,自由的百科全书
-
如何使用 Function Calling 功能_大模型服务平台百炼(Model Studio)-阿里云帮助中心
-
Introduction - Model Context Protocol
-
Core architecture - Model Context Protocol