译者 | 核子可乐
审校 | 重楼
随着AI原生应用与智能体系统的兴起,开发者社区正迅速迎接种种新兴技术、抽象与架构模式。而作为大模型与生成式AI生态中的新成果,模型上下文协议(MCP)在引起广泛关注的同时,也让不少开发者感到困惑:
作为新型传输协议,MCP会最终取代HTTP吗?
简单来讲:不会。
本文将尝试讨论以下问题,帮助大家理解这两种协议之间的核心区别:
- MCP究竟是什么
- 它与HTTP有何不同
- 为什么会引发这种困惑
- 二者如何在AI应用中协同起效
模型上下文协议究竟是什么?
模型上下文协议的作用,在于定义AI模型如何跨会话与上下文(包括记忆、工具、函数、用户偏好与系统指令)进行交互。
大家可以把MCP理解成一种应用层协议,旨在帮助AI模型在结构化的架构模式与环境中更加智能、高效地工作。
此协议负责管理以下内容:
- 如何初始化及更新上下文
- 模型如何决定调用哪些工具或函数
- 如何在会话期间写入或检索记忆
- 模型可以对用户或任务做出哪些假设
MCP对于智能体的行为实现至关重要。在其帮助下,AI系统可以访问状态信息与外部工具,跨多步骤任务做出决策。需要强调的是,MCP本身并非传输协议,因此无法管理字节在网络中的传输方式。
那么,HTTP又是什么?
HTTP属于Web基础协议。这种完善的传输协议定义了如何在客户端与服务器之间对请求和响应进行格式化与传输。
- 支持Web浏览
- 属于REST API的基础协议
- 充当大多数现代应用程序的互联网通信方式
以下是二者之间的主要区别:
MCP | HTTP | |
用途 | 定义AI上下文的结构 | 通过网络传输数据 |
范围 | 特定于模型会话的应用程序 | 通用通信层 |
关注点 | 上下文、记忆、工具、智能体行为 | 请求/响应信息传递 |
是否属于传输层? | 否 | 是 |
为何容易混淆?
造成混淆的主要原因包括:
- 二者都被称为协议,且遵循客户端-服务器拓扑结构。必须意识到“协议”属于广义术语,且MCP的抽象层远高于HTTP。
- MCP刚刚兴起,且用于涉及上下文的AI通信。其相关说明文档和理解水平仍在发展当中。
- 很多人误以为MCP是一种基础设施,类似于HTTP或者WebSocket——但相反,它更像是模型的对话管理器。
MCP如何与HTTP协同工作?
MCP并非旨在取代HTTP,而是运行在HTTP、WebSocket或者其他传输层之上。
与之类似的还有HTTP之上的GraphQL、基于HTTP/2的gRPC以及通过HTTP编码并发送的JSON。
MCP负责定义模型处理请求的语义,而HTTP则是在客户端与服务器之间传输这些请求。
AI应用程序可能会通过HTTP发送符合MCP的请求负载。该负载包含模型智能运行所需要的一切:先前消息、可用工具、用户记忆、函数定义等等。
因此可以得出哪些结论?
- 从定义来看,MCP并非传输协议,也不会取代HTTP。
- MCP是用于管理AI上下文交互的高级别协议。
- MCP与AI智能体的未来工作方式紧密相关,包括记忆、工具和推理。
- 换言之,MCP与HTTP属于互补关系、而非竞争关系。
总结
随着我们逐步迈向AI原生软件架构,理解MCP等新兴概念也变得愈发重要。可以看到,MCP正成为构建更智能、更持久、更强大AI系统(可作为真正智能体自主运作)的广泛趋势中的重要组成部分。
但我们必须明确一点:HTTP仍然在幕后承担着繁重的工作。
总而言之,MCP改变的是我们与AI模型的交互方式,而非数据从A点传输至B点的方式。
原文标题:Is the Model Context Protocol a Replacement for HTTP?,作者:Vijay Joshi