准备工作
- 实验会创建一个 Google Cloud 项目和一些资源,供您使用限定的一段时间
- 实验有时间限制,并且没有暂停功能。如果您中途结束实验,则必须重新开始。
- 在屏幕左上角,点击开始实验即可开始
Install ADK and set up your environment
/ 25
Explore the ADK agent
/ 25
Deploy the Agent as an A2A Server
/ 25
Enable another ADK agent to call the agent remotely
/ 25
Agent2Agent (A2A) protocol 解决了 AI 领域的一项关键挑战:使不同公司基于多元化框架构建、运行在独立服务器上的生成式 AI 智能体能够高效通信和协作 - 以智能体的身份,而非单纯作为工具。A2A 旨在为智能体提供一种通用语言,助力构建更互联、更强大、更具创新性的 AI 生态系统。
A2A 围绕多项核心概念构建,兼具强大功能与灵活特性:
在本实验中,您将执行以下操作:
请阅读以下说明。实验会以定时的方式进行,且您无法暂停实验。定时器(点击“开始实验”即可启动)会显示云资源可供您使用的时间。
Qwiklabs 实操实验可让您在真实的云环境中开展实验活动,免受模拟或演示环境的局限。为此,我们会向您提供新的临时凭据,您可以在该实验的规定时间内通过此凭据登录和访问 Google Cloud Platform。
要完成此实验,您需要:
注意:如果您已拥有个人 GCP 帐号或项目,请不要使用其进行此实验。
点击开始实验按钮。如果该实验需要付费,系统会打开一个对话框供您选择支付方式。左侧是“实验详细信息”窗格,其中包含以下各项:
点击打开 Google Cloud 控制台(如果您使用的是 Chrome 浏览器,请右键点击并选择在无痕式窗口中打开链接)。
该实验会启动资源并打开另一个标签页,显示“登录”页面。
提示:将这些标签页安排在不同的窗口中,并排显示。
如有必要,请复制下方的用户名,然后将其粘贴到登录对话框中。
您也可以在“实验详细信息”窗格中找到“用户名”。
点击下一步。
复制下面的密码,然后将其粘贴到欢迎对话框中。
您也可以在“实验详细信息”窗格中找到“密码”。
点击下一步。
继续在后续页面中点击以完成相应操作:
片刻之后,系统会在此标签页中打开 Google Cloud 控制台。
在本实验环境中,我们已为您启用了 Vertex AI API 和 Cloud Run API。如果您在自己的项目中操作,则可前往 Vertex AI 页面,然后按照提示启用相关 API。
选中 Google Cloud 控制台窗口,按下键盘上的 G 键后再按 S 键,即可打开 Cloud Shell。或者,您也可以点击 Cloud 控制台右上角的“激活 Cloud Shell”按钮 ()。
点击继续。
如果系统提示您为 Cloud Shell 授权,请点击授权。
在 Cloud Shell 终端面板的右上角,点击在新窗口中打开按钮 。
在 Cloud Shell 终端中,输入以下命令打开 Cloud Shell 编辑器并进入主目录:
关闭屏幕右侧显示的任何其他教程或 Gemini 面板,以便为代码编辑器留出更多窗口空间。
在本实验的后续操作中,您可将此窗口作为集成了 Cloud Shell 编辑器和 Cloud Shell 终端的 IDE 使用。
在 Cloud Shell 终端中运行以下命令,以安装 ADK。注意:您需要指定版本,以确保您安装的 ADK 版本与本实验中使用的版本一致。
将以下命令粘贴到 Cloud Shell 终端中,以从 Cloud Storage 存储桶复制实验代码并将其解压缩:
点击检查我的进度以验证是否完成了以下目标:
在本实验中,假设您任职于一家体育场馆维护公司 Cymbal Stadiums。在最近的一个项目中,您开发了一款图片生成智能体,能够按照企业品牌规范制作插图。现在,您组织中的多个不同团队也想使用这款智能体。
如果将代码复制给多个智能体作为子智能体使用,后续的维护与升级工作将极为繁琐。
您可以采用另一种方案,只需将该智能体部署一次并封装为 A2A 服务器,其他团队的智能体即可通过远程查询的方式集成使用该智能体。
在 Cloud Shell 编辑器的文件资源管理器窗格中,前往 adk_and_a2a/illustration_agent 目录。此目录包含您将远程共享的 ADK 智能体。点击相应目录将其展开。
打开此目录中的 agent.py 文件,然后滚动到标记为 # Tools 的部分。
请注意 generate_image() 函数,它将用作此智能体的工具。它会接收提示并执行两步流程。第一步,它会使用 Google Gen AI SDK 调用 generate_content(),后者会直接在响应中返回原始图片数据。第二步,该函数会使用 Cloud Storage 库将这些图片字节上传到 GCS 存储桶。最后,该工具会返回新创建的图片文件的公开网址。
请注意,提供给 root_agent 的 instruction 为智能体提供了具体指令,要求其使用符合公司品牌规范的图片生成提示。例如,它可以指定:
如需体验该智能体的功能,您首先需要编写一个 .env 文件,设置 ADK 智能体所需的环境变量。请在 Cloud Shell 终端中运行以下命令,在相应目录下创建此文件:
运行以下命令,将 .env 复制到本实验中会用到的另一个智能体目录中:
现在,在 Cloud Shell 终端中运行以下命令启动 ADK 开发者界面:
输出
如需在新标签页中查看相应网页界面,请点击终端输出底部的 http://127.0.0.1:8000 链接。
系统即会在一个新浏览器标签页中打开 ADK 开发者界面。
从左侧的 Select an agent 下拉菜单中,选择 illustration_agent。
向智能体输入适合用于招聘幻灯片演示文稿的文本,例如:
大约 10 秒后,智能体将返回生成的提示以及用于预览图片的网址。点击图片网址预览图片,然后点击浏览器中的后退,返回开发者界面。
输出示例
示例图片
请注意,您向智能体提供的提示并未提及体育、体育场馆或维护工作,但智能体结合您的文本与品牌规范,生成了用于图片生成模型的统一提示。
探索完基础智能体后,关闭浏览器标签页。
点击 Cloud Shell 终端窗格,然后按 Ctrl+C 停止服务器。
点击检查我的进度以验证是否完成了以下目标:
接下来,您需要执行相关步骤,将该智能体部署为远程 A2A 智能体。
A2A 智能体通过提供智能体卡片来标识自身身份及功能特性。运行以下命令创建 agent.json 文件。
打开 adk_and_a2a/illustration_agent 目录中的 agent.json 文件,然后粘贴以下内容:
保存文件。
查看 agent.json 文件中的 JSON。请注意,它为智能体提供了 name 和 description,并确定了一些 skills。它还指明了智能体本身可通过哪个 url 调用。
在您按照本实验的指示部署智能体后,智能体的 url 将构建为 Cloud Run 服务网址。
这里的参数 capabilities 虽然名称与 skills 相似,但它专指流式传输等功能。
运行以下命令,在 illustration_agent 目录中创建 requirements.txt 文件。
选择该文件,然后将以下内容粘贴到该文件中。
保存文件。
在以下命令中,您将使用 adk deploy cloud_run 命令和 --a2a 标志,将智能体作为 A2A 服务器部署到 Cloud Run。您可以搜索“将 ADK 智能体部署到 Cloud Run”这个实验,详细了解如何将智能体部署到 Cloud Run。在此命令中:
--project 和 --region 分别用于定义将在哪个项目和哪个区域部署 Cloud Run 服务--service_name 用于定义 Cloud Run 服务的名称--a2a 标志表示应将其托管为 A2A 智能体。这意味着以下两点:
CLOUD_RUN_URL/a2a/AGENT_NAME/.well-known/agent.json。注意:虽然此版本的卡片很快就能使用,但智能体网址的动态重写功能目前不适用于 Cloud Run,因此我们不会在此版本的实验中使用它。使用以下命令将智能体作为 A2A 服务器部署到 Cloud Run:
系统会提示您允许此容器接收未经身份验证的回答。为进行实验测试,请在 Cloud Shell 终端中输入 Y(表示“是”),然后按 Return 键。
PERMISSION_DENIED 错误,请尝试再次运行上述命令。
预期输出:
您会看到与构建 Dockerfile、部署容器和部署服务相关的步骤,接下来是:
点击检查我的进度以验证是否完成了以下目标:
在此任务中,您将为第二个 ADK 智能体提供识别插图智能体功能并远程调用该智能体的能力。第二个智能体将负责为幻灯片创建内容。它会撰写标题和几句正文,然后转交给插图智能体来生成与文本相匹配的插图。
在 Cloud Shell 终端中,运行以下命令,将智能体卡片 JSON 文件复制到 adk_and_a2a 目录,并更改其名称以表明它代表 illustration_agent。
在 Cloud Shell 编辑器的文件资源管理器窗格中,前往 adk_and_a2a/slide_content_agent,然后打开 agent.py 文件。
查看此智能体的 instruction,了解它将如何根据用户对幻灯片的建议撰写标题和正文,然后转交给您的 A2A 智能体来为幻灯片配图。
在 # Agents 标题下粘贴以下代码,以使用 ADK 中的 RemoteA2aAgent 类添加远程智能体:
通过向 root_agent 添加以下参数,将 illustration_agent 添加为 root_agent 的子智能体:
保存文件。
通过 Cloud Shell 终端启动界面:
再次点击终端输出中的 http://127.0.0.1:8000 链接。
系统随即会打开一个新的浏览器标签页,其中包含 ADK 开发者界面。从左侧的 Select an agent 下拉菜单中,选择 slide_content_agent。
向智能体提出幻灯片创意:
您应该会看到以下输出内容:
点击检查我的进度以验证是否完成了以下目标:
在本实验中,您将一个 ADK 智能体部署为 A2A 服务器,准备了一张 JSON 智能体卡片来描述 A2A 智能体的功能,还使另一个 ADK 智能体能够读取已部署 A2A 智能体的卡片并将其用作子智能体
…可帮助您充分利用 Google Cloud 技术。我们的课程会讲解各项技能与最佳实践,可帮助您迅速上手使用并继续学习更深入的知识。我们提供从基础到高级的全方位培训,并有点播、直播和虚拟三种方式选择,让您可以按照自己的日程安排学习时间。各项认证可以帮助您核实并证明您在 Google Cloud 技术方面的技能与专业知识。
上次更新手册的时间:2025 年 10 月 6 日
上次测试实验的时间:2025 年 10 月 6 日
版权所有 2020 Google LLC 保留所有权利。Google 和 Google 徽标是 Google LLC 的商标。其他所有公司名和产品名可能是其各自相关公司的商标。
此内容目前不可用
一旦可用,我们会通过电子邮件告知您
太好了!
一旦可用,我们会通过电子邮件告知您
一次一个实验
确认结束所有现有实验并开始此实验