Bumble Gemini Enterprise 第 1 天价值研讨会

1. 简介

在此 Codelab 中,您将了解如何利用 Gemini Enterprise 来自动执行并改进 Bumble 的 Scrum Master 和项目经理的日常工作流程。您将探索如何为 Jira、Confluence、GitHub 和 Google 云端硬盘配置数据连接器,如何使用 Gemini Notebook 分析冲刺待办项,如何使用 Gemini Assistant Canvas 共同撰写架构文档,以及如何使用 Agent Designer 和智能体开发套件 (ADK) 构建自定义智能体。

您将执行的操作

  • 设置和个性化:为交付目标配置助理设置。
  • 配置数据连接器:将 Gemini Enterprise 连接到 Jira Cloud、Confluence、GitHub 和 Google 云端硬盘。
  • 交叉引用文档:将要求与有效工单日志进行比较。
  • 分析冲刺待办事项列表:使用 Gemini Notebook 根据回顾会议记录生成数据洞见。
  • 探索 Google 自有智能体:使用 Deep Research 和 Idea Generation 智能体进行市场研究和集思广益,提出新功能。
  • 构建多步骤智能体:使用专业子智能体创建 Lead Scrum Master 助理。
  • 调用预建技能:调用开箱即用的项目更新技能模板,生成项目状态摘要。
  • 共同撰写 ADR 文档:与 Gemini Assistant Canvas 协作起草 ADR,并从 Canvas 草稿创建新的 Confluence 页面。
  • 构建工作流代理:使用自然语言创建确定性发布门禁。
  • 挑战实验:使用 ADK 构建 (可选):使用 ADK Python SDK 通过 Antigravity CLI (agy) 搭建、构建和部署代理。
  • 实验室挑战赛:发布到 Gemini(可选):注册您的自定义 ADK 智能体,使其与您的其他 Bumble 工具一起显示。

所需条件

  • 网络浏览器,例如 Chrome
  • 启用了结算功能的 Google Cloud 项目(由管理员配置)
  • 拥有必要许可的 Gemini Enterprise 访问权限
  • 在 Jira Cloud、Confluence、GitHub 和 Google 云端硬盘中拥有相应权限的账号。
  • 凭据准备情况:在开始执行数据连接器步骤之前,请确保您已生成 Atlassian API 令牌(适用于 Jira/Confluence)、GitHub 应用凭据,并已验证 Google 云端硬盘文件夹访问权限。

预计时长:201 分钟

费用估算:此 Codelab 中使用的资源主要是软件即服务功能,不应产生大量基础设施费用。不过,请务必了解 Gemini Enterprise 许可和数据连接器使用情况对结算的影响。

2. 设置和个性化您的助理

在此步骤中,您将访问 Gemini Enterprise 并自定义助理设置,以便了解您作为 Scrum Master 或交付主管的交付目标。

  1. 打开网络浏览器,然后前往 Gemini Enterprise 应用(讲师会提供您环境的具体网址)。
  2. 确保您已使用已配置的 Google 账号登录。

配置个性化

如需向 Google 助理提供有关您的角色和行业的明确背景信息,请执行以下操作:

  1. 点击界面左下角的设置(齿轮)图标。
  2. 在设置弹出式菜单中选择个性化。
  3. 在个人资料部分,输入以下详细信息:
    • 角色或职位:从下拉菜单中选择自定义,然后在相应字段中输入 Scrum Master / Delivery Lead。
    • 行业:从下拉菜单中选择自定义,然后在相应字段中输入 Consumer Software & Mobile App Development。
  4. 确保已开启以下切换开关,以便助理从过往互动中学习:
    • 对话记录
    • 参考已保存的记忆内容
  5. 点击保存,然后关闭设置弹出式窗口。

Gemini Enterprise 个性化设置

3. 实验环境初始配置前提条件

为确保 100% 的执行准确性并避免在本次研讨会期间出现环境漂移,您必须在配置数据连接器之前,使用特定的模拟数据包为本地实验环境设定初始值。这样一来,系统便会为 Jira、Confluence 和 GitHub 建立基准数据集,以便 AI 助理能够以绝对确定的准确性运行有事实依据的分析任务。

1. Jira 项目数据播种

您将创建一个专用沙盒 Jira 项目,并使用三个基准问题为其提供初始数据。

  1. 在网络浏览器中打开 Atlassian Jira Cloud 实例。
  2. 访问项目:点击左侧侧边菜单中的项目,然后选择创建项目。 Jira 项目导航
  3. 选择 Scrum 模板:在项目模板面板中,搜索并选择 Scrum(位于“软件开发”模板类别下)。点击使用模板,然后选择公司管理的项目。 Jira Scrum 模板无法直接在免费的开发者版中使用 如果您使用的是免费开发者版,并且无法直接找到模板,请点击空间以查找模板,然后从那里选择 Scrum 模板。 Spaces 下提供的 Scrum 模板 从空间模板库中选择 Scrum 模板
  4. 输入项目详细信息:设置项目属性:
    • 名称:Bumble Lab Project
    • 密钥:使用自动填充的密钥(通常为 BLP,但可能因您的环境而异)。在本实验的剩余部分中,我们假设它是 BLP。避免对自定义密钥(例如 BMB_LAB)进行硬编码,这会引发验证错误;接受自动填充的密钥可避免多租户开发者环境中的命名空间和验证冲突。 Jira 项目密钥配置
  5. 初始化沙盒:此时没有创建项目按钮,请点击下一步。如果您随后收到立即连接 Confluence 空间的提示,请点击继续 / 跳过,然后在下一阶段单独处理空间创建事宜。 跳过聊天室关联 项目信息中心
  6. 种子基准问题:
    • 在新的 BLP 看板的左侧导航面板中,选择待办事项。 包含“待办项”选项的 BLP 面板左侧导航栏 BLP 板的“待办项”视图
    • 点击“待办项”面板下方的 + 创建按钮,以添加下表中的任务和 bug。创建每个工单后,点击该工单将其打开,然后设置确切的说明、优先级和状态。 “待办项”面板下的“+ 创建”控件

问题类型

摘要

优先级

初始状态

说明

任务

Implement real-time geolocation profile matching routines.

中

To Do

位置指标的基本例程

Bug

Memory leak detected in profiles rendering loop during intensive matching sweeps.

高 (P1)

In Progress

渲染期间出现严重线程泄漏

Epic

Bumble Hobbies Community Feature Release Pipeline.

中

To Do

兴趣群组社区发布路线图

从积压项中创建地理定位匹配任务 从积压项中创建内存泄漏 bug

  • 史诗是通过单独的流程创建的。使用问题类型选择器选择史诗,然后打开该问题类型,按照表格中的说明设置其详细信息、优先级和状态。 选择 Epic 问题类型 创建“兴趣爱好”社区功能 Epic

2. Confluence 工作区初始配置

建立工程空间,并创建一个指定用于动态文档的空白页面。

  1. 前往 Atlassian Confluence Cloud 界面。
  2. 点击顶部导航菜单中的聊天室,然后选择创建聊天室。 Confluence 空间菜单,已选择“创建空间” 选择“空白”选项
  3. 选择空白空间,然后进行配置:
    • 聊天室名称:Bumble Engineering Space
    • 空格键:使用自动填充的键(通常为 BMBENG,但在您的环境中可能有所不同)。在本实验的剩余部分中,我们假设它是 BMBENG。 Confluence 空间名称和自动填充的空间键
  4. 点击创建,打开空白的 Confluence 主窗格。 新创建的空白 Confluence 空间
  5. 点击顶部全局导航菜单中的创建网页按钮(铅笔/加号图标)。 全局导航中的“创建”页面控件
  6. 在页面编辑器中,将标题设置为 ADR for background framework,并将正文完全留空。 包含 ADR 标题和空白正文的页面编辑器
  7. 点击右上角的发布。

3. GitHub 代码库初始配置

创建表示模拟生产代码库的测试代码库。

  1. 前往您的 GitHub 账号页面。点击右上角的 + 图标,然后选择新代码库。 “+”菜单中的“GitHub 新代码库”选项
  2. 配置代码库设置:
    • 代码库名称:bumble-workshop-demo
    • 公开/不公开:选择不公开(如果“不公开”受限,则选择“公开”)
    • 勾选添加 README 文件 对应的复选框。 选中“添加 README 文件”的 GitHub 代码库设置
  3. 点击创建代码库以创建新目录。 新创建的 bumble-workshop-demo 代码库
  4. 创建模拟主干代码库文件:
    • 依次点击添加文件 -> 创建新文件。 GitHub“添加文件”菜单,其中包含“新建文件”选项
    • 将文件命名为 main.py,并写入以下模拟内容:# Bumble Geolocation Base Service Framework。 创建包含模拟框架注释的 main.py
    • 点击右上角的提交更改,然后选择直接提交到主分支。 直接将 main.py 提交到主分支
  5. 建议提供有效的拉取请求:
    • 在代码库首页中,依次点击添加文件 -> 再次点击“新建文件”。
    • 将文件命名为 cache.py,并添加以下模拟内容:# Optimize cache invalidation metrics。
    • 向下滚动到提交框,然后选择为此提交创建新分支并启动拉取请求。将分支命名为 optimize-cache,然后点击提议更改。 创建 optimize-cache 分支以启动拉取请求
    • 在“打开拉取请求”页面上,确保标题设置为 PR #1: Optimize cache invalidation metrics,然后点击创建拉取请求。 为 optimize-cache 分支打开 PR #1

4. 配置数据连接器

如需让 Gemini Enterprise 访问您的项目数据,必须配置 Jira Cloud、Confluence、GitHub 和 Google 云端硬盘的连接器。这些数据源在 Google Cloud 控制台中设置为数据存储区。

[面向管理员] 创建 Jira Cloud 数据存储区

  1. 在 Google Cloud 控制台中,前往 Gemini Enterprise 页面(或搜索该页面)。
  2. 选择您的 Google Cloud 项目。
  3. 在导航菜单中,点击数据存储区。
  4. 点击 + 创建数据存储区。
  5. 在来源部分中,搜索 Jira Cloud,然后点击选择。
  6. 在数据部分中:
    • 选择联合搜索(最适合实时查询)。
    • 提供身份验证详细信息:客户端 ID、客户端密钥、实例 URI(例如 https://your-domain.atlassian.net)和实例 ID。
    • 注意:您需要从 Atlassian 账号生成 Jira API 令牌。
    • 点击登录,然后完成 Atlassian 登录。
  7. 选择要搜索的实体(例如问题、项目)。
  8. 点击继续,然后按照提示完成创建。

[面向管理员] 创建 Confluence 数据存储区

  1. 在数据存储区页面上,再次点击 + 创建数据存储区。
  2. 在来源部分中,搜索 Confluence,然后点击选择。
  3. 在数据部分中:
    • 选择联合搜索(最适合实时查询)。
    • 提供身份验证详细信息:客户端 ID、客户端密钥、实例 URI(例如 https://your-domain.atlassian.net)和实例 ID。
    • 点击登录,然后完成 Atlassian 登录。
  4. 选择要搜索的实体(例如页面、空间、博文)。
  5. 点击继续,然后按照提示完成创建。

[面向管理员] 创建 GitHub 数据存储区

  1. 在数据存储区页面上,再次点击 + 创建数据存储区。
  2. 在来源部分中,搜索 GitHub,然后点击选择。
  3. 在数据部分中:
    • 提供 GitHub 应用中的客户端 ID 和客户端密钥。
    • 点击登录,然后完成 GitHub 登录和授权。
    • 在高级选项中,在所有者登录名字段中输入您的组织名称。
  4. 选择要搜索的实体(例如代码库、问题、拉取请求)。
  5. 选择要启用的 GitHub 操作(例如“添加评论”“合并 PR”)。
  6. 为连接器配置位置和名称。
  7. 点击创建。

[面向管理员] 创建 Google 云端硬盘数据存储区

  1. 在数据存储区页面上,再次点击 + 创建数据存储区。
  2. 在来源部分中,搜索 Google 云端硬盘,然后点击选择。
  3. 在数据部分中:
    • 使用 Atlassian/Google Workspace OAuth 或由您的 Workspace 管理员配置的服务账号进行连接。
    • 定义文件夹范围界定规则,以将索引限制为相关的 Bumble 项目文件夹。
  4. 选择要编入索引和搜索的实体(例如文档、文件)。
  5. 点击创建。

5. 授权和使用数据连接器

在您使用 Gemini Enterprise 查询工作区工具之前,每位研讨会参与者都必须明确授权其用户账号连接。

第 1 步:访问连接器菜单

  1. 在 Gemini Enterprise 主聊天界面中,点击聊天输入框中的数据库(连接器)图标。
  2. 您将看到管理员配置的可用数据存储区列表(Jira、Confluence、GitHub、Google 云端硬盘和 Google 搜索)。

第 2 步:授权 Jira 连接器

  1. 找到 Jira 连接器。点击旁边的授权。 Jira 连接器旁边的“授权”按钮
  2. 系统会打开一个新的浏览器标签页,提示您登录 Atlassian。完成登录,然后点击接受以授权集成。 Jira 连接器的 Atlassian 授权页面
  3. 获得授权后,状态切换开关将变为蓝色,确认连接器处于有效状态。 处于有效状态的 Jira 连接器,带有蓝色状态切换开关

第 3 步:授权 Confluence 连接器

  1. 找到 Confluence 连接器。点击旁边的授权。 Confluence 连接器旁边的“授权”按钮
  2. 完成 Atlassian 登录,然后点击接受以授权 Confluence 集成。 Confluence 连接器的 Atlassian 授权页面
  3. 确保切换开关变为蓝色,表示 Confluence 已启用。 处于有效状态的 Confluence 连接器,带有蓝色状态切换开关

第 4 步:授权 GitHub 连接器

  1. 对于 GitHub 连接器,请遵循完全相同的流程。
  2. 点击授权,在弹出式标签页中登录您的 GitHub 账号,然后授予所请求的权限。

第 5 步:授权 Google 云端硬盘连接器

  1. 对于 Google 云端硬盘连接器,请按照相同的流程操作。
  2. 点击授权,选择您的工作区 Google 账号,然后授予读写权限,以便助理在您的云端硬盘根目录中创建文件。

为了从代码库和问题跟踪器中获得最准确的结果,最佳实践是关闭广泛搜索。根据 Gemini Enterprise 环境中启用的内容,您可能会看到 Google 搜索、企业搜索或两者都看到,请停用处于启用状态的搜索功能。实验仅基于您之前植入的 Jira、GitHub 和 Confluence 数据,因此如果进行任何广泛的搜索,都会产生错误的结果。

  1. 再次打开输入框中的数据库菜单。
  2. 关闭 Google 搜索和企业搜索(无论哪个显示),仅保留 Jira、Confluence、GitHub 和 Google 云端硬盘处于启用状态。 停用广泛搜索,以便仅使种子连接器保持有效状态

6. 与 Jira 连接器的基本互动

在此步骤中,您将练习使用自然语言执行基本的工单管理任务。

1. 查找 Jira 项目密钥

在创建或更新工单之前,请验证您有权访问哪些项目。问问 Gemini:

list the available Jira projects and their keys.

Gemini 应返回与您的数据存储区关联的确切项目: Gemini 列出可用的 Jira 项目和 BLP 密钥

以下示例使用项目密钥 BLP。如果您的项目之前自动填充了其他密钥,请将 BLP 替换为您自己的密钥(并使用 Gemini 返回给您的工单密钥)。

2. 创建任务

让 Gemini 创建新任务:

Create a new task in project BLP with summary 'Analyze user feedback for community feature' and description 'We need to summarize the feedback collected in Sprint 24'.

Gemini 会处理请求,与 Atlassian 通信,并输出确认信息: Gemini 的创建任务确认信息,其中显示了项目 BLP 和问题类型:任务 由 Gemini 返回的创建任务确认详情 Jira 产品待办项显示新创建的 BLP-4 任务

3. 添加评论

工单创建完毕后,Gemini 会为您提供密钥(例如 BLP-4),然后您添加一条评论。将 BLP-4 替换为 Gemini 返回的工单密钥:

Add a comment to ticket BLP-4 saying 'I have uploaded the retro notes to Gemini Notebook for analysis and will post findings here'.

Gemini 会添加评论并确认: Gemini 在工单 BLP-4 上添加评论的确认信息,其中包含追溯备注正文 由 Gemini 返回的添加评论确认详情 Jira 工单活动面板,显示了在 BLP-4 上发布的评论

4. 更新状态

将工单移至新状态(再次使用 Gemini 返回的工单键):

Change the status of ticket BLP-4 to 'In Progress'.

Gemini 会更新状态并确认: Gemini 正在处理工单的状态更新 显示状态已更新为“处理中”的 Jira 工单 Gemini 确认状态已更改为“处理中”

7. 与 GitHub 连接器的基本互动

在此步骤中,您将学习如何查询代码库活动,以便及时了解开发者的进度。

1. 列出可用的代码库

如需查询提交日志,您需要提供确切的代码库名称。问问 Gemini:

list all GitHub repositories that I have access to.

Gemini 将查询连接器并输出您可以访问的代码库: Gemini 列出用户可以访问的 GitHub 代码库

以下示例使用代码库 bumble-workshop-demo。将 替换为您自己的 GitHub 标识名(例如 mumanoha/bumble-workshop-demo)。

2. 列出最近的提交

让 Gemini 检查近期活动记录:

List the last 5 commits in repository <owner>/bumble-workshop-demo.

Gemini 将提取并列出近期的提交: Gemini 列出代码库中的最新提交

3. 查看待处理的拉取请求

查看哪些代码正在等待审核:

Show me all open pull requests for repository <owner>/bumble-workshop-demo.

Gemini 将返回打开的 PR: Gemini 返回代码库的未完成拉取请求

4. 总结拉取请求

让 Gemini 总结 PR 中的更改(此研讨会创建的 PR #1):

Summarize the changes in pull request #1 in repository <owner>/bumble-workshop-demo.

Gemini 会读取差异并返回清晰的说明: Gemini 总结拉取请求中的更改

8. 与 Confluence 连接器的基本互动

在此步骤中,您将练习使用 Confluence 连接器执行基本的文档查找和管理任务。

1. 搜索空间页面

验证 Gemini 是否可以扫描新的 Confluence 空间 BMBENG 并找到空白 ADR 文档。问问 Gemini:

Search space BMBENG for the 'ADR for background framework' page and tell me if it has any content.

Gemini 将与 Confluence 通信,扫描空间,找到页面,并确认该页面目前为空白:

  • 状态:在 BMBENG 中找到了 ADR for background framework 网页。
  • 内容:页面正文完全空白,可用于 Canvas 生成实验。

9. 交叉对比文档与执行

在此步骤中,您将使用非结构化文档,通过 Gemini 对结构化代码进度进行评分。

第 1 步:创建需求文档

在上传之前,您需要一个包含目标规范的本地文本文件。

  1. 在本地机器上打开一个纯文本编辑器:
    • 在 macOS 上:打开文本编辑。前往顶部菜单,然后选择格式 > 设为纯文本(这对于确保保存时不带格式元数据至关重要)。
    • 在 Windows 上:打开记事本。
  2. 将以下文本复制并粘贴到编辑器中:
Project: Bumble Hobbies Community Feature

Requirements:
1. User Interface:
   - [ ] Create a "Communities" tab in the main navigation.
   - [ ] Display a list of available hobby groups.
   - [ ] Allow users to search for groups by keyword.

2. Group Functionality:
   - [ ] Users can join and leave groups.
   - [ ] Members can create new text posts.
  1. 将该文件以 requirements.txt 的名称保存到您的计算机上。

第 2 步:上传并初始化新对话

  1. 在 Gemini Enterprise 中打开新对话窗口。
  2. 点击聊天输入框中的数据库(连接器)图标。
  3. 仅启用 Jira(关闭 Google 搜索、企业搜索、GitHub 和 Confluence),以便将搜索范围限定在已植入的 Jira 数据中。
  4. 点击文本框旁边的 +(加号)图标(或拖放),然后上传 requirements.txt 文件。 上传要求文本

第 3 步:使用 Gemini 创建示例数据

让我们使用 Gemini 根据以下要求在 Jira 中填充一些测试支持请求工单:

Create Jira tickets in project BLP for the following requirements from the uploaded requirements.txt file: 'Create a Communities tab' and 'Display a list of available hobby groups'. Mark the first one as 'Done' and the second one as 'In Progress'.

Gemini 将与 Jira 通信,以创建工单并设置指定的状态: 创建工单提示 Jira 创建工单确认 Jira“完成”状态确认 Jira 创建工单确认 Jira“正在进行”状态确认 Jira 门户验证

第 4 步:运行分析

现在,提示 Gemini 在需求文件和活跃的 Jira 执行之间运行差距分析:

Using the connected Jira data store, compare the requirements in the uploaded requirements.txt file with active tickets in project BLP. Point out any requirements that do not have a corresponding active ticket or are not completed.

Gemini 将分析上传的文本以及您的实时 Jira 项目数据,以返回清晰的比较表格: 运行分析提示 分析输出表

10. 使用 Gemini Notebook 分析冲刺待办事项列表

在此步骤中,您将使用 Gemini Notebook 分析非结构化的冲刺回顾会议记录,并提取反复出现的瓶颈。

第 1 步:创建回顾性文档

  1. 打开纯文本编辑器(Mac 上的“文本编辑”处于纯文本模式,或 Windows 上的“记事本”)。
  2. 将以下模拟注释复制并粘贴到编辑器中:
Bumble Sprint 24 Retrospective Notes
What went well:
- UI redesign of the matching screen was completed on time.
- New ice-breaker prompts received positive feedback in user testing.
- Backend API latency reduced by 20%.

What didn't go well:
- Blocked on Figma designs for the community feature for 3 days.
- Test coverage for the new chat feature is below target (60% instead of 80%).
- Communication gap between frontend and backend teams on the new API contract.

Action items:
- Schedule a daily sync between frontend and backend leads.
- Increase unit test coverage for chat feature to 80%.
- Follow up with design team on community feature Figma files.
  1. 将该文件另存为 retro.txt。

第 2 步:访问 Gemini Notebook 并创建笔记本

  1. 在左侧的 Gemini Enterprise 导航面板中,展开智能体标签页。
  2. 选择 Gemini Notebook。
  3. 点击创建新笔记本。

第 3 步:导入来源

  1. 在来源选择弹出式窗口中,选择复制的文本或上传文件。
  2. 粘贴或上传 retro.txt 文件。

第 4 步:生成数据洞见

  1. 在底部的聊天界面中,运行以下提示:
What are the recurring bottlenecks mentioned in these retrospective notes?

Gemini 将分析回顾会议记录,并生成有关阻碍因素和建议的待办项的详细摘要: Gemini Notebook 输出

  1. 找到右侧的 Studio 标签页,然后点击思维导图,生成提取出的回顾主题的可视化表示形式。 Gemini Notebook 思维导图

11. 深入研究市场趋势

在此步骤中,您将使用 Deep Research 智能体对与 Bumble 相关的市场趋势进行广泛研究,例如 Z 世代在约会应用方面的偏好。

使用 Deep Research 智能体

  1. 在 Gemini Enterprise 左侧导航菜单中,选择智能体标签页。 使用 Deep Research 智能体
  2. 选择 Deep Research 智能体。

开始研究会话

  1. 在输入字段中,粘贴如下提示:“比较不同的营销策略在吸引 Z 世代消费者方面的效果,背景是移动约会和社交应用。”
  2. 查看研究计划:代理会生成一份计划。查看该页面,然后点击开始研究。 Deep Research 提示输入

预期成果

智能体需要几分钟时间来搜索来源并生成包含引用来源的多页报告。在运行期间,您可以继续执行下一步。

12. 利用创意生成功能集思广益

在此步骤中,您将使用 Idea Generation 智能体为 Bumble 集思广益,提出新的功能或营销活动,重点是社区建设。

访问 Idea Generation 代理

  1. 在 Gemini Enterprise 左侧导航菜单中,选择智能体标签页。
  2. 选择Idea Generation智能体。

发起构思会话

  1. 提供一个可供构思的主题,例如:“集思广益,列出一些游戏化功能,以鼓励社交应用的用户打破僵局并建立社区。”
  2. 开始锻炼:查看计划,然后点击开始锻炼。 开始会话

预期成果

智能体将生成创意、评估创意并对创意进行排名。此过程将运行很长时间,因此请勿等待其完成。您可以让它在后台运行,稍后再回来查看结果。请继续完成下一个实验。

13. 构建多步 Scrum Master 助理

专业智能体通常使用子智能体来划分复杂任务。在此步骤中,您将使用 Agent Designer 构建一个多步骤代理,以将工作委托给专门的 Jira 和 GitHub 子代理。

第 1 1 步:配置 Orchestrator 代理

  1. 在 Gemini Enterprise 导航窗格中,点击 + 新建智能体。
  2. 关键界面步骤:您将看到一个提示选择弹出式窗口。选择聊天智能体,进入 Agent Designer 界面(避免选择“工作流智能体”,因为我们在此处重点介绍聊天流程)。 选择聊天客服人员
  3. 在主画布上,点击中间代理节点以打开右侧的配置面板。 重命名代理画布
  4. 设置代理详情:
    • 代理名称:直接在配置面板中将此根代理的名称设置为 Lead Scrum Master。
    • 指令:
      You are the Lead Scrum Master. Your goal is to provide a unified daily report. Coordinate with your Jira-Analyst sub-agent to find blockers and your GitHub-Analyst sub-agent to check code progress. Synthesize their findings into a single, Slack-ready unified daily report. Ensure you only query project metrics from the connected Jira and GitHub data stores. Do not perform external Google search queries.
      
    • 工具:取消选中“Google 搜索”。确保配置仅侧重于子代理委托。 配置根智能体

第 2 步:添加专业子代理

为了分工,我们将创建两个专门的子代理。

  1. 将鼠标悬停在画布上的 Lead Scrum Master 节点上,然后点击 +(加号)图标或添加子代理选项。 添加子智能体
  2. 点击新创建的子代理节点,然后配置第一个子节点:
    • 名称:Jira-Analyst
    • 指令:
      Query the connected Jira project data store. Extract all P0/P1 issues and any tickets marked 'Blocked' under project Bumble Lab Project (Project Key: BLP). Summarize their current impact on the release readiness of project BLP. Do not run public web searches.
      
    • 工具:搜索并检查您的 Jira 数据存储区。取消选中“Google 搜索”。 配置 Jira 子代理
  3. 再次将光标悬停在 Lead Scrum Master 节点上,点击 + Add subagent,然后配置第二个子级:
    • 名称:GitHub-Analyst
    • 指令:
      Query the connected GitHub data store. List all open Pull Requests in repository bumble-workshop-demo and check if any have a status of 'Changes Requested' or 'Commented'. Summarize the review feedback. Do not run public web searches.
      
    • 工具:搜索并检查您的 GitHub 数据存储区。取消选中“Google 搜索”。 配置 GitHub 子代理

第 3 步:保存并测试多步流程

  1. 点击构建器界面右上角的创建(或保存)以发布智能体。
  2. 点击与客服人员聊天,打开预览窗格。
  3. 在聊天数据库选项中关闭 Google 搜索,然后运行以下提示:
Generate the high-priority update for my projects for the past 24 hours.

编排器将与 Jira-Analyst 和 GitHub-Analyst 子代理协调,编译它们的输入,并返回一份精美的合成每日状态报告,其中显示了实时 Jira 阻塞问题和未完成的 GitHub 拉取请求! Scrum Master Output Report

14. 使用 @ 提及调用预建技能

Gemini Enterprise 提供预构建的开箱即用技能模板,Scrum Master 和产品经理可以直接在聊天会话中调用这些模板,以执行特定的自动化工作流。在此步骤中,您将启用预构建的项目更新技能,并使用该技能生成项目状态摘要。

第 1 步:在 Web 界面中启用“项目更新”技能

如需使用预建技能,必须先将其激活:

  1. 在 Gemini Enterprise 的左侧导航面板中,点击技能(它会显示在侧边导航栏中,并带有预览版标记)。
  2. 找到项目更新技能(Google 提供的开箱即用的预构建技能模板)。
  3. 将开关切换为启用。 通过侧边导航栏启用开箱即用的“项目更新”技能

第 2 步:在对话中调用技能

启用后,当您在聊天对话中询问项目进度更新时,该技能会自动运行,您无需在前面添加 @-mention:

  1. 打开新对话窗口。
  2. 点击聊天输入框中的数据库(连接器)图标。
  3. 范围设置:请务必仅选择必要的连接器(Jira 和 GitHub),并明确停用其他连接器(例如公共 Google 搜索或通用企业搜索),以确保 AI 能够根据实际情况回答问题并避免查询噪音。
  4. 输入以下提示来调用技能:
    Summarize the status of project 'Bumble Hobbies Community Feature' (BLP). Surface the high-priority blockers from the past week and compile a clean, bulleted summary of action items.
    
  5. 按 Enter 键或点击提交。 在新对话中提交“项目更新”状态提示

第 3 步:基于事实的报告提取和输出

预建技能将执行其优化的分析序列。它会连接到 Jira 以检索冲刺问题,查询 GitHub 以跟踪活跃的拉取请求,并将结果合成到高度专业的状况报告中: “项目更新”技能返回合成的状态报告

15. 使用 Gemini Assistant Canvas 进行互动式制品共同创作

在此步骤中,您将探索 Gemini Enterprise 的一项根本性差异化优势:Gemini Assistant Canvas。此功能可将工作区从标准对话界面切换为高效的双面板并排布局,让您可以在左侧提示 AI,在右侧共同创作可编辑的持久性制品,而无需切换应用。

界面布局说明

当 Canvas 模式激活时,界面会发生明显的过渡:

  • 左侧面板(对话式聊天):保留了标准的 AI 聊天窗格。它包含底部的提示输入行和数据库连接器按钮。
  • 右侧面板(文档编辑器画布):宽阔而简洁的白色文档工作区占据了屏幕的右半部分。它会显示格式化的标题、项目符号和文本,就像直接集成到 Gemini 会话中的持久性 Google 文档一样。

第 1 步:启用 Canvas 界面

  1. 登录 Gemini Enterprise Web 应用。
  2. 点击左上角的发起新对话按钮,即可开始使用干净的历史记录。
  3. 在底部的提示输入字段中,点击工具按钮(以活动滑块或列表图标表示)或输入 / 以打开快捷方式目录。
  4. 从列表中选择 Canvas(预览版)。这会告知 Gemini,您的下一个提示旨在编译结构化文本文档。 选择 Canvas 界面

第 2 步:生成有事实依据的架构决策记录 (ADR)

我们将提示引擎扫描您提供的 BLP Jira 项目和 Confluence 工作区,以根据实时项目标准构建正式的架构决策记录 (ADR)。

  1. 在当前有效的 Canvas 提示字段中,输入以下提示:
    Scan the connected BLP Jira project and compile a detailed Architecture Decision Record (ADR) for our new real-time geolocation profile matching engine. Ground the context in our active tickets, specifically referencing BLP-1 and the performance issues in BLP-2.
    
  2. 点击提交。
  3. 观看工作区拆分为双面板视图。右侧的文档编辑器画布将动态呈现精美专业的 Markdown 格式文档。 Canvas 生成 ADR 文档 ADR 文档已呈现

生成的 ADR(标题为 ADR-002:实时地理定位配置文件匹配引擎的架构蓝图)通常包含:

  • 状态:已提议
  • 背景和问题陈述:具体引用了实时邻近属性匹配 (BLP-1) 和循环线程/内存泄漏 (BLP-2)。
  • 决策(空间索引、反应式事件循环):建议使用 Uber 的 H3 空间索引系统(分辨率为 8 到 10 的六边形分桶)来降低计算复杂性,并使用具有背压(有界阻塞队列)的有界执行器线程池来限制并发性并完全解决 BLP-2 中的线程泄漏问题。它还建立了 Haversine 公式,用于在单元格内进行本地化球面几何距离过滤。
  • 考虑过的替代解决方案:传统的 R 树/PostGIS ST_DWithin 查询(方案 A,因数据库查询延迟而被拒绝)和无界限的“每个用户一个线程”(方案 B,因直接导致 BLP-2 线程泄漏而被拒绝)。
  • 后果:确定性资源使用、可预测的延迟时间、边缘坐标查找权衡。
  • 有效工单的映射和后续步骤:使用结构化线程池和对象池来解决 BLP-1 和 BLP-2 的特定代码途径。

第 3 步:在 Canvas 中进行有针对性的内嵌优化

Canvas 的一项主要优势是可进行有针对性的本地 AI 编辑。您无需在聊天窗口中重新提示整个文档,而是直接进行内嵌编辑。

  1. 前往右侧的文档编辑器画布窗格。
  2. 向下滚动到决策部分,然后使用光标突出显示讨论缓存失效策略的段落,并选择该段落。 在 Canvas 中突出显示文字
  3. 突出显示文字后,浮动微型工具栏会立即显示在所选文字的正上方。点击工具栏上的铅笔图标(内嵌的“Gemini 提示”选项)。系统会弹出文本输入气泡。 浮动式内嵌手写笔工具栏
  4. 在输入气泡中,输入确切的修改指令:
    Specify that we must implement a Redis-based in-memory cache running on Memorystore, with a default TTL of 10 minutes and absolute cache invalidation metrics synced via GitHub branch optimize-cache.
    
  5. 点击提交(或按 Enter 键)。
  6. 观察右侧面板:AI 会就地更新所选的特定代码块,并将 Redis Memorystore 参数无缝集成到持久草稿中。

第 4 步:将 Workspace 导出内容直接导入 Confluence

现在,您的文档已完成润色,接下来您将把它导出到工程 Confluence 空间。由于直接界面导出不支持更新现有的空白页面,您将使用左侧的对话界面指示助理动态创建新页面。

  1. 将注意力移回左侧的对话式聊天窗格。 切换回左侧的对话式聊天窗格,其中包含 Canvas 中经过润色的 ADR
  2. 在提示输入框中,输入发布指令:
    can you create a new Confluence page in space "Bumble Engineering Space" with this ADR?
    
  3. 点击提交。 提示 Gemini 导出到 Confluence
  4. Gemini 将与 Atlassian 连接器 API 通信,打包 Canvas ADR 文档,并将其作为新的官方页面发布到您的 Confluence 工作区中! 已成功创建 Confluence 页面
  5. 在网络浏览器中打开 Atlassian Confluence 门户。在 Bumble Engineering Space (BMBENG) 下,验证新页面是否已完全填充结构化 ADR 蓝图! Confluence 门户已通过验证

16. 确定性发布管理工作流代理

在此步骤中,您将从自然语言聊天过渡到构建严格的确定性发布自动化流程。您将使用 Agent Designer (EAP) 可视化流程构建器,通过自然语言提示创建工作流代理。设计器将自主搭建结构化数据库检查、根据有效问题通过 If/Else 条件确定逻辑路径,并配置 Google 云端硬盘回写。

界面布局说明

打开工作流代理构建器后,屏幕会切换到低代码网格工作区:

  • 编辑器画布:位于屏幕中央的宽网格线面板。它代表您的视觉逻辑流程。矩形块(节点)表示操作和流程步骤,通过视觉方向锚线连接在一起,这些锚线可引导执行从上到下进行。
  • 右侧配置托盘:位于右侧的垂直检查器面板。当您点击画布上的节点时,此托盘会显示上下文相关的配置字段、输入变量、条件框和连接器设置。

第 1 步:创建新的工作流代理

  1. 在 Gemini Enterprise Web 应用中,前往左侧边栏,然后点击代理。
  2. 点击顶部栏中的 + 创建代理。
  3. 在代理样式选择卡片弹出式窗口中,选择工作流代理(或点击手动开始以绕过模板)。
  4. 系统会打开可视化编辑器画布,并显示一个提示弹出式窗口,询问您要构建哪个流程。 工作流智能体创建面板

第 2 步:使用自然语言提供支架式教学

您无需手动拖动和关联节点,只需让自然语言工作流编译器自动为您搭建整个逻辑架构。

  1. 在提示框中,粘贴以下详细提示:
    Create a deterministic workflow agent named 'Bumble Release Gatekeeper' triggered on a daily schedule.
    
    The workflow must execute these sequential steps:
    1. First, connect to my Jira app to search for active issues in project 'BLP' that have a priority of 'P0' or 'P1' and are in the 'To Do' or 'In Progress' status.
    2. Next, insert a conditional If/Else branching node that branches on the count of issues returned by my Jira Search node:
       - True Branch (count greater than 0): run a 'P0/P1 Blocker Escalation Review' step that emails the active blockers in project BLP to '[YOUR_EMAIL]' so the delivery lead is notified that blockers exist before release.
       - False Branch (count equals 0): upload a text file named 'release_authorization_log.txt' inside my Google Drive root directory. The file content must log that no blockers were detected and that the release check was automatically authorized with the current execution timestamp.
    
    在提交提示之前,请将 [YOUR_EMAIL] 替换为您自己偏好的电子邮件地址。
  2. 点击提交。 提交自然语言工作流提示
  3. 观察编译器画布:Agent Designer 将处理您的自然语言步骤,并立即搭建一个完整的可视化流程图,其中包含:
    • 开始触发器(时间表):设置为每天。
    • Jira(搜索问题)节点。
    • 根据 P0/P1 问题数量进行分支的条件 (If/Else) 节点。
    • True 分支:一项 P0/P1 阻塞问题升级审核操作,用于通过电子邮件将待解决的阻塞问题发送给 [YOUR_EMAIL]。
    • False 分支:Google 云端硬盘(上传文件)节点(创建 release_authorization_log.txt)。

第 3 步:验证并优化连接器配置

我们来验证一下,每个生成的节点是否都已正确绑定到您的有效数据连接器凭据。

  1. 点击可视化画布上的 Jira (Search Issues) 节点。在右侧配置托盘中,验证是否已选择 Atlassian Jira 数据存储区,以及 JSON 搜索过滤器是否已配置为以项目 BLP 中的有效 P0/P1 问题为目标。 验证 Jira 搜索节点
  2. 点击条件 (If/Else) 节点。在右侧托盘中,验证分支表达式是否设置为检查 Jira 问题长度是否大于 0。 验证“条件”节点
  3. 点击可视化画布上的真分支节点 (P0/P1 Blocker Escalation Review)。在右侧托盘中,验证该托盘是否已配置为将项目 BLP 中的有效阻碍因素通过电子邮件发送到您在提示中设置的电子邮件地址 ([YOUR_EMAIL])。这只是 If/Else True 路径上的操作,没有单独的审批门。 验证 True 分支升级节点配置
  4. 点击 Google 云端硬盘(上传文件)节点(False 分支)。验证该服务账号是否已绑定到您的云端硬盘连接器,并已配置为使用当前时间戳变量将 release_authorization_log.txt 上传到您的根目录。 验证云端硬盘上传器节点

第 4 步:测试并发布工作流智能体

在流程搭建完成并验证节点后,在预览 Playground 中测试逻辑,然后发布智能体,使其按每日安排运行。

  1. 找到编辑器顶部中央的标签栏,然后切换到预览标签页。点击 Run Simulation(运行模拟)/ Trigger Workflow(触发工作流),针对您的实时种子数据执行流程,并观看执行路线在画布上亮起,显示为发光的绿色轨迹路径。
  2. 跟踪 If/Else 逻辑:
    • 由于您之前植入了一个严重程度为 P1 的 bug (BLP-2),因此 Search BLP Blockers 节点会返回结果,Check Blocker Count 条件的评估结果为大于零,并且 True 分支会运行 P0/P1 Blocker Escalation Review 操作(通过电子邮件将阻塞问题发送给 [YOUR_EMAIL])。
    • 如需改为执行 False 分支,请将 Jira 过滤条件调整为没有匹配问题的键(例如 BLP_NONE),重新运行,并确认轨迹流向 Log Release Authorization,将 release_authorization_log.txt 写入 Google 云端硬盘。
  3. 如果您对流程感到满意,请点击编辑器右上角的发布。在发布代理对话框中,点击发布以创建代理的新发布版本(如果您只想拍摄配置快照而不发布,请选择仅保存版本)。 针对 Bumble 发布 Gatekeeper 的发布代理确认对话框
  4. 从左侧导航栏中打开智能体库。在您的智能体下,确认 Bumble Release Gatekeeper 工作流智能体现在已显示(与您之前构建的 Lead Scrum Master 智能体一起),可以按其每日安排运行。 已发布的 Bumble 版本 Gatekeeper 代理列在“代理”库中

17. 实验室挑战赛:使用 ADK 构建和部署(可选)

第 1 步:设置环境

我们将在 Google Cloud Shell 中完成此挑战,其中预安装了所有必需的命令行工具。

  1. 打开 Google Cloud 控制台。
  2. 点击右上角的激活 Cloud Shell 图标(终端图标)。
  3. 验证环境是否已加载。您可以检查工具设置: Cloud Shell 环境

第 2 步:身份验证和设置

在构建之前,您必须对常规 Antigravity 客户端和专用 Agent CLI 进行身份验证。

  1. 设置项目 ID 并登录 Antigravity CLI:
    export GOOGLE_CLOUD_PROJECT=[YOUR_PROJECT_ID]
    agy login
    
  2. 点击终端中提供的授权网址,使用您的凭据进行身份验证,然后将令牌粘贴回 CLI。
  3. 以互动模式登录 Agent CLI:
    agents-cli login --interactive
    
  4. 安装 ADK 技能:运行设置命令以加载 ADK 代理库:
    uvx google-agents-cli setup
    

第 3 步:使用 Antigravity CLI(自然语言编码)

我们不会手动编写 Python 代码,而是让 Antigravity CLI 编码智能体自主搭建、编写和单元测试智能体。

  1. 启动 Antigravity CLI 会话:
    agy
    
  2. 提示编码助理:在提示框中输入以下指令:
Using the Agent Development Kit (ADK) Python SDK, build me an agent named 'Bumble-Ops-Assistant' that has a python tool function to check build health for prod and staging environments. The tool should just return a hardcoded 'GREEN' status for now. Once scaffolded and coded, run a unit test and an evaluation smoke test for me in this folder.
  1. 观察自主编码:观看终端日志,了解 Antigravity CLI 如何自动执行以下序列:
    • 在后台运行 agents-cli scaffold create 命令。
    • 在 app/tools.py 中写入 Python 工具函数(返回硬编码的 "GREEN" build 状态)。
    • 在 app/agent.py 中配置代理指令。
    • 安装依赖项。
    • 在工作区内创建并运行单元测试,展示成功的编译!

第 4 步:检查创建的代码并运行 Playground

  1. 打开 Cloud Shell 编辑器(点击 Cloud Shell 顶部菜单中的打开编辑器)。
  2. 前往 bumble-ops-assistant 文件夹。查看 CLI 创建的文件:
    • app/tools.py:包含您的自定义 Python 工具函数。
    • app/agent.py:为代理设置系统提示、系统指令和工具注册。
  3. 现在,我们来在本地终端游乐场中以互动方式测试智能体。

如需运行 Playground,请执行以下操作:

agents-cli playground --app bumble-ops-assistant
  1. 在 Playground 会话开始后,向智能体提问:
How is the prod build environment looking?

Gemini 将加载本地代理,在后台执行 Python 工具函数,并以 "GREEN" 状态进行回复! ADK Playground 会话返回绿色 build 状态 园地测试结果

18. 实验室挑战赛:发布到 Gemini Enterprise(可选)

现在,您的 ADK 智能体已在本地完成编译和测试,接下来您将把它部署到智能体运行时,并发布到公司的 Gemini Enterprise 图库,以便非技术团队成员可以访问它。请注意,具体的部署/发布体验可能因环境而异。

第 1 步:部署到 Agent Runtime

为了安全地托管代理逻辑,我们将其部署到托管式运行时:

agents-cli deploy --deployment-target agent_runtime --no-confirm-project

我们来检查一下 CLI 部署自动化序列: 部署启动 部署到托管式运行时 服务激活通过

将代理托管在运行时上后,将其发布到您的特定团队库:

agents-cli publish gemini-enterprise --interactive
  1. CLI 会提示您选择项目中配置的目标 Gemini Enterprise 应用。选择您的应用。
  2. 设置显示名称:输入 Bumble Platform Health。

我们来了解一下互动发布序列: 发布命令运行 互动式目的地配置 元数据同步通过 门户网站捆绑执行 发布成功确认

第 3 步:在 Agent Registry 中进行验证

打开 Google Cloud 控制台。前往 Gemini Enterprise Agent Platform 工作区,然后选择 Agent Registry(请注意,此选项位于 Gemini Enterprise Agent Platform 注册表中,而非公司管理控制台中)。您会看到自己的自定义 Bumble Platform Health 代理与所有预构建选项一起列出,随时可以与 Bumble 产品和工程主管分享!

Agent Runtime 上的部署,显示已部署的代理 已发布智能体在 Gemini Enterprise 中打开,可随时进行查询 在 Gemini Enterprise 聊天中运行的已发布智能体返回绿色 build 状态

如需了解详情,请参阅官方开发者指南:Gemini Enterprise Agent Platform 运行时文档

19. 清理

为避免因连接器同步和资源而持续产生结算费用,请清理已配置的资产。

  1. 删除您构建的自定义代理:移除本次研讨会期间创建的所有代理,以免它们继续运行:
    • Agent Designer 中的首席 Scrum Master 对话代理及其两个子代理(Jira-Analyst 和 GitHub-Analyst)。
    • Bumble Release Gatekeeper 工作流代理。
    • 已部署的 ADK 智能体发布为 Bumble Platform Health(其内部 ID 为 Bumble-Ops-Assistant)- 前往 Gemini Enterprise Agent Platform > Agent Registry 并删除该部署。
  2. 删除 Gemini Enterprise 应用:如果您创建了自定义 Bumble 门户应用,请前往“应用管理”页面,然后点击删除。
  3. 删除数据存储区:在 Google Cloud 控制台搜索中,打开 Vertex AI Agent Builder > 数据存储区,然后删除您连接的每个数据存储区:Jira、Confluence 和 GitHub(以及 Google 云端硬盘连接器,如果您连接了该连接器),以确保没有任何内容继续同步或产生费用。
  4. 删除 GCP 项目(可选):如果您是在专用沙盒项目中执行本讲座的,则只需从 Google Cloud Resource Manager 中删除整个项目,即可一次性清理所有资源。

注意永久删除:删除数据存储区、应用和项目是完全永久性的操作。这些配置一经删除便无法恢复,并且活跃的研讨会配置会立即销毁。

20. 恭喜

您已完成 Bumble Gemini Enterprise 第 1 天的研讨会!

您学到的内容

  • 为 Jira、Confluence、GitHub 和 Google 云端硬盘 配置数据连接器。
  • 根据文档、工作区和实时执行数据进行接地分析。
  • 构建具有子智能体的多步骤智能体。
  • 调用开箱即用的项目更新技能模板来生成项目状态摘要。
  • 在 Gemini Assistant Canvas 中共同撰写 ADR,并根据这些 ADR 创建新的 Confluence 页面。
  • 使用自然语言流程构建器搭建确定性工作流。
  • 使用 ADK 和 Antigravity CLI (agy) 开发、部署和发布专业智能体。

参考文档