Agent 学习笔记 25:MCP、A2A、ANP:Agent 之间如何通信和协作
Agent 生态扩大后,最先出现的并不是“模型不够聪明”,而是连接成本:每个工具都要适配,每个 Agent 都用自己的消息格式,身份和权限也无法统一。协议的价值,是减少这种点对点胶水代码。
三类协议关注不同边界
MCP 更关注模型应用怎样发现和调用外部工具、资源与提示;A2A 关注 Agent 之间的任务委派、能力发现和状态交换;ANP 则把视角放到更开放的 Agent 网络。它们并非互相替代,而是覆盖不同层次。
模型应用 --MCP--> 工具与数据
Agent A --A2A--> Agent B
多个组织的 Agent --网络协议--> 发现、身份与协作
协议首先是一份合同
能力描述、消息 schema、任务状态、错误码、取消和超时都应标准化。发送方不能假设接收方使用相同模型或框架;双方只依赖公开协议。大文件和流式结果最好通过资源引用传递,而不是塞进一条消息。
身份、授权和信任不能后补
能发现某个工具或 Agent,不等于有权调用。服务端必须独立验证身份、权限范围和请求参数,并记录审计日志。来自远端 Agent 的内容仍是不可信输入,不能直接升级为系统指令。
AutoGen 一类框架解决的是编排
多 Agent 对话框架可以帮助定义角色和消息流,但跨系统互操作仍需要协议。框架负责“本应用里怎样协作”,协议负责“不同实现怎样相互理解”,两者边界不同。
这章给我的启发
协议不会自动带来智能,却能让工具和 Agent 从孤岛变成可组合服务。越开放的协作网络,越需要清晰的能力声明、身份和权限边界。

浙公网安备 33010602011771号