LLM之Agent(十六)| MCP已“过时”?Google近期推出Agent2Agent 协议 (A2A)

news2025/4/12 17:18:35

A2A protocol

       如今,企业越来越多地构建和部署自主代理,以帮助扩展、自动化和增强整个工作场所的流程 - 从订购新笔记本电脑到协助客户服务代表,再到协助供应链规划。

       为了最大限度地发挥代理 AI 的优势,这些代理能够在一个动态的、多代理的生态系统中跨孤立的数据系统和应用程序进行协作,这一点至关重要。使代理能够相互作,即使它们是由不同的供应商或不同的框架构建的,也将增加自主性并成倍提高生产力,同时降低长期成本。

       2025年4月9日,Google推出了一个名为 Agent2Agent (A2A) 的新开放协议,得到了 50 多个技术合作伙伴的支持和贡献,这些合作伙伴包括 Atlassian、Box、Cohere、Intuit、Langchain、MongoDB、PayPal、Salesforce、SAP、ServiceNow、UKG 和 Workday;以及领先的服务提供商,包括埃森哲、BCG、凯捷、Cognizant、德勤、HCLTech、印孚瑟斯、毕马威、麦肯锡、普华永道、TCS 和 Wipro。A2A 协议将允许 AI 代理相互通信、安全地交换信息以及在各种企业平台或应用程序之上协调作。

一、A2A设计原则

        A2A 是一种开放协议,它为代理提供了一种相互协作的标准方式,而不受底层框架或供应商的影响。在与合作伙伴一起设计协议时,遵循五个关键原则:

  • 拥抱Agent能力:A2A 专注于使代理能够以自然、非结构化的方式进行协作,即使他们不共享内存、工具和上下文。正在实现真正的多代理场景,而不会将代理局局限于“工具”。
  • 以现有标准为基础:该协议建立在现有的流行标准(包括 HTTP、SSE、JSON-RPC)之上,这意味着它更容易与企业日常使用的现有 IT 栈集成。
  • 安全机制:A2A 旨在支持企业级身份验证和授权,在启动时与 OpenAPI 的身份验证方案相同。
  • 支持长时间运行的任务:将 A2A 设计为灵活的,并支持各种场景,它擅长完成从快速任务到深入研究的所有工作,而这些工作可能需要数小时甚至数天,而人类则需参与其中。在整个过程中,A2A可以向其用户提供实时反馈、通知和状态更新。
  • 支持多模态: 代理世界不仅限于文本,这就是为什么我们设计 A2A 来支持各种模式,包括音频和视频流。

二、工作原理

        A2A 是一种“client” Agent和“remote”Agent通信的模式。客户端代理负责制定和传达任务,而远程代理负责处理这些任务。此交互涉及几个关键功能:

  • 功能发现: 代理可以使用 JSON 格式的“Agent Card”公布其功能,从而允许客户端代理确定可以执行任务的最佳代理,并利用 A2A 与远程代理进行通信。
  • 任务管理: 客户端和远程代理之间的通信最终目的是为了完成任务,其中代理负责满足最终用户的请求。这个 “task” 对象由协议定义,并且有一个生命周期。它可以立即完成,或者对于长时间运行的任务,每个代理都可以进行通信,以便在完成任务的最新状态上彼此保持同步。任务的输出称为 “artifact”(工件)。
  • 协作: 代理可以相互发送消息以传达上下文、回复、构件或用户说明。
  • 用户体验协商: 每条消息都包含 “parts”,这是一个完全格式化的内容,就像生成的图像一样。每个部分都有指定的内容类型,允许客户端和远程代理协商所需的正确格式,并明确包括用户 UI 功能的协商,例如 iframe、视频、Web 表单等。

三、如何使用

3.1 前置条件

  • python3.13+

  • uv

  • LLM API Key

3.2 使用

3.2.1 克隆仓库

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

3.2.2 导航到samples目录

cd samples/python/agents/langgraph

3.2.3 把API Key添加到环境变量

echo "GOOGLE_API_KEY=your_api_key_here" > .env

3.2.4 创建python虚机环境并安装相关包

conda create -n a2a python=3.13# 等待安装完毕,激活虚机环境conda activate a2a# 并安装uv包pip install uv

3.2.5 在终端运行A2A server

# Basic run on default port 10000uv run .# On custom host/portuv run . --host 0.0.0.0 --port 8080

3.2.6 在另一个终端运行A2A client

uv run hosts/cli

问题:How much is the exchange rate for 1 USD to INR?

输出效果如下所示:

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

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

相关文章

Transformer 训练:AutoModelForCausalLM,AutoModelForSequenceClassification

Transformer 训练:AutoModelForCausalLM,AutoModelForSequenceClassification 目录 Transformer 训练:AutoModelForCausalLM,AutoModelForSequenceClassification`AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)`功能概述参数解释`AutoModelForSequen…

Java学习总结-端口-协议

端口号:一个16位的二进制,范围是0-65535 端口分类: 周知端口:0-1023,被预先定义的知名应用占用(如:HTTP占用80,FTP占用21) 注册端口:1024-49151&#xff0…

克魔助手(Kemob)安装与注册完整教程 - Windows/macOS双平台指南

iOS设备管理工具克魔助手便携版使用全指南 前言:为什么需要专业的iOS管理工具 在iOS开发和设备管理过程中,开发者经常需要突破系统限制,实现更深层次的控制和调试。本文将详细介绍一款实用的便携式工具的使用方法,帮助开发者快速…

qwen-vl 实现OCR的测试

OCR 技术是数字化时代必不可少的实用工具。以前都依赖专业的公司的专业软件才能完成。成本很高。也正因为如此,我国纸质资料的数字化并不普及。基于大模型的ORC 也许会改变这样的现状。 文本识别,也称为光学字符识别 (OCR),可以将印刷文本或…

算法训练之动态规划(五)——简单多状态问题

♥♥♥~~~~~~欢迎光临知星小度博客空间~~~~~~♥♥♥ ♥♥♥零星地变得优秀~也能拼凑出星河~♥♥♥ ♥♥♥我们一起努力成为更好的自己~♥♥♥ ♥♥♥如果这一篇博客对你有帮助~别忘了点赞分享哦~♥♥♥ ♥♥♥如果有什么问题可以评论区留言或者私信我哦~♥♥♥ ✨✨✨✨✨✨ 个…

SVMSPro分布式综合安防管理平台-->以S3存储革新,开启智能安防新纪元

SVMSPro分布式综合安防管理平台–>以S3存储革新,开启智能安防新纪元 在数字化转型浪潮下,企业安防管理正面临海量数据存储、跨区域协同以及数据安全的严峻挑战。如何实现高效、弹性、低成本的存储扩容?如何确保关键录像数据万无一失&…

脑科学与人工智能的交叉:未来智能科技的前沿与机遇

引言 随着科技的迅猛发展,脑科学与人工智能(AI)这两个看似独立的领域正在发生深刻的交汇。脑机接口、神经网络模型、智能机器人等前沿技术,正带来一场跨学科的革命。这种结合不仅推动了科技进步,也在医疗、教育、娱乐等…

docker 运行自定义化的服务-后端

docker 运行自定义化的服务-前端-CSDN博客 运行自定义化的后端服务 具体如下: ①打包后端项目,形成jar包 ②编写dockerfile文件,文件内容如下: # 使用官方 OpenJDK 镜像 FROM jdk8:1.8LABEL maintainer"ATB" version&…

NO.82十六届蓝桥杯备战|动态规划-从记忆化搜索到动态规划|下楼梯|数字三角形(C++)

记忆化搜索 在搜索的过程中,如果搜索树中有很多重复的结点,此时可以通过⼀个"备忘录",记录第⼀次搜索到的结果。当下⼀次搜索到这个结点时,直接在"备忘录"⾥⾯找结果。其中,搜索树中的⼀个⼀个结点…

【时时三省】(C语言基础)用switch语句实现多分支选择结构 例题

山不在高,有仙则名。水不在深,有龙则灵。 ----CSDN 时时三省 例题: 用switch语句处理菜单命令。在许多应用程序中,用菜单对流程进行控制,例如从键盘输入一个 A 或 a 字符,就会执行A操作,输入一…

全域数字化:从“智慧城市”到“数字生命体”的进化之路

一、国家战略下的城市数字化浪潮 2024年5月,国家四部委联合发布《关于深化智慧城市发展 推进城市全域数字化转型的指导意见》,明确提出以数据为引擎,系统性重塑城市技术架构与管理流程,推动城市治理迈向“全域协同、数实融合”的…

基于SSM的线上花店鲜花销售商城网站系统

作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏:…

DAPP实战篇:使用web3.js连接合约

说明 本系列内容目录:专栏:区块链入门到放弃查看目录 如果你还没有创建好项目请先查看:《DApp实战篇:先用前端起个项目》,如果你还不知道web3.js是什么请先查看:《DApp实战篇:前端技术栈一览》。 安装 点此查看web3.js官方文档 打开项目根目录,并唤起终端: 键入w…

K8S-证书过期更新

K8S证书过期问题 K8S证书过期处理方法 Unable to connect to the server: x509: certificate has expired or is not yet valid 1、查看证书有效期: # kubeadm certs check-expiration2、备份证书 # cp -rp /etc/kubernetes /etc/kubernetes.bak3、直接重建证书 …

蓝桥杯第十五届真题——握手问题

#include<bits/stdc.h> using namespace std; int main() {ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);int sum0;for(int i7;i<49;i){sumi;}cout<<sum;return 0; }

5G_WiFi_CE_DFS

目录 一、规范要求 1、法规目录 2、定义 3、运行模式 4、主/从设备相关的运行行为及具体的动态频率选择&#xff08;DFS&#xff09;要求 5、产品角色确定测试项目 6、测试项目 测试项1&#xff1a;信道可用性检查&#xff08;Channel Availability Check&#xff09; …

springboot 处理编码的格式为opus的音频数据解决方案【java8】

opus编码的格式概念&#xff1a; Opus是一个有损声音编码的格式&#xff0c;由Xiph.Org基金会开发&#xff0c;之后由IETF&#xff08;互联网工程任务组&#xff09;进行标准化&#xff0c;目标是希望用单一格式包含声音和语音&#xff0c;取代Speex和Vorbis&#xff0c;且适用…

RK3568 基于Gstreamer的多媒体调试记录

文章目录 1、环境介绍2、概念理清3、提前准备4、GStreamer编译5、GStreamer基础介绍6、视频播放初体验7、视频硬编码7.1、h2647.2、h265 8、视频硬解码8.1、解码视频并播放8.2、解码视频并播放带音频 1、环境介绍 硬件&#xff1a;飞凌ok3568-c开发板 软件&#xff1a;原厂rk…

VS Code 的 .S 汇编文件里面的注释不显示绿色

1. 确认文件语言模式 打开 .S 文件后&#xff0c;查看 VS Code 右下角的状态栏&#xff0c;确认当前文件的识别模式&#xff08;如 Assembly、Plain Text 等&#xff09;。如果显示为 Plain Text 或其他非汇编模式&#xff1a; 点击状态栏中的语言模式&#xff08;如 Plain Te…

5分钟读懂ArgoCD:在Kubernetes中实现持续部署

Kubernetes中的Argo CD介绍 Argo CD是用于Kubernetes的声明式GitOps持续交付工具。它遵循GitOps模式&#xff0c;以Git仓库作为定义所需应用程序状态的唯一真实来源&#xff0c;能在指定的目标环境中自动部署应用程序&#xff0c;并持续监控应用程序的运行状态&#xff0c;确保…