2025-8-16
发现了一些一开始看这个题目没看到的东西。
System prompt: 主要用于描述AI的角色、性格、背景信息、语气等。
MCP: 负责帮助Agent管理工具、资源、提示词。
MCP早期使用双链接的方式:HTTP短链接+SSE(Server-Sent Events)长链接。
针对Agent的无状态方式运行,RPC调用可取代SSE链接。RPC链接,单次的RPC请求指:C/S通过HTTP短链接,一次性把工具调用请求和参数发送给服务器,等待并接受一个完整响应的过程。SSE需要保持长连接。理由如下:
- 协议开销更低:RPC通常使用成熟的JSON-RPC over HTTP,报文结构简单、易于解析;而SSE需要维持长连接并处理事件流,协议栈更复杂。
资源占用更少:SSE长连接回占用服务器和客户端的Socket资源。单词RPC在收到Request后可以立即释放资源。
更适合无状态服务:云端 AI Agent 常常以无状态方式运行:接收到任务→处理→返回结果→释放。对于这类场景,临时创建一个 HTTP 短链接、发送一次 RPC 调用即可完成全部数据交互,无需等待或监听事件流。
- 实现与维护简单:大多数企业已有成熟 REST/JSON-RPC 终端,要实现单次 RPC 只需按既定接口封装工具即可;而要让现有服务同时支持 SSE 双链接并保证跨服务器一致性,需要额外适配层和广播机制。
- 可兼容实时需求:新版本的 MCP 已经允许在一次 HTTP 请求中使用流式返回(streamable HTTP),既支持一次性调用,也保留了实时推送能力,只要客户端能处理流式响应,就能获得与 SSE 类似的实时体验。