多代理系统开发套件

该服务提供基于ADK、MCP和A2A协议的多代理系统开发与部署解决方案,适用于构建本地和云端代理交互系统。

  • by intimanjunath
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 intimanjunath/Multi-Agent-Interop-with-MCP-ADK-A2A-Hands-On-Portfolio

使用说明

MCP+ADK+A2A代码实验室

该存储库再现了三个谷歌代码实验室,涵盖了模型上下文协议(MCP)、代理开发工具包(ADK)、代理到代理(A2A)协议和代理引擎部署。这项工作被组织成 二 顶级子目录,以满足分配要求。

存储库布局(两个顶级文件夹)

adk-multi-agent-image-scoring

  • 代码实验室1: 使用ADK创建一个多代理系统,部署到代理引擎,并启用A2A。
  • 包含代理定义、环境配置说明、验证屏幕截图和简短说明。

a2a

  • 代码实验室2: 货币代理(MCP服务器→ ADK代理商→ A2A端点)。
  • 代码实验室3: A2A采购礼宾(Cloud Run上的两个卖家代理,Agent Engine上的ADK客户端)。
  • 包含的子文件夹 currency-agent 和 purchasing-concierge,每个都有环境说明、验证截图和简短的文章。

“视频”注释/链接出现在以下每个codelab部分和本文件末尾。
“代码”注释:所有代码和文件都附在驱动器中并链接到此处。


先决条件

  • 一个支持计费并可访问Vertex AI和Cloud Run的Google Cloud项目。
  • 能够使用Cloud Shell或本地Python环境。
  • 基本熟悉:ADK(代理编写和部署)、A2A(代理互操作端点和发现)、MCP(代理工具协议)和代理引擎(托管和生命周期)。

全局设置--检查表

  • 确认云项目和地区(建议: us-central1).
  • 启用跨实验室使用的核心服务:Vertex AI、Cloud Run、Cloud Build和相关IAM/Artifact服务(由每个实验室提示)。
  • 准备您将在多个地方使用的环境配置值:
    • 谷歌云 项目ID
    • 谷歌云 区域
    • 可选:独特的云存储 桶 名称(如果代码实验室使用暂存/资产)
    • 模型 代理使用的配置值(例如,模型名称)
  • 为部署的服务确定一致的命名方案,以保持屏幕截图和视频清晰。
  • 创建本地 screenshots 每个codelab目录内的文件夹,用于存储验证证据。

Codelab 1--ADK多代理→ 代理引擎→ A2A(图像评分)

目标

使用ADK构建一个小型多代理系统,在本地运行,部署到代理引擎,并验证它是否公开或参与A2A。

交付成果 adk-multi-agent-image-scoring

  • 一个简洁的README(此文件作为主文件;包括一个指向此处的简短的每个文件夹注释)。
  • 一个简单的英文环境部分,列出您设置的变量(项目、地区、存储桶(如果适用)、模型名称、阈值)。
  • 屏幕截图证明:
    • 本地开发UI或ADK运行的等效证明
    • 代理引擎部署页面,显示处于健康状态的代理
    • A2A发现或准备就绪(例如,代理卡响应截图)

要记录的配置值

  • 项目ID,地区
  • 使用的任何存储桶名称
  • 代理使用的模型名称或参数
  • 实验室引用的任何阈值或常数

验证步骤 (未显示任何命令)

  • 确认本地代理体验出现并在ADK-dev UI中响应。
  • 确认代理已在代理引擎中注册和部署,并且看起来正常。
  • 确认可访问A2A发现页面或代理卡,并正确描述代理,包括名称、描述和支持的操作(如果适用)。

视频


Codelab 2--货币代理(MCP+ADK+A2A)

目标

实现一个简单的MCP服务器,该服务器公开一个货币工具,构建一个调用MCP工具的ADK代理,并通过A2A公开该代理。通过基本的A2A交互进行验证。

内部交付成果 a2a/currency-agent

  • 引用此主文件的每个文件夹的简短README。
  • 一个简单的英文环境部分,列出您设置的值(项目、地区、基本URL或端口值,如果相关)。
  • 屏幕截图证明:
    • MCP服务器功能测试(例如,成功的货币查找结果)
    • ADK代理生成的答案清楚地包含了MCP工具输出
    • 成功的A2A交互(例如,“将100美元兑换成CAD”并返回结果)

要记录的配置值

  • 项目ID,地区
  • 用于本地测试的任何基本URL/端口
  • 任何环境都可以通过Google GenAI客户端库切换到使用Vertex AI

验证步骤 (未显示任何命令)

  • 显示一个单独工作的MCP工具调用。
  • 显示ADK代理调用MCP工具作为其推理链的一部分。
  • 显示A2A客户端交互击中代理并返回正确的转换示例。
  • 可选:如果部署到Cloud Run,记录公共URL并捕获代理卡页面(如果适用)。

视频


Codelab 3--A2A采购礼宾(云运行+代理引擎)

目标

部署两个卖家代理作为A2A服务器(例如汉堡和披萨)。配置一个ADK客户端(“采购礼宾”),该客户端可通过A2A与两者通信,也可选择使用简单的web UI。验证两个卖家之间的端到端订购或菜单检索。

内部交付成果 a2a/purchasing-concierge

  • 引用此主文件的每个文件夹的简短README。
  • 环境部分列出了您设置的值(项目、地区、任何暂存桶和两个卖家代理URL)。
  • 屏幕截图证明:
    • 每个卖家代理都部署到Cloud Run,其代理卡(发现)可以通过众所周知的路径访问
    • 采购礼宾客户端已成功连接到两个卖家A2A端点
    • 显示菜单查询和跨越两个卖家的两项订单的简短运行

要记录的配置值

  • 项目ID,地区
  • 可选的暂存桶名称(如果客户端需要临时存储)
  • 两个卖家代理URL,并确认每个代理卡都加载了正确的元数据
  • 引用这些URL的任何客户端设置

验证步骤 (未显示任何命令)

  • 确认两位卖家都可以联系到,并归还有效的代理卡。
  • 确认客户端已配置这两个URL。
  • 展示快乐之路:
    • 向两位卖家索要菜单
    • 下订单,其中包括每个卖家的一件商品
    • 捕获由此产生的确认或摘要

视频


文档结束。