Amazon Bedrock AgentCore Runtime 支持 A2A 协议实现多Agent协同
Amazon Bedrock AgentCore Runtime 现已支持 Agent-to-Agent(A2A)协议,使AI Agent可通过标准化通信方式跨系统发现节点、共享能力并协同工作。该运行环境提供安全的serverless部署能力,兼容多种框架与模型,支持实时及长时间运行任务,并通过内置认证机制实现会话隔离。
依托对MCP和A2A协议的支持,无论Agent基于Strands Agents、OpenAI Agents SDK、LangGraph、Google ADK还是Claude Agents SDK构建,均可在统一可验证格式下共享上下文、能力与推理过程,实现无缝协作。
本文导读
本文介绍如何利用A2A协议实现不同框架构建的AI Agent之间的高效协作,涵盖在Amazon Bedrock AgentCore Runtime上部署A2A服务器、配置Agent发现与认证机制,以及搭建可投入实际应用的事件响应多Agents系统。
内容将完整解析A2A请求从Agent能力卡片发现到任务分配的全生命周期,展示标准化协议如何简化多Agents系统的复杂性。
理解多Agents系统
构建高效的Agent系统需具备以下核心组件:
- 记忆功能:短期记忆维持对话上下文,长期记忆留存跨会话关键洞察。
- 工具集成:支持Agent直接访问或通过MCP服务器调用外部工具。
- 身份认证:实现安全的身份验证与权限管理,支持代表用户操作或自主访问资源。
- 安全防护:实时检测有害内容、防止幻觉输出,确保响应符合策略与事实准确性。
MCP负责连接单个Agent与工具和数据源,而A2A协议则实现多个Agent间的协作交互。例如,零售库存Agent可通过MCP查询数据库,并通过A2A与供应商Agent通信完成订单下达。
A2A协议带来的跨平台互操作性优势显著:无论Agent使用何种框架、大语言模型或部署环境(亚马逊云科技或边缘设备),均可无需复杂中间件实现通信协作。
该协议具备松耦合与模块化特性:每个Agent独立运行,可单独开发、测试、部署和升级,不影响整体系统;新Agent可无缝接入,故障也被隔离在局部范围,避免连锁反应。
同时支持动态发现与编排:Agent通过标准化结构声明自身能力,编排Agent可根据任务需求实时发现并调用专业Agent。
AgentCore Runtime 上的 A2A 请求生命周期
A2A协议定义了结构化的请求生命周期,依赖多个组件协同完成多Agent通信,主要要素包括:
用户
由人工操作员或自动化服务发起请求,触发客户端Agent执行目标导向的任务流程。
A2A客户端
代表用户行动,依据A2A协议发起通信,用于发现远程Agent并请求其执行任务。
A2A服务器
公开实现A2A协议的HTTP端点,接收请求、处理任务并返回结果。各Agent均可作为A2A服务器,通过HTTP/S上的JSON-RPC 2.0或Server-Sent Events支持同步与异步交互。
Agent Card
每个Agent发布的JSON格式元数据文件,包含身份、功能、端点及认证要求,支持其他Agent在委托前查询其能力,实现动态发现。
任务对象
表示系统中流转的工作单元,具有唯一ID和生命周期。任务可能长期运行、涉及多轮交互,并需要多个Agent协作完成。
成果
任务完成后生成的输出,可为文本、JSON、图像、音频等多模态内容。Agent在协同过程中相互交换成果以共同达成用户原始请求。
多Agents应用场景:监控与故障响应
为展示A2A协议在AgentCore Runtime上的应用能力,本文以企业级监控与故障响应系统为例,演示基于不同框架的专业Agent如何通过A2A协议无缝协作应对运维挑战。
该方案采用“中心辐射型”架构,包含三个专业Agent,均集成Amazon Bedrock AgentCore核心功能模块:
- AgentCore Memory:实现上下文感知响应。
- AgentCore Identity:基于Amazon Cognito提供安全身份认证与权限管控。
- AgentCore Gateway:提供集中式工具访问入口。
- AgentCore Observability:用于追踪、调试和监控Agent性能。
相关架构图如下:
系统包含以下组件:
Host Agent(基于Google ADK构建)
作为智能路由层与协调中心,运行于AgentCore Runtime,通过A2A协议与云端Agent通信。其核心职责包括:
- 动态发现Agent:从Amazon Systems Manager Parameter Store获取远程Agent的身份提供商配置,实现安全认证。
- 能力感知:从A2A服务器获取Agent Card,明确可用功能与端点。
- 智能路由:分析用户查询并按能力路由至合适的专业Agent。
- 多Agents协同:编排需多个Agent参与的复杂工作流。
监控Agent(基于Strands Agents SDK构建)
作为运维智能层,持续分析Amazon CloudWatch日志、指标、仪表盘及告警信息,识别异常模式并挖掘可执行洞察。检测到问题后主动与其他Agent协同响应。主要能力包括:
- 列出并分析CloudWatch仪表盘数据。
- 拉取Lambda、ECS、EC2等服务的日志。
- 实时监控告警状态变化。
- 分析日志组中的错误模式。
支持跨多个亚马逊云科技账户统一监控。
运维Agent(基于OpenAI SDK构建)
提供故障修复方案与外部知识集成能力。当监控Agent发现问题时,通过A2A协议与其通信,同步上下文并请求执行修复操作。核心功能包括:
- 通过Tavily API检索最佳实践、排查指南和解决方案。
- 制定针对性的修复建议。
实施多Agents监控解决方案
以下为在AgentCore Runtime上构建并部署该系统的具体步骤:
- 搭建基础架构:部署简易A2A服务器,掌握Agent部署、认证与调用机制。
- 构建监控系统:为各专业Agent配置专属工具与功能。
- 实现Agent互联:配置A2A通信通道,实现动态发现与相互调用。
- 观摩系统运行:查看演示视频,了解故障检测、跨Agent协同与自动化响应全流程。
所有代码示例、完整实现方案及部署脚本已开源:
在AgentCore Runtime中开始使用A2A协议
有关在AgentCore Runtime上部署A2A服务器的详细指南,请参考官方文档,涵盖以下内容:
- 使用任意框架(如Strands、OpenAI SDK、LangGraph)创建并配置A2A服务器。
- 本地测试与验证。
- 通过AgentCore CLI完成部署。
- 配置OAuth 2.0与Amazon IAM身份验证。
- 获取与发现Agent Card。
- 实现调用已部署Agent的客户端逻辑。
掌握上述技能后,可复用模式构建多Agents系统的各个组件。完整示例见:
准备条件
部署前需完成以下准备工作:
- 亚马逊云科技账户:拥有具备相应权限的有效账户,可访问管理控制台。
- AWS CLI:安装并配置AWS命令行工具。
- 安装uv工具。
- 支持区域:当前已在部分区域测试支持,详情参见:支持区域列表。若在其他区域部署,需更新cloudformation/vpc-stack.yaml中的DynamoDB前缀列表映射,详见VPC Stack文档。
部署步骤
步骤1:克隆代码库
git clone https://github.com/awslabs/amazon-bedrock-agentcore-samples.git
cd 02-use-cases/A2A-multi-agent-incident-response
步骤2:运行部署脚本
脚本将自动验证AWS CLI配置、检查凭证、设置区域(默认us-west-2)、收集参数、生成S3桶名并按序部署堆栈,预计耗时10–15分钟。
uv run deploy.py
步骤3:配置运行时CLI参数
按提示输入以下API密钥:
- OpenAI API密钥(来自OpenAI Platform)。
- Tavily API密钥(来自Tavily)。
- Google API密钥(来自Google AI Studio)。
其余参数可使用默认值。部署启动后可在终端和控制台跟踪进度。
步骤4:启动前端服务
运行以下命令搭建React前端界面,用于与多Agents系统交互,监控基础设施、查询CloudWatch指标日志及获取补救方案。
cd frontend
npm install
chmod +x ./setup-env.sh
./setup-env.sh
npm run dev
部署完成后,系统将包含三个运行于AgentCore Runtime的专业Agent,通过A2A协议协同调度。其中:
- Amazon Cognito堆栈创建用户池,提供基于OAuth 2.0的机器对机器(M2M)身份验证。
- 监控Agent基于Strands SDK,通过AgentCore Gateway连接CloudWatch,结合语义记忆策略跟踪事件。
- 运维Agent基于OpenAI Agents SDK,通过Tavily API检索修复方案。
- Host Agent基于Google ADK,作为中枢通过HTTP协议分配任务给两个专业Agent。
端到端事件响应工作流
Host Agent负责管理交互、理解需求并路由至最优专业Agent。监控Agent与运维Agent通过Agent Card供Host Agent进行任务编排。以下为一个基于日志分析与修复建议的测试场景:
- 初始问候:用户发送问候,Host Agent友好回复。
- 能力查询:用户询问功能范围,Host Agent说明其为专用于云监控与运维的编排Agent。
- 列出日志组与仪表盘:用户请求查看资源信息,Host Agent判定为监控任务,调用transfer_to_agent工具转发至监控Agent。后者返回153个日志组、无可用仪表盘的结果,Host Agent汇总呈现。
- 分析指定日志组:用户请求分析特定路径日志(/aws/bedrock-agentcore/runtimes/hostadk-<runtimeId>-DEFAULT)。Host Agent转交请求,监控Agent发现9个错误与18条警告,识别出OTLP导出失败问题,并反馈报告。
- 故障排查与修复建议:用户请求解决方案,请求被路由至运维Agent。后者通过网络搜索补充信息,生成关于OTLP导出失败的修复方案。
AgentCore Runtime 为 A2A 提供的安全机制
AgentCore Runtime支持两种A2A通信认证方式:
- OAuth 2.0认证:客户端通过授权服务器获取JWT令牌随请求发送,服务器验证身份并基于token声明执行访问控制,适用于M2M或联合身份场景。
- Amazon IAM认证:客户端承担具备调用权限的IAM角色,通过SigV4签名机制与IAM策略控制访问,无需额外token管理,支持精细化权限配置。
AgentCore Runtime 对 A2A 的支持范围
AgentCore Runtime为A2A通信提供全面支持,主要包括:
- 无状态服务器:托管HTTP接口的A2A服务器,在9000端口运行无状态HTTP服务,支持JSON-RPC消息协议,原样透传请求与响应,保障协议完整性。
- 已认证的Agent Card:在/.well-known/agent-card.json路径提供含Agent能力信息的JSON文件,便于自动发现。
- 安全入站认证机制:支持SigV4与OAuth 2.0认证,通过HTTP头凭证验证每个入站请求,确保通信合法性与安全性。
- 安全出站授权机制:通过IAM执行角色与AgentCore Identity实现安全出站访问。Agent承担预定义IAM角色获取必要权限,对外部服务交互时可通过托管OAuth 2.0支持第三方身份提供商(如Google、GitHub、Slack)。
- VPC连接:可配置Runtime连接至VPC内资源,安全访问私有数据库、API和服务。
- 依托Amazon PrivateLink实现私有连接:通过接口VPC端点建立Runtime与AgentCore服务间的私有连接,通信完全限制在VPC内部,不经过公网。
- 生命周期管理:通过idleRuntimeSessionTimeout与maxLifetime参数配置会话超时规则,系统自动终止空闲或超长运行会话,提升资源利用率与系统稳定性。
总结
Amazon Bedrock AgentCore Runtime对A2A协议的支持,为构建高扩展性、高互操作性的多Agents系统提供了坚实基础。借助A2A协议,企业可打破框架、模型与基础设施差异壁垒,实现AI Agent间的标准化通信与协同,快速构建复杂解决方案。
本文所展示的云监控与事件响应案例充分体现了该能力的实践价值:基于Google ADK的编排Agent能与Strands及OpenAI SDK构建的Agent高效协作,全部部署于AgentCore Runtime,共同完成问题检测、方案检索与修复推荐。
传统模式下实现此类集成需大量定制开发,而A2A协议通过标准化设计极大简化了这一过程。
随着AI系统向协同化演进,A2A与MCP等标准协议正成为关键基础设施,推动实现Agent的动态发现、灵活组合与智能编排,助力企业迈向“一次构建,全域集成”的高效开发新时代。

