Google A2A:多智能体通信协议

在 MCP 生态日益壮大的今天,Google 又搞出了个 A2A 协议,意欲何为?为了搞清楚两个协议之间的关系,我画了一张 A2A 核心图解帮助大家快速理解。其实两者并非竞争关系,而是一种互补协议。

img

1、背景

随着企业对 AI 代理的需求不断增长,这些能够自主处理日常繁琐或复杂任务的代理型系统已成为提升生产力的关键力量。然而,不同供应商或框架开发出的代理往往难以在同一环境中安全、可控、灵活地彼此协作,形成了数据与能力的“孤岛”。

为了解决这种多代理生态的互操作难题,A2A 协议应运而生。它为代理之间的通信、任务分发与信息同步提供了统一标准,从而将分散的代理连接成一个高效、可扩展的协作网络。

Google 正式推出一个名为 Agent2Agent[1](A2A) 的开放协议,得到包括 Atlassian、Box、Cohere、Intuit、Langchain、MongoDB、PayPal、Salesforce、SAP、ServiceNow、UKG、Workday 等 50 多家技术合作伙伴的支持与贡献,以及来自 Accenture、BCG、Capgemini、Cognizant、Deloitte、HCLTech、Infosys、KPMG、McKinsey、PwC、TCS、Wipro 等领先服务提供商的参与。A2A 协议将使 AI 代理能相互通信、安全地交换信息,并在各种企业平台或应用程序之上协调行动。

img

2、A2A 协议简介

img

设计原则

拥抱代理能力:A2A 将代理视为具备自主推理能力的“实体”,允许它们以自然的、非结构化的方式协作。协议并未强制代理共享内存或工具,也不把代理限定在某个“插件”式角色。正因如此,A2A 能支持真正的多代理场景,为各种复杂业务需求提供基础。

基于已有标准:在协议设计上,A2A 借助了现有的成熟标准,如 HTTPSSEJSON-RPC。这样做的好处在于:

  • 更容易与现有 IT 系统集成:很多企业已在使用这些底层协议和技术栈。
  • 稳定且可扩展:能直接复用既有的网络通信与安全认证机制。

默认安全:A2A 非常注重企业级的身份验证和授权,保证与 OpenAPI 等常见认证方式相匹配。在多代理协作的场景下,安全与权限控制至关重要,以确保敏感信息不在错误的代理间传递。

支持长时任务:AI 代理可能执行从简短查询到大型研究项目等不同类型的任务。A2A 为此提供了灵活的任务管理机制,可在任务进行过程中持续更新状态、发送通知、同步进度,确保对长时运行的工作也能持续跟踪和协作。

与模式无关:A2A 不仅支持文本,还包含对音视频流等多种传播模式的兼容。这为代理在更多场景下的协作奠定了基础,如实时语音对话、视频分析等。

📌 SSE

服务器发送事件(SSE:Server-Sent Events)是一种利用持久 HTTP 连接让服务器主动、持续地向客户端推送实时数据更新的技术,客户端无需频繁请求即可获得最新信息,适合用于实时更新场景,如社交媒体通知、股市行情和新闻推送等。

代码示例

为了直观感受 SSE,我用 node.js 创建了一个简单的 SSE 服务,在网页中定时打印信息。

请添加图片描述

sse-demo/
├── public/
│   └── index.html
└── app.js
// app.js

const express = require('express');
const path = require('path');
const app = express();

// 提供 public 目录下的静态文件服务,避免跨域问题
app.use(express.static(path.join(__dirname, 'public')));

// SSE 路由,客户端通过该路径与服务器建立 SSE 连接
app.get('/sse', (req, res) => {
  res.set({
    'Content-Type': 'text/event-stream',  // 告知客户端该连接使用 SSE 协议
    'Cache-Control': 'no-cache',          // 禁止缓存
    'Connection': 'keep-alive'            // 保持长连接
  });
  res.flushHeaders();

    // 每秒向客户端发送一次当前时间
  const intervalId = setInterval(() => {
    const data = newDate().toLocaleTimeString();
    res.write(`data: ${data}\n\n`);
  }, 1000);

  // 当客户端关闭连接时,清除定时器
  req.on('close', () => {
    clearInterval(intervalId);
    res.end();
  });
});

// 启动服务器并监听 3000 端口
const PORT = 3000;
app.listen(PORT, () => {
  console.log(`服务器启动成功,访问地址: http://localhost:${PORT}`);
});
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>SSE 示例</title>
</head>
<body>
<h1>服务器发送事件(SSE)示例</h1>
<div id="sse-data" style="font-size: 1.2em; color: #333;"></div>

<script>
    // 建立到 SSE 服务器的连接,这里无需指定完整地址,
    // 直接使用相对路径即可(避免跨域问题)
    const eventSource = newEventSource('/sse');

    // 监听接收到的消息,并显示在页面中
    eventSource.onmessage = function(event) {
      const outputDiv = document.getElementById('sse-data');
      outputDiv.innerHTML += '收到数据:' + event.data + '<br />';
    };

    // 处理连接错误
    eventSource.onerror = function(err) {
      console.error('EventSource 连接错误:', err);
    };
  </script>
</body>
</html>
📌 JSON-RPC

JSON-RPC[2] 是一种使用 JSON 作为数据格式的远程过程调用(RPC)协议。它允许客户端通过网络调用服务器上的函数或方法,并将请求和响应都以 JSON 格式进行封装,从而使得通信既轻量又易于实现。由于其无状态、简单易读和跨平台兼容的特点,JSON-RPC 能够很方便地在分布式系统中传输数据。因符合现代 AI 系统对低延迟、快速响应以及系统间无缝交互的需求,也成为了许多 AI 应用和服务选择的协议格式(主要使用 JSON-RPC 2.0)。

核心交互

在 A2A 的工作模型中,主要存在“客户端代理(client agent)”和“远程代理(remote agent)”两种角色:

  • 客户端代理:负责接收用户请求、制定具体任务,并向远程代理提出需求。
  • 远程代理:根据接收到的任务,执行相应操作或产出结果(“artifact”)。

二者的交互方式包括能力发现(capability discovery)任务管理(task management)协作(Collaboration)**和**用户体验协商(User experience negotiation)。其中,能力发现依赖 “Agent Card” 来告知代理所具备的能力,任务管理则通过协议定义的 “task” 对象实现可追踪、可更新的工作流程。

img

用于连接代理的开放标准:

MCP(Model Context Protocol,模型上下文协议)—— 适用于工具和资源

  • 利用结构化的输入和输出,将代理连接至工具、API 和其它资源。
  • Google ADK (Python 版)[3] 支持 MCP 工具,从而使代理能够使用各种 MCP 服务器。

A2A(Agent2Agent Protocol,代理对代理协议)—— 用于代理之间协作

  • 不同代理之间无需共享内存、资源和工具,即可实现动态、多模态的通信。
  • 这是一个由社区推动的开放标准。
  • 目前已有使用 Google ADK[4]、LangGraph[5]、Crew.AI[6] 等工具的示例。

img

场景举例:招聘流程的数字化协作

招聘一名软件工程师可能涉及多个环节:

  1. 发布岗位需求并收集应聘者信息;
  2. 与多个系统对接筛选候选人;
  3. 安排面试、评估结果;
  4. 背调及后续入职流程。

如果在同一个统一的工作界面(如 Agentspace)里,这些流程可由不同专业领域的代理来协作完成:

  • 一个代理

    负责解析岗位需求、初步筛选简历;

  • 另一个代理与社交平台或招聘系统交互,获取更详细的候选人信息;

  • 其他代理则可负责背景调查、面试日程安排等。

各代理之间通过 A2A 协议通信与同步,大幅简化人与系统间的切换与重复操作。

行业影响

A2A 的出现意味着代理互操作性进入了新阶段。其统一的协议、开放的生态和模块化的设计,将为企业级 AI 代理部署带来显著价值,主要体现在:

  1. 扩展性:企业可以根据需求随时替换或新增代理,适配不同业务场景。
  2. 灵活性:不同供应商或框架的代理都能加入到同一协作网络中,避免因单一技术堆栈而被锁定。
  3. 可维护性:统一的标准便于企业对各种代理进行监控、管理和认证,减少因多套体系并行带来的复杂度。
  4. 创新性:凭借开放性与跨平台协作,更多创新型应用将涌现,例如多代理协作为用户提供多维度支持、AI 代理与 IoT 设备的联动等等。

值得一提的是,A2A 与 Anthropic 的 Model Context Protocol(MCP)形成了互补关系,A2A 侧重于代理间的通信与能力交换,而 MCP 则为代理提供更丰富的上下文和工具。二者结合可更好满足大规模复杂场景下对数据、逻辑和安全等多方面的需求。

那么,如何系统的去学习大模型LLM?

作为一名从业五年的资深大模型算法工程师,我经常会收到一些评论和私信,我是小白,学习大模型该从哪里入手呢?我自学没有方向怎么办?这个地方我不会啊。如果你也有类似的经历,一定要继续看下去!这些问题啊,也不是三言两语啊就能讲明白的。

所以我综合了大模型的所有知识点,给大家带来一套全网最全最细的大模型零基础教程。在做这套教程之前呢,我就曾放空大脑,以一个大模型小白的角度去重新解析它,采用基础知识和实战项目相结合的教学方式,历时3个月,终于完成了这样的课程,让你真正体会到什么是每一秒都在疯狂输出知识点。

由于篇幅有限,⚡️ 朋友们如果有需要全套 《2025全新制作的大模型全套资料》,扫码获取~
在这里插入图片描述

👉大模型学习指南+路线汇总👈

我们这套大模型资料呢,会从基础篇、进阶篇和项目实战篇等三大方面来讲解。
在这里插入图片描述
在这里插入图片描述

👉①.基础篇👈

基础篇里面包括了Python快速入门、AI开发环境搭建及提示词工程,带你学习大模型核心原理、prompt使用技巧、Transformer架构和预训练、SFT、RLHF等一些基础概念,用最易懂的方式带你入门大模型。
在这里插入图片描述

👉②.进阶篇👈

接下来是进阶篇,你将掌握RAG、Agent、Langchain、大模型微调和私有化部署,学习如何构建外挂知识库并和自己的企业相结合,学习如何使用langchain框架提高开发效率和代码质量、学习如何选择合适的基座模型并进行数据集的收集预处理以及具体的模型微调等等。
在这里插入图片描述

👉③.实战篇👈

实战篇会手把手带着大家练习企业级的落地项目(已脱敏),比如RAG医疗问答系统、Agent智能电商客服系统、数字人项目实战、教育行业智能助教等等,从而帮助大家更好的应对大模型时代的挑战。
在这里插入图片描述

👉④.福利篇👈

最后呢,会给大家一个小福利,课程视频中的所有素材,有搭建AI开发环境资料包,还有学习计划表,几十上百G素材、电子书和课件等等,只要你能想到的素材,我这里几乎都有。我已经全部上传到CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
在这里插入图片描述
相信我,这套大模型系统教程将会是全网最齐全 最易懂的小白专用课!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值