Google A2A协议,是为了战略性占领标准?

一、导读

2025 年 4 月 9 日,Google 正式发布了 Agent2Agent(A2A)协议。

A2A 协议致力于打破智能体之间的隔阂,让它们能够跨越框架和供应商的限制,以一种标准化、开放的方式进行沟通与协作

截止到现在,代码仓库已经4.5k星

https://github.com/google/A2A

接下来,本文将深入剖析 A2A 协议的核心概念与架构,通过具体案例展示其在实际应用中的功能,

最后总结 A2A 协议对人工智能领域未来发展的重要意义。

二、A2A协议介绍

官方文档:https://google.github.io/A2A/#/documentation

本节为摘要,需要深度了解的可以自行查看

1、A2A与MCP协议的关系

  • MCP是专注模型的工具或数据的调用

  • A2A 更多是专注智能体的合作,跟MCP并不矛盾,是一个互补关系

2、以应用场景分析

想象一下,我们有下面一个协作流程

  1. 用户请求

    • 用户向系统提出生成销售分析报告的需求。
  2. 售前洞察代理工作

    • 售前洞察代理分析销售数据,识别关键的销售趋势和客户行为模式。
    • 它确定报告中需要包含的关键指标,如销售额、产品类别、地区分布等。
  3. 数据可视化代理工作

    • 数据可视化代理接收售前洞察代理提供的分析结果和关键指标。
    • 它利用MCP协议使用工具层提供的数据和API生成相应的图表和图形。
  4. A2A 协作

    • 数据可视化代理通过A2A协议将生成的图表发送给售前洞察代理
    • 售前洞察代理接收图表,并将其整合到销售分析报告中。
  5. 报告生成

    • 售前洞察代理完成报告的编写,包括对图表的解释和对销售策略的建议。
    • 报告突出显示业绩增长点和潜在问题,为用户制定本季度的销售策略提供支持。
  6. 报告交付

    • 售前洞察代理将完整的销售分析报告交付给用户。

这些组件都来自不同的生态圈,但是遵从相同协议,使得他们可以向搭积木一样,由用户的"问题" 自我调度生态圈的积木,产生了一个解决用户问题的的智能体。

3、A2A概念&功能

A2A协议的核心概念包括:

  1. 功能发现 :智能体可以使用JSON格式的智能体卡(类似智能体的名片)来公布其功能与验证方式,从而让客户端智能体能够确定可以执行任务的最佳智能体,并利用A2A与远端智能体进行通信。
  2. 任务管理:A2A协议定义了一个"任务"对象,客户端和远程Agent之间的所有沟通都是围绕着完成任务来进行的。这个"任务"对象有自己的生命周期(比如:待处理、进行中、已完成、失败等)。
  3. 协作:智能体可以相互发送消息,以传达上下文、回复、交付物或用户说明。
  4. 用户体验协商机制:每条消息均包含若干"内容单元",每个单元均标注特定内容类型,使客户端与远端智能体能够协商确定所需格式,并特别涵盖UI能力的协调。

A2A协议的功能包括:

  • 允许智能体之间相互通信,安全地交换信息,并在各种企业平台或应用程序上协调行动。
  • 支持企业级身份验证与授权,其认证方案在发布时即与OpenAPI标准保持同步。
  • 支持包括音视频流在内的多种交互模态,并采用灵活设计,既能高效处理即时任务,也能支持需要数小时甚至数天(含人工介入环节)的深度研究任务。

通过A2A协议开发的智能体,可以通过https://domain/.well-known/agent.json被开放式的发现,下面的案例会单独将

A2A比较重要的是一个 智能体的卡片(Card)https://google.github.io/A2A/#/documentation?id=agent-card-1

三、案例

克隆这个项目

https://github.com/google/A2A

javascript 复制代码
git clone https://github.com/google/A2A

我们将启动2个Agent以及web界面,依赖与python3.13版本,并且安装使用uv

javascript 复制代码
pip install uv

在此之前,会用到google的 Gemini Api key,自行注册一个

https://aistudio.google.com/apikey

1、CrewAI

本示例演示了一个使用 CrewAI 构建并通过 A2A 协议暴露的简单图像生成代理。

详情关于这个内容请阅读:
https://github.com/google/A2A/tree/main/samples/python/agents/crewai
白话文【画图的Agent】

启动服务

javascript 复制代码
cd samples/python/agents/crewai
echo "GOOGLE_API_KEY=your_api_key_here" > .env 或者 set GOOGLE_API_KEY=你的key

这个命令将自动安装包跟运行服务

javascript 复制代码
uv run .

默认为10001端口

现在我们来看看这个智能体的卡片信息
http://localhost:10001/.well-known/agent.json

我将描述的信息翻译如下

  1. 基本信息

    • name:智能体的名称,这里是"Image Generator Agent"。
    • description:对智能体功能的简要描述,说明它可以按需生成高质量图像,并利用强大的编辑功能来修改、增强或完全转换视觉内容。
    • url:智能体的服务地址,这里是 http://localhost:10001/,表示智能体在本地服务器上运行。
    • version:智能体的版本号,这里是 1.0.0
  2. 能力(capabilities)

    • streaming:是否支持流式传输,这里是 false
    • pushNotifications:是否支持推送通知,这里是 false
    • stateTransitionHistory:是否支持状态转换历史,这里是 false
  3. 输入和输出模式(Input and Output Modes)

    • defaultInputModes:智能体默认接受的输入模式,包括文本(text)、纯文本(text/plain)和PNG图像(image/png)。
    • defaultOutputModes:智能体默认提供的输出模式,同样包括文本(text)、纯文本(text/plain)和PNG图像(image/png)。
  4. 技能(skills)

    • 包含一个或多个技能,每个技能都有其ID、名称、描述、标签和示例。
    • 在这个例子中,有一个技能 image_generator
      • id:技能的唯一标识符,这里是 image_generator
      • name:技能的名称,这里是"Image Generator"。
      • description:技能的详细描述,与智能体的描述相同。
      • tags:与技能相关的标签,这里包括 generate imageedit image
      • examples:技能的使用示例,这里是一个示例"Generate a photorealistic image of raspberry lemonade"。

2、LangGraph

本示例演示了一个使用 LangGraph 构建并通过 A2A 协议公开的货币转换代理。它展示了支持多轮对话和流式响应的会话交互。

详情关于这个内容请阅读:
https://github.com/google/A2A/blob/main/samples/python/agents/langgraph/README.md
白话文【货币汇率计算的】

启动服务

javascript 复制代码
cd samples/python/agents/langgraph
echo "GOOGLE_API_KEY=your_api_key_here" > .env 或者 set GOOGLE_API_KEY=你的key

这个命令将自动安装包跟运行服务

javascript 复制代码
uv run .

同样的你也可以访问这个智能体卡片信息
http://localhost:10000/.well-known/agent.json

3、在页面进行测试

javascript 复制代码
cd demo/ui
echo "GOOGLE_API_KEY=your_api_key_here" > .env 或者 set GOOGLE_API_KEY=你的key

这个命令将自动安装包跟运行服务

javascript 复制代码
uv run main.py

你将看到下面内容

访问页面
http://localhost:12000/

将刚刚2个Agent全部注册上去

随后就可以体验对话了

你可以问,剩下的你自己的体验吧!

  • 美元换算 (LangGraph)
  • 帮我画一直小鸟(CrewAI)

四、结论

  • 制定标准

    我总觉得google正在抢占标准,掌控生态,国内起始早就有人在搞了
    https://www.showapi.com/news/article/67da437d4ddd791c0e00a39f

    谁能制定标准,那么后续在Agent生态圈中一定会有主导权,或许就是 "安卓" "IOS" "小米" 生态圈了

  • MCP会持续发展

    讲真的 MCP就是将数据跟API等,能够实现一个插座调用,A2A有点像是过度设计

    一个Agent,即可以看成工具,也可以说是Agent,这种状态说不清的,各位看官自有见解

下面是A2A官方的一幅图,对应的文档地址可以自己看看

https://google.github.io/A2A/#/topics/a2a_and_mcp

相关推荐
AIGC方案2 小时前
deepseek热度已过?
人工智能·大模型
88号技师2 小时前
模糊斜率熵Fuzzy Slope entropy+状态分类识别!2024年11月新作登上IEEE Trans顶刊
人工智能·机器学习·分类·数据挖掘·信号处理·故障诊断·信息熵
死磕代码程序媛2 小时前
谷歌25年春季新课:15小时速成机器学习
人工智能·机器学习
有Li3 小时前
弥合多层次差距:用于超声心动图中基于文本引导的标签高效分割的双向循环框架|文献速递-深度学习医疗AI最新文献
人工智能
橙色小博3 小时前
Transformer模型解析与实例:搭建一个自己的预测语言模型
人工智能·深度学习·神经网络·机器学习·transformer
意.远3 小时前
PyTorch实现二维卷积与边缘检测:从原理到实战
人工智能·pytorch·python·深度学习·神经网络·计算机视觉
电报号dapp1193 小时前
2025年智能合约玩法创新白皮书:九大核心模块与收益模型重构Web3经济范式
人工智能·重构·web3·去中心化·区块链·智能合约
三道杠卷胡4 小时前
【AI News | 20250411】每日AI进展
人工智能·python·计算机视觉·语言模型·aigc
汪子熙4 小时前
利用 Trae 开发平面直角坐标系的教学动画
人工智能·trae