正文
则通过
REST
、
gRPC
等标准协议进行无状态或轻状态通信,交互更为简洁,调用方需要自行维护业务逻辑与状态。
如上图所示,我们可以将
MCP
比作图书馆的“智能档案管理员”,它不仅存放了所有书籍,还记录了我们当前正在阅读的内容、上次借阅的时间和推荐清单。当我们提出新的请求时,它会根据上下文立刻调出相关资料。
API
则更像图书馆的大门和检索机——它提供了借书和检索书的通道,并不关心我们之前看过哪些书,也不会跟踪我们的阅读进度,使用者需要自行记住和管理自己的阅读历史与需求。
MCP
与
Agent
在
AI
系统中承担着不同的角色,它们的主要区别如下图所示。
从定义与定位来看,
MCP
是一种基于标准化协议的服务端程序,主要为大模型提供外部数据和能力支持。它的核心定位是“被动服务”,仅响应调用请求,不参与决策或推理。
Agent
则是一种具备自主决策能力的
AI
应用,能够感知环境、规划任务并调用工具(包括
MCP
服务器和
Function Calling
)完成目标。
从功能与应用场景来看,
MCP
的功能相对单一,专注于提供数据和工具接口。例如,企业可以将内部系统(
CRM
、
ERP
)封装为
MCP
服务器,供多个
Agent
安全调用。
Agent则能够感知需求、推理规划并执行多步骤任务,例如,通过调用多个
MCP
服务器完成跨平台数据整合,或者结合
Function Calling
实现动态调整策略。
Agent
擅长处理端到端的复杂任务,例如自动化客服。
从交互方式来看,
MCP
采用被动服务模式,仅在接收到请求时返回数据。
Agent
则具备高自主性,不仅可以主动调用工具,还可以与用户进行双向交互。例如,当用户提出模糊的需求时,
Agent
可以在进一步确认细节后再执行任务。
如图所示,我们可以将
MCP
比作酒店的邮件室,
MCP
仅根据客人或部门的要求,按流程分发邮件和快递,不会主动向客房送达额外的物品或提出建议。
Agent
则更像一位贴身管家,不仅会根据主人当天的行程安排餐饮和交通工具,还会主动提醒重要事项、预订服务,并协调各项资源来满足主人的各类需求。
MCP 与 Function Calling 的区别
MCP
与
Function Calling
(函数调用)是两种不同的技术手段,它们在多个方面存在显著的差异,如图所示。
从定义来看,
MCP
是一种基于标准化协议的服务端程序,它为大模型与外部系统之间的交互提供了规范化的接口,类似于一种“通用适配器”,使不同的系统之间能够高效地进行数据传输和功能调用。
Function Calling
则是某些大模型(如
OpenAI
的
GPT-4
)提供的特有接口特性,它允许大模型在运行时直接调用预定义的函数,从而实现特定的功能,这种方式更像大模型内部的一种“快捷指令”,能够快速地完成一些特定任务。