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

git clone https://github.com/google/A2A

在这里插入图片描述

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

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】

启动服务

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

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

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
白话文【货币汇率计算的】

启动服务

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

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

uv run .

在这里插入图片描述

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

3、在页面进行测试

cd demo/ui
echo "GOOGLE_API_KEY=your_api_key_here" > .env 或者 set GOOGLE_API_KEY=你的key

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

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

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/75697.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Ansible:roles角色

文章目录 Roles角色Ansible Roles目录编排Roles各目录作用创建 roleplaybook调用角色调用角色方法1:调用角色方法2:调用角色方法3: roles 中 tags 使用实战案例 Roles角色 角色是ansible自1.2版本引入的新特性,用于层次性、结构化…

MCU的USB接口作为 USB CDC串口输出

引用: https://microchip-mplab-harmony.github.io/usb_apps_device/apps/usb_uart_bridge_dual/readme.html STM32 USB使用记录:使用CDC类虚拟串口(VCP)进行通讯_stm32 usb使用记录:使用cdc类虚拟串口(vcp)进行通讯-CSDN博客 前…

深度解析强化学习:原理、算法与实战

深度解析强化学习:原理、算法与实战 0. 前言1. 强化学习基础1.1 基本概念1.2 马尔科夫决策过程1.3 目标函数1.4 智能体学习过程2. 计算状态值3. 计算状态-动作值4. Q 学习4.1 Q 值4.2 使用 Q 学习进行 frozen lake 游戏4.3. frozen lake 问题4.4 实现 Q 学习小结系列链接0. 前…

UE5蓝图之间的通信------接口

一、创建蓝图接口 二、双击创建的蓝图接口,添加函数,并重命名新函数。 三、在一个蓝图(如玩家角色蓝图)中实现接口,如下图: 步骤一:点击类设置 步骤二:在细节面板已经实现的接口中…

2025 年“认证杯”数学中国数学建模网络挑战赛 A题 小行星轨迹预测

近地小行星( Near Earth Asteroids, NEAs )是轨道相对接近地球的小行 星,它的正式定义为椭圆轨道的近日距不大于 1.3 天文单位( AU )的小行星。 其中轨道与地球轨道最近距离小于 0.05A 且直径大于 140 米的小行星被…

Axure中继器(Repeater): 列表多选和 列表查询

文章目录 引言I 列表多选添加选中交互事件添加未选中交互事件II 列表查询知识点操作说明引言 基于鼠标点击交互事件实现列表多选列表查询 I 列表多选 添加选中交互事件 给列标题第一列多选框元件命名为ckeck,并同时添加选中交互事件; 同步添加设置选择/选中动作,目标元件选…

windows11下pytorch(cpu)安装

先装anaconda 见最下方 Pytorch 官网:PyTorch 找到下图(不要求版本一样)(我的电脑是集显(有navdia的装gpu),装cpu) 查看已有环境列表 创建环境 conda create –n 虚拟环境名字(…

最新版IDEA超详细图文安装教程(适用Mac系统)附安装包及补丁2025最新教程

目录 前言 一、IDEA最新版下载 二、IDEA安装 三、IDEA补丁 前言 IDEA(IntelliJ IDEA)是专为Java语言设计的集成开发环境(IDE),由JetBrains公司开发,被公认为业界最优秀的Java开发工具之一。DEA全称Int…

react从零开始的基础课1

全文约5万字。 1.hello,.. // App.jsx import { useState } from react import reactLogo from ./assets/react.svg import viteLogo from /vite.svg import ./App.cssfunction App() {const [count, setCount] useState(0)return (<><Greeting name"world&qu…

【linux知识】web服务环境搭建(一):用户以及开发环境初始化

toc 创建用户组以及用户 以下是 创建用户组 wendao 和用户 wendao 并指定 GID、UID 及家目录 的完整操作指南&#xff1a; 一、创建用户组&#xff08;指定 GID&#xff09; sudo groupadd -g 1500 wendao # 创建组并指定 GID 为 1500• 注意&#xff1a;GID 需唯一&#…

音视频 五 看书的笔记 MediaCodec

MediaCodec 用于访问底层媒体编解码器框架&#xff0c;编解码组件。通常与MediaExtractor(解封装,例如Mp4文件分解成 video和audio)、MediaSync、MediaMuxer(封装 例如音视频合成Mp4文件)、MediaCrypto、Image(cameraX 回调的ImageReader对象可以获取到Image帧图像,可转换成YU…

李宏毅NLP-3-语音识别part2-LAS

语音识别part2——LAS Listen Listen主要功能是提取内容信息&#xff0c;去除说话人差异和噪声 。编码器&#xff08;Encoder&#xff09;结构&#xff0c;输入是声学特征&#xff0c;经过 Encoder 处理后&#xff0c;输出为高级表示&#xff0c;这些高级表示可用于后续语音识别…

开源CMS的模块化设计和API接口如何具体影响其扩展性?

优秀的CMS系统都有自己主打的特点&#xff0c;开源CMS凭借其灵活性和低成本优势占据了市场主流地位&#xff0c;而模块化设计与API接口正是其扩展性的两大基石。本文将深入探讨这两大技术特性是如何影响cms的扩展性的。 一、模块化设计&#xff1a;功能解耦与生态繁荣的引擎 …

一文读懂WPF系列之常用控件以及样式

WPF控件 控件分类概览常用控件常用控件代码示例和效果 样式与模板应用样式定义​​方式行内样式​​页面/窗口级资源样式&#xff08;Local Resource&#xff09;应用程序全局资源独立资源字典&#xff08;ResourceDictionary&#xff09;控件模板&#xff08;ControlTemplate&…

AndroidTV D贝桌面-v3.2.5-[支持文件传输]

AndroidTV D贝桌面 链接&#xff1a;https://pan.xunlei.com/s/VONXSBtgn8S_BsZxzjH_mHlAA1?pwdzet2# AndroidTV D贝桌面-v3.2.5[支持文件传输] 第一次使用的话&#xff0c;壁纸默认去掉的&#xff0c;不需要按遥控器上键&#xff0c;自己更换壁纸即可

XDocument和XmlDocument的区别及用法

因为这几天用到了不熟悉的xml统计数据&#xff0c;啃了网上的资料解决了问题&#xff0c;故总结下xml知识。 1.什么是XML?2.XDocument和XmlDocument的区别3.XDocument示例1示例2&#xff1a;示例3&#xff1a; 4.XmlDocument5.LINQ to XML6.XML序列化(Serialize)与反序列化(De…

从竞速到巡检:不同无人机如何匹配最佳PCB方案?

随着无人机技术的快速发展&#xff0c;高性能PCB&#xff08;印刷电路板&#xff09;成为无人机制造商的核心需求之一。无论是消费级无人机还是工业级应用&#xff0c;PCB的质量直接影响飞行控制、信号传输和整机稳定性。那么&#xff0c;无人机制造商在选型高端PCB时&#xff…

高支模自动化监测解决方案

1.行业现状 高大模板支撑系统在浇筑施工过程中&#xff0c;诸多重大安全风险点进行实时自动化安全监测的解决方案主要监测由于顶杆失稳、扣件失效、承压过大等引起的支撑轴力、模板沉降、相对位移、支撑体系倾斜等参数变化。系统采用无线自动组网、高频连续采样&#xff0c;实时…

python【标准库】multiprocessing

文章目录 介绍多进程Process 创建子进程共享内存数据多进程通信Pool创建子进程多进程案例多进程注意事项介绍 python3.10.17版本multiprocessing 是一个多进程标准模块,使用类似于threading模块的API创建子进程,充分利用多核CPU来并行处理任务。提供本地、远程的并发,高效避…

UniApp基于xe-upload实现文件上传组件

xe-upload地址&#xff1a;文件选择、文件上传组件&#xff08;图片&#xff0c;视频&#xff0c;文件等&#xff09; - DCloud 插件市场 致敬开发者&#xff01;&#xff01;&#xff01; 感觉好用的话&#xff0c;给xe-upload的作者一个好评 背景&#xff1a;开发中经常会有…