ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Agent 之间怎么通信?A2A/ACP/ANP 三协议怎么选

Agent 之间怎么通信?A2A/ACP/ANP 三协议怎么选 垂直集成 vs 水平协作先搞清楚这两个概念的区别垂直集成MCPvs 水平协作A2A/ANP维度垂直集成水平协作方向Agent → 工具Agent ↔ Agent典型协议MCPA2A、ACP、ANP主机关系同一系统Client-Server跨系统Peer-to-Peer任务复杂度单次调用多步委托生命周期管理身份配置固定无需发现动态发现Agent Card / DID一个 Agent 同时做两件事用 MCP 调用工具获取数据用 A2A 把分析结果发给另一个 Agent 做可视化。这两个协议不是二选一而是搭档。A2A跨企业 Agent 协作A2AAgent-to-Agent Protocol由 Google 于 2025 年 4 月发布2025 年 6 月捐赠给 Linux Foundation2026 年初达到 v1.0。它是目前水平层采纳最广泛的协议50 厂商发布时即表态支持。核心概念Agent Card每个 A2A Agent 在 /.well-known/agent-card.json 发布一个 JSON 文件描述自己的能力复制{name: 数据分析-Agent,description: 处理数据查询和报表生成,capabilities: {skills: [数据查询, 趋势分析, 报表导出] },endpoints: [ {url: https://analytics.example.com/a2a,type: sse } ],authentication: {schemes: [bearer] }}1.Agent Card 是 A2A 的入口。调用方根据 Card 判断这个 Agent 能不能做我要的事然后通过它声明的 endpoint 发起通信。Card 可以动态更新Agent 下线或能力变更时自动失效。任务生命周期A2A 定义了标准的任务状态机。一个委托任务从创建到完成遵循以下流程复制┌─────────┐ │ pending │── 任务已创建等待 Agent 接手 └────┬────┘ ▼ ┌─────────┐ │ working │── Agent 正在执行 └────┬────┘ ├────────────────────┐ ▼ ▼ ┌──────────┐ ┌──────────────────┐ │completed │ │ input-required │── Agent 需要更多信息 └──────────┘ └──────────────────┘ │ │ ▼ ▼ ┌───────┐ 继续 working收到新输入后 │ failed│ └───────┘1.input-required 是 A2A 的关键设计。它让 Agent 可以向调用方请求更多信息——比如你要查哪个月的数据。这让协作可以双向交互而不是一次性的发指令→等结果。三种交互模式A2A 支持三种模式对应不同的延迟要求•同步Synchronous请求发出后立即返回结果。适用于低延迟场景如查天气、翻译文本•流式Streaming通过 SSE 实时推送进度和中间结果。适用于长任务如生成报告、批量处理•异步Asynchronous后台执行完成后通过回调通知。适用于耗时任务如每周一次的报表生成实际用法在 Google ADK 中调用一个 A2A Agent 只需要几行配置复制from google.adk importRemoteA2aAgentanalytics_agentRemoteA2aAgent(agent_card_urlhttps://analytics.example.com/.well-known/agent-card.json,auth_tokenxxx)resultawaitanalytics_agent.send_task(task查询上季度各产品线的收入趋势,modestreaming)1.ADK 的 RemoteA2aAgent 每次只路由到一个远程 Agent。如果需要同时查询多个 Agent如价格、质量、物流官方推荐直接用 a2a-sdk 库。ACP有状态协作与并入 A2AACPAgent Communication Protocol由 IBM Research 于 2025 年 3 月发布基于 BeeAI 框架。它的设计理念和 A2A 有明显差异维度A2Av0.xACP设计哲学轻量委托Agent 保持黑盒有状态协作Agent 内部可观察消息格式JSON-RPCMultipart MIME状态管理任务级生命周期会话级状态持久化异步模式回调可见原生异步优先内置消息队列运行时协议层无关BeeAI 框架集成2025 年 8 月IBM 和 Google 宣布 ACP 并入 A2A。ACP 的状态管理、异步消息、多部分消息格式等设计被吸收进 A2A v1.0 规范。实际效果是你不需要在 A2A 和 ACP 之间做选择——A2A v1.0 已经包含了 ACP 的核心价值。这对开发者意味着学 A2A 就够了。如果你在用 BeeAI 框架BeeAI 也会支持 A2A v1.0。ANP去中心化 Agent 网络ANPAgent Network Protocol由社区工作组开发目标是做 Agent 世界的 HTTP——不依赖中心注册表任何 Agent 都能找到和信任其他 Agent。核心设计ANP 有三层架构•身份层使用 W3C Decentralized IdentifiersDIDsdid:wba 方法基于 HTTPS 和 DNS不需要区块链。每个 Agent 拥有一个唯一且可验证的身份•发现层Agent 用 JSON-LD 图描述自己的能力使用 schema.org 词汇。不需要中心注册表Agent 通过 DID 解析直接获取对方的能力描述•传输层基于 HTTPS支持端到端加密复制{context: [https://schema.org, https://agent-network-protocol.io/context],id: did:wba:agent.example.com:agent-1,type: SoftwareAgent,name: 数据爬虫 Agent,capability: [ {type: Action,name: WebScrape,description: 抓取指定 URL 的内容 } ],endpoint: https://agent.example.com/anp}1.ANP 的适用场景场景ANP 优势A2A 优势企业内部 Agent 协作—Agent Card 企业级管控跨企业合作伙伴DID 身份验证需要双方信任 Agent Card开放市场的发现JSON-LD 语义搜索Agent Card 静态注册去中心化/自治 Agent原生支持不支持ANP 和 A2A 不是竞争关系。多个行业分析Zylos、OSSA建议ANP 做身份和发现A2A 做任务委托。ANP 解决怎么找到你、怎么信任你A2A 解决找到了之后怎么协作。三协议对比与选型A2A/ACP/ANP 三协议对比协议一句话采纳程度适合谁A2A企业按需选择让它干高50 厂商大多数 Agent 开发者ACP已并入 A2A—历史知识无需单独学ANP开放互联网的 Agent 身份与发现社区阶段去中心化/跨组织场景建议从 A2A 开始。它最成熟、文档最全、厂商支持最多。如果将来需要跨组织的开放 Agent 网络再引入 ANP。总结•垂直集成 vs 水平协作MCP 管工具向下A2A/ANP 管 Agent 间通信横向两者互补•A2A 是企业协作的事实标准Agent Card 做能力声明、标准任务生命周期、三种交互模式、50 厂商背书•ACP 已并入 A2AIBM 的 ACP 在 2025-08 正式合并A2A v1.0 吸收了其有状态协作设计•ANP 面向去中心化W3C DIDs JSON-LD解决开放互联网上的 Agent 身份与发现•选型建议A2A 起步需要跨组织发现时加 ANP资料展示下面是我整理的AI大模型 学习资料和工具包 预览适合收藏后按主题逐步学习
返回列表