A2A协议:跨厂商Agent的“SMTP”,让你的AI团队无缝协作!

📅 2026/7/9 11:07:51
A2A协议:跨厂商Agent的“SMTP”,让你的AI团队无缝协作!
一、先把三个容易混的东西掰开聊 A2A最大的误区是把它跟「子 Agent」「MCP」搅在一起。这三个解决的根本不是同一层问题解决什么一句话类比边界子 Agent同一个系统内、主 Agent 派生并中转子任务一个团队内部分工同进程 / 同信任域MCPAgent ↔工具 / 数据源的标准接入Agent 用的「USB 接口」一个 Agent 连外部资源A2AAgent ↔Agent跨框架、跨组织、跨厂商互通Agent 之间的「SMTP」谁都不归谁管上一篇整篇讲的是子 Agent主 Agent 拆任务、派给上下文干净的子 Agent子 Agent 干完把结果回传给主 Agent彼此之间不直接说话星形拓扑。它跑在你自己的系统里——同一个进程或同一个信任域子 Agent 是你亲手定义、亲手派生的你对它有完全的控制权。MCP解决的是另一个方向你的 Agent 要读数据库、调 API、查文件——它需要一个标准化的「插口」去接外部工具而不是给每个工具写一套私有胶水。你可以把 MCP 理解成 Agent 世界的 USB-C。A2A才是这篇的主角它解决的是一个前两者都碰不到的场景要协作的那个 Agent根本不是你写的。它可能是另一个团队用 LangGraph 搭的可能是隔壁公司用 CrewAI 部署的可能是某个 SaaS 厂商对外开放的一个「简历筛选 Agent」。你既看不到它的代码也拿不到它的提示词甚至不知道它内部调了几个模型、几个工具。你只想说一句「帮我把这份简历筛一下」然后拿到结果。这就是 A2A 要标准化的东西——让互不相识、互不信任、技术栈完全不同的 Agent能像发邮件一样互相委派任务。官方自己打的比方就是A2A 之于自主 Agent约等于SMTP 之于电子邮件。一个经典的组合能把三者的关系说清一个招聘 Agent用MCP去连自家的 HR 系统读数据用A2A把「简历筛选」这件事委派给另一家厂商的专业 Agent。MCP 管接工具A2A 管接 Agent二者是互补而非二选一。二、什么时候才真需要 A2A这一节我想先泼盆冷水因为「不该上」比「该上」更容易被忽略。该上 A2A 的信号核心就一个字「外」。要协作的 Agent不是你写的、不在你进程里、不归你管——别的团队、别的公司、别的框架对方是个黑盒你只想调它的能力既不想也拿不到它的内部思路、记忆、工具实现你需要动态发现陌生 Agent、并判断「谁能干这活」而不是把调用关系硬编码死。只要这三条里占了两条A2A 才开始有价值——它本质上是一个跨信任域的互操作标准价值在「跨」。不该上 A2A 的信号同样很清楚你的多个 Agent 全在一个进程、一个信任域里 —— 那上一篇讲的子 Agent星形中转就够了硬套 A2A 纯属给自己加一层没必要的网络协议和序列化开销你只是要接工具、数据库、API—— 那是 MCP 的活A2A 帮不上你只有一两个固定的下游服务要调 —— 直接 HTTP / RPC 调用比引入一整套协议划算得多。我把这条单拎出来强调是因为 2025 年那会儿「协议热」很多团队在明明单机就能搞定的场景里硬上 A2A最后发现维护成本远大于收益。协议是用来解决「跨边界」的没有边界就别造边界。三、A2A 到底怎么工作这节是重点好进入机制。A2A 的设计其实相当克制——它几乎不发明新东西全部踩在成熟标准上HTTP(S) 做传输、JSON-RPC 2.0 做消息格式、SSE 做流式、OAuth2 / JWT 做认证。这也是它的设计原则之一Simple复用现有标准。规范把整个协议拆成了三层理解了这三层就理解了 A2A 的骨架数据模型层定义了一堆核心对象——AgentCard、AgentSkill、Task、Message、Part、Artifact。它们用 Protocol Buffers 定义、发布成 JSON Schema。抽象操作层定义了 Agent 之间能干哪些事——SendMessage发消息、SendStreamingMessage流式发、GetTask查任务、ListTasks列任务、CancelTask取消。传输绑定层把上面的抽象操作落到具体协议上给了三种实现任你选JSON-RPC 2.0、gRPC、HTTPJSON/REST。下面把几个最关键的对象拆开讲。3.1 Agent CardAgent 的「公开名片」一切从发现开始。每个 A2A 服务端都要在一个公开地址上挂一张 JSON 名片约定俗成放在https://某个域名/.well-known/agent-card.json这张名片里写清楚我是谁name、描述、我会干什么skills 列表、从哪个 URL 调我、用哪种传输绑定、需要怎么认证securitySchemes字段。客户端 Agent 就是靠读这张名片来判断「这个陌生 Agent 能不能干我要的活、我该怎么连它、要带什么凭据」。这跟你打开一个网站的robots.txt、或者调一个 API 前先看它的 OpenAPI 文档是同一个套路。名片通常不常变所以规范建议服务端给它带上 HTTP 缓存头而在生产环境里这张名片应该被数字签名v1.2 已经支持基于加密签名的域名验证——因为它是整个信任链的起点一旦被伪造后面全盘皆输这点第五节细说。3.2 Task有状态的「工作单」A2A 的核心工作单元叫Task它跟「发一条消息拿一条回复」最大的不同是Task 是有状态的会走一整套生命周期。一个 Task 有唯一 ID会在这些状态之间流转submitted已提交 → working处理中 → input-required卡住了需要补输入 → completed成功 / failed失败 / canceled被取消 → rejectedAgent 拒接 / auth-required要先认证为什么要搞得这么重因为 A2A 从设计之初就是「Async First」——默认任务可能跑很久而且中途可能要人来拍板。一个跨公司的「帮我生成一份市场调研报告」的任务跑十分钟、半小时都正常中间还可能停下来问你「要不要把 2024 年的数据也纳进来」。这种场景下「一问一答」的同步模型根本扛不住必须有一个能持续查询、能中途补输入、能取消的状态机。眼熟吗上一篇里子 Agent 上生产要自己搭「可恢复的流 任务状态持久化」来兜长任务——A2A 直接把这套「长任务要有状态机」的思路写进了协议标准里。3.3 Message / Part / Artifact说话的内容和产出Message一轮沟通带一个 roleuser或agent内容由若干Part组成。Part内容的最小单元分三种——TextPart纯文本、FilePart文件、DataPart结构化 JSON。正因为有这三种 PartA2A 是模态无关的文本、图片、音视频、结构化数据都能传。Artifact任务的产出物同样由若干 Part 组成。比如「生成报告」这个 Task 完成后那份 PDF 报告就是一个 Artifact。这里有个和子 Agent 呼应的细节上一篇我提到子 Agent 交结果时要「一次性回传完整正文 产物清单不让主 Agent 猜摘要」——A2A 的Message过程沟通和 Artifact最终产物分开建模本质上是同一个工程直觉过程和结果得分开产物要显式、要完整。3.4 三种交互模式同步、流式、推送Task 跑起来结果怎么回给你A2A 给了三种模式覆盖从「秒回」到「跑一小时还断了线」的全谱同步请求 / 响应适合能立刻算完的短任务发一个请求、等一个响应。SSE 流式适合要看实时进度的任务——服务端通过 Server-Sent Events 持续推送状态变化和 Artifact 分块就像你看大模型一个字一个字往外蹦。Push Notification推送通知这条是长任务的命根子。任务可能跑几十分钟客户端不可能一直挂着连接干等。于是客户端登记一个 webhook服务端任务有进展时主动POST回调过去。连接断了、客户端重启了都不影响——这跟上一篇子 Agent「队列驱动 后台 worker 异步消费」是一个哲学长任务必须把执行从请求里剥离出去。3.5 Opaque AgentsA2A 的招牌设计最后一个概念也是 A2A 最有意思的一点不透明协作Opaque Agents。两个 Agent 协作时只基于「对方声明的能力」和「交换的信息」来打交道谁都不需要暴露自己的内部思路、计划、记忆和工具实现。对方对你就是个纯黑盒——你把任务丢进去产物拿出来中间怎么实现的与你无关也不该让你知道。这个设计一箭双雕保护知识产权厂商可以对外开放能力又不泄露自己 Agent 的提示词工程、私有工具、内部编排——这是它敢把 Agent 拿出来卖的前提划清安全边界黑盒本身就是一道隔离你注入不了它的内部它也侵入不了你的。对比一下就更清楚上一篇的子 Agent 是「半透明」的——它是你亲手定义的你知道它有哪些工具、什么系统提示词还能沿委派链给它做能力衰减。而 A2A 的 Agent 之间是完全不透明的因为它们本就分属不同的信任域你没资格也没必要知道对方内部长什么样。信任模型的差异决定了透明度的差异。四、A2A 到底解决了什么把机制串起来A2A 的价值可以收敛成五条跨框架互通LangGraph、CrewAI、Google ADK、Semantic Kernel 写的 Agent 能互相调不用为每一对组合手写胶水。能力发现靠/.well-known/agent-card.jsonAgent 能像服务一样「自我描述、被发现」而不是硬编码调用关系。不透明协作基于声明能力协作、不暴露内部——既护 IP又立安全边界。长任务 人在环Async First 的状态机 推送通知天生为跑很久、中途要人拍板的任务设计。企业级安全接入直接复用 OAuth2 / OIDC / mTLS / JWT对齐 OpenAPI 安全方案不重新发明轮子。从进展看这套东西不算 PPTA2A 2025 年 4 月由 Google 发布6 月就捐给了Linux Foundation现归 Agentic AI Foundation 管成了厂商中立标准到 2026 年官方称已有150 组织在生产环境跑真实任务Microsoft、AWS、Salesforce、SAP、ServiceNow 等都在用规范也迭代到了 v1.2。五、也带来了什么问题科普归科普但只吹不黑是不负责任的。A2A 有三类问题必须摊开讲。问题一现实里A2A 明显没 MCP 火这是最反直觉、但最该讲的一点。同样是 2025 年发布的协议MCP 几乎成了事实标准A2A 的采用却慢得多。复盘下来主要三个原因差异化被夸大A2A 主打的一些卖点MCP 其实已经能覆盖比如「有状态」——MCP 协议本身无状态但 MCP server 完全可以有状态、能留上下文实现负担重真要用起来你得同时管 MCP A2A 两套协议、盯着它们跨依赖的兼容性、再额外维护一层 A2A 通信层学习曲线陡MCP「10 分钟就能把 Claude 接上 Notion / Jira / GitHub」A2A 却要「先花几天啃 Agent 编排的概念」才跑得起第一个 demo。结论很朴素对多数团队A2A 的收益还没盖过它的复杂度。这也回应了第二节——真有跨组织互通刚需时它才划算否则就是负担。问题二协议本身留了不少「白」A2A 定义了「怎么通信」但很多关键的东西故意没写进规范这些留白就是坑只定认证、不定授权模型它规定了怎么「证明你是谁」authentication却没规定统一的「你能干什么」authorization该怎么做。结果就是安全分析里反复警告的authorization creep权限蔓延——Agent 在跨系统协作里一点点累积权限却缺乏健壮、显式的用户授权。授权时机很尴尬多 Agent 场景里一个 Agent 常常是接了任务之后才知道自己要调哪些内部 skill / 工具——于是授权检查要么滞后、要么隐式很难在「接活之前」就卡死。编排层缺失冲突解决、级联失败处理、资源优化、高并发 / 低延迟调优——这些「多 Agent 真正难的部分」基本都在协议之外还在演进。A2A 给的是通信层不是编排层。问题三安全攻击面而且是新的攻击面有研究用 MAESTRO 框架给 A2A 做了威胁建模列出十来类威胁挑几个最典型的Agent Card 投毒 / 伪造往名片字段里塞提示词注入劫持对方 Agent 的目标或者在恶意域名上挂假名片把任务和数据骗过去。名片是信任链起点它一旦被污染后面全崩。Task Replay重放没有重放保护的话抓到的一个请求可以被重复执行 N 次。跨 Agent 权限升级伪造凭据横向提权甚至让恶意指令在 Agent 之间像病毒一样传播。Artifact 篡改、Server 冒充DNS 欺骗、JWT 伪造窃取、供应链攻击……这里有个关键洞察A2A 的「发现」能力本身就放大了攻击面。攻击者可以先用 discovery 机制找到一堆 Agent再顺着某个 Agent 的连接关系一路打进去——越是方便发现越是方便被发现。六、真要上该注意什么最佳实践 checklist如果评估下来你确实有跨组织互通的刚需下面这份 checklist 是从官方规范和安全研究里提炼的可以直接对着抄。你会发现很多条和上一篇子 Agent 的做法同源——只是从「进程内」搬到了「跨组织」约束更狠。Agent Card信任的起点最该守生产环境的名片必须数字签名可信 CA 全程 HTTPS 证书校验关键连接可上 pinning建可信注册表 / 目录做统一校验别裸信任任意.well-known地址把名片内容喂给大模型之前先做 sanitize——防的就是名片投毒绝不在名片里塞静态密钥凭据一律走带外out-of-band动态获取。认证 / 授权用 OpenAPI 3.x 安全方案声明apiKey / http Bearer / oauth2 / oidc / mTLS每个请求都认证JWT 校验签名、密钥定期轮转在skill / 工具粒度做 RBAC——这正是上一篇「最小权限、能力衰减」的思路跨 Agent 场景更得把授权做「显式、可委派」。消息 / 可靠性严格 schema 校验 输入 sanitize校验 URI 防 SSRF上传文件扫毒、限大小重放保护nonce 时间戳窗口 MAC并把任务设计成幂等——跟上一篇那张「幂等消息表」是同一个工程直觉只是从进程内挪到了跨组织长任务优先走异步 / 推送通知 SSE别把长任务卡死在同步请求里。可观测 / 运维防篡改的审计日志记录每一次认证 / 授权决策、以及任务状态迁移用来发现异常改动限流 连接配额防 DoS用 SBOM 管依赖把安全测试塞进 CI/CD。假如你从2026年开始学大模型按这个步骤走准能稳步进阶。接下来告诉你一条最快的邪修路线3个月即可成为模型大师薪资直接起飞。阶段1:大模型基础阶段2:RAG应用开发工程阶段3:大模型Agent应用架构阶段4:大模型微调与私有化部署配套文档资源全套AI 大模型 学习资料朋友们如果需要可以微信扫描下方二维码免费领取【保证100%免费】配套文档资源全套AI 大模型 学习资料朋友们如果需要可以微信扫描下方二维码免费领取【保证100%免费】