A2A Forge-使用A2A和MCP制作智能云代理
团队名称: 云破坏者\ 团队成员: Chandini Saisri Uppuganti、Apurva Karne、Roshini Joga、Harshavardhan Reddy
链接:
油管 项目演示和PPT演示
报告: 项目报告
幻灯片演示文件: 演示幻灯片
概述
A2AForge是一个人工智能驱动的多代理系统,旨在使用自然语言命令简化和自动化云基础设施管理。它汇集了谷歌的代理到代理(A2A)协议、Anthropic的模型上下文协议(MCP)和OpenAI代理SDK,以实现自治代理之间的无缝通信和任务执行。
该项目的核心是展示智能代理如何在云中协同解释用户指令、内部通信和采取实际操作,例如配置或终止AWS EC2实例、创建和管理S3存储桶,以及最终的更多操作(如Lambda、RDS和CloudWatch集成)。
通过将基于协议的代理通信与人工智能功能相结合,Cloud Busters展示了云DevOps的未来:人类操作员只需说“创建EC2实例”,系统就可以处理其余部分。
该项目以内部代号构建 A2锻造,反映了其目的——通过A2A构建和编排多代理云工具的“锻造”。
无论你是DevOps工程师、人工智能研究人员,还是只是对云好奇,A2AForge都能为现代人工智能如何自动化复杂的基础设施任务提供令人兴奋的概念证明。
是什么让它特别?
- 自主协作:代理使用A2A进行通信和委派任务,不需要集中式控制器。
- 工具增强推理:在MCP的支持下,代理可以决定何时以及如何使用特定的云工具。
- 自然语言用户体验:用户使用简单的英语与系统交互,降低了非工程师的门槛。
- 模块化代理设计:每个云服务(EC2、S3等)都有自己的专用代理,使系统具有可扩展性和可扩展性。
- 生产就绪概念:虽然是一个概念验证,但该架构使用OpenAI的SDK、AWS最佳实践和环境安全部署反映了现实世界的生产准备情况。
建筑
- 代理程序:路由请求并协调A2A通信
- EC2代理:处理EC2实例操作
- S3代理:处理S3铲斗操作
- A2A通信:代理可以相互查询和协作
- 困惑AI:增强对自然语言的理解
- MCP集成:使用模型上下文协议进行AWS操作
A2A通信流程
User Request
↓
Coordinator Agent
↓ ↔ ↓
EC2 Agent ⟷ S3 Agent
↓
AWS Services代理人可以:
- 互相发送消息
- 向其他代理查询信息
- 共享上下文并协作
- 维护对话历史记录
特性
多智能体情报
模块化代理架构——EC2代理、S3代理等即将推出。
协议驱动通信
将谷歌的A2A与Anthropic的MCP集成,实现无缝代理协作。
云资源管理
自动化AWS EC2实例配置/终止和S3存储桶操作。
自然语言接口
通过简单的英语提示命令AWS资源。
代理能力
| 代理 | 工具功能 |
|---|---|
| EC2代理 | initiate_aws_ec2_instance, terminate_aws_ec2_instance |
| S3代理 | create_s3_bucket, delete_s3_bucket, list_s3_buckets |
| (即将推出) | Lambda代理、IAM代理、成本监控代理、CloudWatch代理 |
先决条件
- Python 3.12+或Docker
- 具有EC2/S3权限的AWS IAM角色
设置
1.安装依赖项
pip install -r requirements.txt2.配置环境变量
复制示例环境文件:
cp .env.example .env编辑 .env 并添加您的凭据:
# AWS Credentials (or use aws configure)
AWS_ACCESS_KEY_ID=your_access_key
AWS_SECRET_ACCESS_KEY=your_secret_key
AWS_DEFAULT_REGION=us-east-1
# Perplexity API Key (optional - for enhanced NLP)
PERPLEXITY_API_KEY=your_perplexity_api_key获取困惑API密钥:
- 访问https://www.perplexity.ai/settings/api
- 注册并获取您的API密钥
- 添加到
.env文件
或使用AWS CLI:
aws configure3.安装MCP服务器(可选)
如果您想使用MCP工具:
# Install uv/uvx if not already installed
curl -LsSf https://astral.sh/uv/install.sh | sh当Kiro加载配置时,MCP服务器将自动启动。
用法
启动聊天界面
python chat_interface.py示例命令
EC2操作:
create ec2 instance-创建t2.micro实例create ec2 instance t2.small-创建特定实例类型list instances-显示所有EC2实例stop instance i-1234567890abcdef0-停止实例terminate instance i-1234567890abcdef0-终止实例
S3操作:
create s3 bucket my-unique-bucket-name-创建一个bucketcreate s3 bucket my-bucket in us-west-2-在特定区域创建list buckets-显示所有S3存储桶list objects in my-bucket-列出bucket中的对象delete bucket my-bucket-删除bucket
项目结构
.
├── .kiro/settings/mcp.json # MCP configuration
├── agents/
│ ├── coordinator.py # Main router agent
│ ├── ec2_agent.py # EC2 specialist
│ └── s3_agent.py # S3 specialist
├── chat_interface.py # CLI interface
├── requirements.txt # Python dependencies
└── README.md # This file特点
- ✅ LLM驱动的意图识别 -困惑AI处理所有命令解析
- ✅ 自然语言理解(礼貌请求、地名等)
- ✅ EC2和S3的专业代理
- ✅ 代理间通信(A2A)
- ✅ 智能区域地图(弗吉尼亚州→ us-east-1,东京→ ap-东北1)
- ✅ MCP集成就绪
- ✅ 带有动画的漂亮web UI
- ✅ CLI接口
路线图
- 增强的Web界面:扩展React/Next.js前端功能
- 其他云服务:Lambda、RDS、CloudFormation、IAM、CloudWatch
- 身份验证和安全:使用适当的身份验证保护接口
- 综合录井:跟踪所有操作和代理交互
- 回滚功能:如果需要,撤消操作
- 成本监控:实时AWS成本跟踪和警报
安全须知
- 切勿将AWS凭据提交到版本控制
- 使用具有最低所需权限的IAM角色
- 在您的AWS帐户上启用MFA
- 在生产执行之前审查所有操作
