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 从孤岛变成可组合服务。越开放的协作网络,越需要清晰的能力声明、身份和权限边界。

posted @ 2026-09-02 14:50  Hazy_star  阅读(16)  评论(0)    收藏  举报