动态上下文窗口
MCP采用一个动态上下文窗口,该窗口会随着每次交互而扩展。这个窗口用于存储用户偏好(如语言、语气)、会话记录(之前的询问/回答)以及环境数据(例如设备类型、位置)等信息。例如,在一个多轮对话的客服场景中,用户一开始询问关于产品功能的问题,之后又询问价格相关问题。MCP的动态上下文窗口会记录下用户之前关于产品功能的询问,使得AI客服在回答价格问题时,能够结合之前的对话内容,给出更全面、更符合用户需求的回答。为了避免数据过载,MCP会在保留关键细节的同时,将非关键信息压缩成嵌入形式。比如,将一段较长的聊天记录概括为一个能够反映主要意图的向量。
多步骤工作流程支持
MCP支持智能体执行多步骤工作流程。智能体能够记住过去的操作,例如 “用户已上传其ID”,并根据这些信息调整后续策略。例如,如果用户在操作过程中突然离线,智能体可以根据之前的操作记录,从原本通过在线方式通知用户,切换为通过短信通知用户。同时,智能体还能依据反馈进行自我修正。比如,当用户对某个选项表示不满意时,智能体下次会优先选择其他更符合用户需求的选项。这种多步骤工作流程的支持,使得 AI 智能体能够更加灵活、智能地完成复杂任务。
通信协议与传输方式
MCP采用 JSON - RPC 2.0 作为其通信协议。JSON - RPC 2.0是一种轻量级的远程过程调用协议,它使用JSON数据格式进行数据传输,具有简洁、高效的特点。MCP支持多种传输方式,其中Stdio(标准输入/输出)适用于同一环境中的本地集成,例如在本地开发环境中,AI应用与本地工具之间的交互可以通过Stdio进行;HTTP配合Server - Sent Events(SSE)用于基于网络的通信,以实现实时更新和持久连接,这种方式适用于AI应用通过网络访问远程数据源或服务的场景;WebSocket(未来开发)提议用于实时双向通信,它可以实现更高效的实时数据交互,为未来更复杂的AI应用场景提供支持。