1. はじめに
この Codelab では、Gemini Enterprise を活用して、Bumble のスクラム マスターとプロジェクト マネージャーの日々のワークフローを自動化し、強化する方法を学びます。Jira、Confluence、GitHub、Google ドライブのデータ コネクタを構成する方法、Gemini Notebook を使用してスプリント バックログを分析する方法、Gemini Assistant Canvas を使用してアーキテクチャ ドキュメントを共同作成する方法、Agent Designer と Agent Development Kit(ADK)を使用してカスタム エージェントを構築する方法について説明します。
演習内容
- セットアップとカスタマイズ: 配信目標のアシスタント設定を構成します。
- データコネクタを構成する: Gemini Enterprise を Jira Cloud、Confluence、GitHub、Google ドライブに接続します。
- ドキュメントの相互参照: 要件とアクティブなチケットログを比較します。
- スプリント バックログを分析する: Gemini Notebook を使用して、振り返りメモから分析情報を生成します。
- Google 所有のエージェントを試す: Deep Research エージェントと アイデア生成 エージェントを使用して、市場調査を実施し、新機能のブレインストーミングを行います。
- マルチステップ エージェントを構築する: 専門のサブエージェントを使用して、リード スクラム マスター アシスタントを作成します。
- 事前構築済みスキルを呼び出す: すぐに使用できるプロジェクトの最新情報スキル テンプレートを呼び出して、プロジェクトのステータスの概要を生成します。
- 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 ドライブのアカウント。
- 認証情報の準備: Data Connector の手順を開始する前に、Atlassian API トークン(Jira/Confluence 用)、GitHub アプリの認証情報が生成され、Google ドライブ フォルダへのアクセスが確認されていることを確認します。
推定所要時間: 201 分
費用の見積もり: この Codelab で使用するリソースは主にサービスとしてのソフトウェア機能であり、インフラストラクチャの費用が大幅に発生することはありません。ただし、Gemini Enterprise ライセンスとデータ コネクタの使用による課金への影響を理解しておく必要があります。
2. アシスタントを設定してカスタマイズする
このステップでは、Gemini Enterprise にアクセスし、アシスタントの設定をカスタマイズして、スクラム マスターまたはデリバリー リードとしてのデリバリー目標を把握します。
Gemini Enterprise に移動する
- ウェブブラウザを開き、Gemini Enterprise アプリに移動します(環境固有の URL は講師から提供されます)。
- プロビジョニングされた Google アカウントでログインしていることを確認します。
パーソナライズを構成する
アシスタントに自分の役割と業界に関する明確なコンテキストを提供するには:
- インターフェースの左下にある [設定](歯車)アイコンをクリックします。
- 設定のポップアップ メニューで [パーソナライズ] を選択します。
- [プロファイル] セクションに、次の詳細を入力します。
- Role or job title: プルダウンから [Custom] を選択し、フィールドに「
Scrum Master / Delivery Lead」と入力します。 - 業種: プルダウンから [カスタム] を選択し、フィールドに「
Consumer Software & Mobile App Development」と入力します。
- Role or job title: プルダウンから [Custom] を選択し、フィールドに「
- アシスタントが過去のやり取りから学習できるように、次の切り替えスイッチがオンになっていることを確認します。
- 会話の履歴
- 保存された思い出を参照する
- [保存] をクリックして、設定ポップアップを閉じます。
3. ラボ環境のシード設定の前提条件
このワークショップで 100% の実行精度を確保し、環境のドリフトを回避するには、データ コネクタを構成する前に、特定のモックデータ パッケージを使用してローカルラボ環境をシードする必要があります。これにより、Jira、Confluence、GitHub のベースライン データセットが確立され、AI アシスタントが絶対的な決定論的精度でグラウンディングされた分析タスクを実行できるようになります。
1. Jira プロジェクトのデータ シーディング
専用のサンドボックス Jira プロジェクトを作成し、3 つのベースラインの問題をシードします。
- ウェブブラウザで Atlassian Jira Cloud インスタンスを開きます。
- プロジェクトにアクセスする: 左側のサイドメニュー ペインで [プロジェクト] をクリックし、[プロジェクトを作成] を選択します。
- スクラム テンプレートを選択: プロジェクト テンプレート パネルで、[スクラム]([ソフトウェア開発] テンプレート カテゴリにあります)を検索して選択します。[テンプレートを使用] をクリックし、[会社管理プロジェクト] を選択します。
無料のデベロッパー エディションを使用している場合、テンプレートを直接見つけることができないことがあります。その場合は、[スペース] をクリックしてテンプレートを見つけ、そこから [スクラム] テンプレートを選択します。
- プロジェクトの詳細を入力: プロジェクトのプロパティを設定します。
- サンドボックスを初期化: この時点では [プロジェクトを作成] ボタンはありません。[次へ] をクリックします。Confluence スペースをすぐに接続するかどうかを尋ねられたら、[続行] / [スキップ] をクリックし、次のフェーズでスペースの作成を個別に行います。
- Seed Baseline Issues:
問題の種類 | 概要 | 優先度 | 初期ステータス | 説明 |
タスク |
| 中 |
| 位置情報の指標の基本ルーティン |
バグ |
| 高(P1) |
| レンダリング中の重大なスレッドリーク |
Epic |
| 中 |
| 趣味グループ コミュニティのリリース ロードマップ |
2. Confluence ワークスペースのシード
エンジニアリング スペースを確立し、動的ドキュメント用に指定された空白のページを作成します。
- Atlassian Confluence Cloud インターフェースに移動します。
- 上部のナビゲーション メニューで [スペース] をクリックし、[スペースを作成] を選択します。
- [空白スペース] を選択し、次のように構成します。
- [作成] をクリックして、空白の Confluence ホームペインを開きます。
- 上部のグローバル ナビゲーション メニューにある [ページを作成] ボタン(鉛筆とプラスのアイコン)をクリックします。
- ページ エディタで、タイトルを
ADR for background frameworkに設定し、本文は完全に空白のままにします。
- 右上にある [公開] をクリックします。
3. GitHub リポジトリのシード
モックの本番環境コードベースを表すテスト リポジトリを作成します。
- GitHub アカウント ページに移動します。右上にある + アイコンをクリックし、[新しいリポジトリ] を選択します。
- リポジトリの設定を構成します。
- [リポジトリを作成] をクリックして、新しいディレクトリを確立します。
- モックの trunk コードベース ファイルを作成します。
- アクティブなプルリクエストを提案する:
- リポジトリのホームページで、[Add file] -> [Create new file again] をクリックします。
- ファイルに
cache.pyという名前を付け、このモック コンテンツ# Optimize cache invalidation metricsを追加します。 - commit ボックスまでスクロールし、[この commit のために新しいブランチを作成し、pull リクエストを開始する] を選択します。ブランチに
optimize-cacheという名前を付け、[変更を提案] をクリックします。
- [Open pull リクエスト] ページで、タイトルが
PR #1: Optimize cache invalidation metricsに設定されていることを確認し、[Create pull request] をクリックします。
4. データコネクタを構成する
Gemini Enterprise がプロジェクト データにアクセスできるようにするには、Jira Cloud、Confluence、GitHub、Google ドライブのコネクタを構成する必要があります。これらは、Google Cloud コンソールでデータストアとして設定されます。
[管理者向け] Jira Cloud データストアを作成する
- Google Cloud コンソールで、[Gemini Enterprise] ページに移動します(または検索します)。
- Google Cloud プロジェクトを選択します。
- ナビゲーション メニューで [データストア] をクリックします。
- [+ データストアを作成] をクリックします。
- [ソース] セクションで「Jira Cloud」を検索し、[選択] をクリックします。
- [データ] セクションで、次の操作を行います。
- [連携検索](リアルタイム クエリに最適)を選択します。
- 認証の詳細(クライアント ID、クライアント シークレット、インスタンス URI(例:
https://your-domain.atlassian.net)、インスタンス ID)を入力します。 - 注: Atlassian アカウントから生成された Jira API トークンが必要です。
- [ログイン] をクリックして、Atlassian ログインを完了します。
- 検索するエンティティ(課題、プロジェクトなど)を選択します。
- [続行] をクリックし、画面の指示に沿って作成を完了します。
[管理者向け] Confluence データストアを作成する
- [データストア] ページで、[+ データストアを作成] をもう一度クリックします。
- [ソース] セクションで「Confluence」を検索し、[選択] をクリックします。
- [データ] セクションで、次の操作を行います。
- [連携検索](リアルタイム クエリに最適)を選択します。
- 認証の詳細(クライアント ID、クライアント シークレット、インスタンス URI(例:
https://your-domain.atlassian.net)、インスタンス ID)を入力します。 - [ログイン] をクリックして、Atlassian ログインを完了します。
- 検索するエンティティ(ページ、スペース、ブログ投稿など)を選択します。
- [続行] をクリックし、画面の指示に沿って作成を完了します。
[管理者向け] GitHub データストアを作成する
- [データストア] ページで、[+ データストアを作成] をもう一度クリックします。
- [ソース] セクションで「GitHub」を検索し、[選択] をクリックします。
- [データ] セクションで、次の操作を行います。
- GitHub アプリの [Client ID] と [Client Secret] を指定します。
- [ログイン] をクリックして、GitHub へのログインと承認を完了します。
- [詳細オプション] の [所有者のログイン] フィールドに組織名を入力します。
- 検索するエンティティ(リポジトリ、問題、pull リクエストなど)を選択します。
- 有効にする GitHub アクションを選択します(コメントの追加、PR の統合など)。
- コネクタの場所と名前を構成します。
- [作成] をクリックします。
[管理者向け] Google ドライブのデータストアを作成する
- [データストア] ページで、[+ データストアを作成] をもう一度クリックします。
- [ソース] セクションで「Google ドライブ」を検索し、[選択] をクリックします。
- [データ] セクションで、次の操作を行います。
- Atlassian/Google Workspace OAuth または Workspace 管理者が構成したサービス アカウントを使用して接続します。
- フォルダ スコープ ルールを定義して、インデックス登録を関連する Bumble プロジェクト フォルダに制限します。
- インデックス登録と検索を行うエンティティ(ドキュメント、ファイルなど)を選択します。
- [作成] をクリックします。
5. データコネクタを承認して使用する
Gemini Enterprise を使用してワークスペース ツールをクエリするには、ワークショップの各参加者がユーザー アカウントの接続を明示的に承認する必要があります。
ステップ 1: コネクタ メニューにアクセスする
- Gemini Enterprise のメインのチャット インターフェースで、チャット入力ボックスの [データベース](コネクタ)アイコンをクリックします。
- 管理者によって構成された利用可能なデータストア(Jira、Confluence、GitHub、Google ドライブ、Google 検索)のリストが表示されます。
ステップ 2: Jira Connector を承認する
- Jira コネクタを見つけます。横にある [承認] をクリックします。
- 新しいブラウザタブが開き、Atlassian へのログインを求めるメッセージが表示されます。ログインを完了し、[承認] をクリックして統合を承認します。
- 承認されると、ステータス切り替えボタンが青色に変わり、コネクタが有効になったことが確認できます。
ステップ 3: Confluence Connector を承認する
- Confluence コネクタを見つけます。横にある [承認] をクリックします。
- Atlassian ログインを完了し、[承諾] をクリックして Confluence の統合を承認します。
- 切り替えボタンが青色に変わり、Confluence が有効になっていることを確認します。
ステップ 4: GitHub Connector を承認する
- GitHub コネクタについても、まったく同じフローに従います。
- [Authorize] をクリックし、ポップアップ タブで GitHub アカウントにログインして、リクエストされた権限を付与します。
ステップ 5: Google ドライブ コネクタを承認する
- Google ドライブ コネクタについても同じフローに従います。
- [承認] をクリックしてワークスペースの Google アカウントを選択し、読み取り/書き込み権限を付与して、アシスタントがドライブのルート ディレクトリにファイルを作成できるようにします。
ステップ 6: Focus Connector のスコープ(Google 検索と Enterprise Search をオフにする)
コードベースとチケット トラッカーから最も正確な結果を得るには、広範な検索をオフにすることをおすすめします。Gemini Enterprise 環境で有効になっている内容に応じて、[Google 検索]、[エンタープライズ検索]、またはその両方が表示されることがあります。有効になっているものを無効にします。ラボは、以前にシードした Jira、GitHub、Confluence のデータのみに基づいているため、広範な検索をオンのままにすると、誤った結果が返されます。
6. Jira コネクタの基本的な操作
このステップでは、自然言語を使用して基本的なチケット管理タスクを実行する練習を行います。
1. Jira プロジェクト キーを確認する
チケットを作成または更新する前に、アクセスできるプロジェクトを確認します。Gemini に相談:
list the available Jira projects and their keys.
Gemini は、データストアに接続されている正確なプロジェクトを返す必要があります。
次の例では、プロジェクト キー 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 と通信して、確認を出力します。
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'.
4. ステータスを更新
チケットを新しい状態に移動します(ここでも、Gemini が返したチケットキーを使用します)。
Change the status of ticket BLP-4 to 'In Progress'.
7. GitHub Connector の基本的な操作
このステップでは、リポジトリ アクティビティをクエリして、デベロッパーの進捗状況を把握する方法を学びます。
1. 利用可能なリポジトリを一覧表示する
commit ログをクエリするには、正確なリポジトリ名が必要です。Gemini に相談:
list all GitHub repositories that I have access to.
Gemini がコネクタにクエリを実行し、アクセス可能なリポジトリを出力します。
次の例では、リポジトリ bumble-workshop-demo を使用します。 は、ご自身の GitHub ハンドル(mumanoha/bumble-workshop-demo など)に置き換えます。
2. 最近の commit を一覧表示する
Gemini に最近のアクティビティを確認するようリクエストします。
List the last 5 commits in repository <owner>/bumble-workshop-demo.
3. オープン状態の pull リクエストを確認する
審査待ちのコードを確認します。
Show me all open pull requests for repository <owner>/bumble-workshop-demo.
4. pull リクエストを要約する
Gemini に PR の変更内容の要約を依頼します(このワークショップで PR #1 を作成しました)。
Summarize the changes in pull request #1 in repository <owner>/bumble-workshop-demo.
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: 要件ドキュメントを作成する
アップロードする前に、ターゲット仕様を含むローカル テキスト ファイルが必要です。
- ローカルマシンでプレーン テキスト エディタを開きます。
- macOS の場合: テキストエディットを開きます。上部のメニューに移動し、[Format] > [Make Plain Text] を選択します(書式設定メタデータなしで保存するために重要です)。
- Windows の場合: メモ帳を開きます。
- 次のテキストをコピーしてエディタに貼り付けます。
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.
- ファイルをパソコンに
requirements.txtとして保存します。
ステップ 2: 新しいチャットをアップロードして初期化する
- Gemini Enterprise で [新しいチャット] ウィンドウを開きます。
- チャット入力ボックスで [データベース](コネクタ)アイコンをクリックします。
- Jira のみを有効にする(Google 検索、Enterprise Search、GitHub、Confluence をオフにする)と、検索コンテキストがシードされた Jira データに絞られます。
- テキスト ボックスの横にあるプラス(+)アイコンをクリック(またはドラッグ&ドロップ)して、
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 と通信してチケットを作成し、指定されたステータスを設定します。
ステップ 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: レトロスペクティブ ドキュメントを作成する
- 書式なしテキスト エディタを開きます(Mac の場合はテキストエディットをプレーン テキスト モードで、Windows の場合はメモ帳)。
- 次のモックメモをコピーして、エディタに貼り付けます。
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.
- ファイルを
retro.txtとして保存します。
ステップ 2: Gemini Notebook にアクセスしてノートブックを作成する
- 左側の Gemini Enterprise ナビゲーション パネルで、[エージェント] タブを開きます。
- [Gemini Notebook] を選択します。
- [新しいノートブックを作成] をクリックします。
ステップ 3: ソースをインポートする
- ソース選択のポップアップで、[コピーしたテキスト] または [ファイルをアップロード] を選択します。
retro.txtファイルを貼り付けるか、アップロードします。
ステップ 4: 分析情報を生成する
- 下部のチャット インターフェースで、次のプロンプトを実行します。
What are the recurring bottlenecks mentioned in these retrospective notes?
11. 市場動向に関する詳細な調査を実施する
このステップでは、Deep Research エージェントを使用して、Z 世代の出会い系アプリの好みなど、Bumble に関連する市場動向について広範な調査を行います。
Deep Research エージェントにアクセスする
リサーチ セッションを開始する
- 入力フィールドに、「モバイルの出会い系アプリとネットワーキング アプリのコンテキストで、Z 世代の消費者にリーチするための異なるマーケティング戦略の効果を比較して」などのプロンプトを貼り付けます。
- リサーチプランを確認する: エージェントがプランを生成します。内容を確認して [リサーチを開始] をクリックします。
期待される効果
エージェントがソースを検索し、引用付きの複数ページのレポートを生成するまで数分かかります。実行中に次のステップに進むことができます。
12. アイデア生成でブレインストーミングする
このステップでは、アイデア生成エージェントを使用して、コミュニティ構築に焦点を当てて、Bumble の新機能やキャンペーンのブレインストーミングを行います。
アイデア生成エージェントにアクセスする
- Gemini Enterprise の左側のナビゲーション メニューで、[エージェント] タブを選択します。
- [アイデア生成] エージェントを選択します。
アイデア出しセッションを開始する
- アイデアを出すトピックを指定します。たとえば、「ネットワーキング アプリのユーザー間のアイスブレイクとコミュニティ構築を促進するゲーミフィケーション機能のリストをブレインストーミングして」などです。
- セッションを開始する: プランを確認し、[セッションを開始] をクリックします。
期待される効果
エージェントがアイデアを生成し、評価してランク付けします。このプロセスは長時間実行されるため、完了を待たないでください。バックグラウンドで実行して、後で結果を確認することもできます。次のラボに進んでください。
13. マルチステップのスクラム マスター アシスタントを構築する
プロフェッショナル エージェントは、複雑なタスクを分割するためにサブエージェントを使用することがよくあります。このステップでは、Agent Designer を使用してマルチステップ エージェントを構築し、専門の Jira サブエージェントと GitHub サブエージェントに作業を委任します。
ステップ 1: Orchestrator エージェントを構成する
- Gemini Enterprise のナビゲーション パネルで、[+ 新しいエージェント] をクリックします。
- 重要な UI ステップ: プロンプト選択ポップアップが表示されます。[Chat Agent] を選択して、Agent Designer インターフェースを開きます(ここではチャットフローに焦点を当てているため、[Workflow Agent] は選択しないでください)。
- メイン キャンバスで、中間エージェント ノードをクリックして、右側の構成パネルを開きます。
- エージェントの詳細を設定します。
- エージェント名: このルート エージェントの名前を構成パネルで直接
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: 専門サブエージェントを追加する
作業を分担するために、2 つの専門的な子エージェントを作成します。
- キャンバス上の
Lead Scrum Masterノードにカーソルを合わせ、+(プラス)アイコンまたは [サブエージェントを追加] オプションをクリックします。
- 新しく作成したサブエージェント ノードをクリックし、最初の子を構成します。
- 名前:
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 検索] のチェックを外します。
- 名前:
Lead Scrum Masterノードにカーソルを合わせて [+ サブエージェントを追加] をクリックし、2 番目の子を構成します。- 名前:
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 検索] のチェックを外します。
- 名前:
ステップ 3: マルチステップ フローを保存してテストする
- ビルダー画面の右上にある [作成](または [保存])をクリックして、エージェントを公開します。
- [Chat with Agent] をクリックしてプレビュー ペインを開きます。
- チャット データベース オプションで Google 検索をオフにしてから、次のプロンプトを実行します。
Generate the high-priority update for my projects for the past 24 hours.
オーケストレーターは Jira-Analyst サブエージェントと GitHub-Analyst サブエージェントと連携し、入力をコンパイルして、ライブ Jira ブロッカーとオープン GitHub pull リクエストの両方を示す美しい合成された日次ステータス レポートを返します。
14. @-メンションで事前構築済みスキルを呼び出す
Gemini Enterprise には、スクラム マスターとプロダクト マネージャーがチャット セッションで直接呼び出して、特定の自動化されたワークフローを実行できる、すぐに使用可能なスキル テンプレートが用意されています。このステップでは、事前構築済みの Project Updates スキルを有効にして、プロジェクトのステータスの概要を生成します。
ステップ 1: ウェブ UI で Project Updates Skill を有効にする
事前構築済みスキルを使用するには、まずスキルを有効にする必要があります。
- Gemini Enterprise の左側のナビゲーション パネルで、[スキル] をクリックします(サイド ナビゲーションに独自の項目として表示され、プレビュー バッジが付いています)。
- プロジェクトの最新情報スキル(Google がすぐに使用できるように提供している事前構築済みのスキル テンプレート)を見つけます。
- スイッチを [有効にする] に切り替えます。
ステップ 2: Chat でスキルを呼び出す
有効にすると、チャット会話でプロジェクトのステータス更新をリクエストしたときにスキルが自動的に実行されます。@-mention を接頭辞として付ける必要はありません。
- [新しいチャット] ウィンドウを開きます。
- チャット入力ボックスで [データベース](コネクタ)アイコンをクリックします。
- スコープ設定: 必要なコネクタ(Jira と GitHub)のみを選択し、AI をグラウンディングしてクエリノイズを回避するために、他のコネクタ(公開 Google 検索や一般的なエンタープライズ検索など)を明示的に無効にしてください。
- 次のプロンプトを入力してスキルを呼び出します。
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. - Enter キーを押すか、[送信] をクリックします。
ステップ 3: グラウンディングされたレポートの取り込みと出力
事前構築済みのスキルは、最適化された分析シーケンスを実行します。Jira に接続してスプリントの問題を取得し、GitHub にクエリを実行してアクティブな pull リクエストを追跡し、結果を高度なプロフェッショナルなステータス レポートに統合します。
15. Gemini アシスタント キャンバスを使用したインタラクティブなアーティファクトの共著
このステップでは、Gemini Enterprise の基本的な差別化要因である Gemini アシスタント キャンバスについて説明します。この機能により、ワークスペースが標準の会話画面から、生産性の高い並列のデュアルパネル レイアウトに切り替わります。このレイアウトでは、アプリを切り替えることなく、左側で AI にプロンプトを入力し、右側で永続的で編集可能なアーティファクトを共同作成できます。
UI レイアウトの説明
キャンバス モードが有効になると、ユーザー インターフェースが次のように切り替わります。
- 左側のパネル(会話型チャット): 標準の AI チャットペインが保持されます。下部にプロンプト入力行とデータベース コネクタ ボタンがあります。
- 右側のパネル(ドキュメント エディタのキャンバス): 広々とした白いドキュメント ワークスペースが画面の右半分を占めています。書式設定された見出し、箇条書き、テキストが表示されます。これは、Gemini セッションに直接統合された永続的な Google ドキュメントのように機能します。
ステップ 1: Canvas インターフェースを有効にする
- Gemini Enterprise ウェブアプリにログインします。
- 左上の [新しいチャット] ボタンをクリックして、履歴をクリアした状態で開始します。
- 下部のプロンプト入力欄で、[ツール] ボタン(アクティブなスライダーまたはリスト アイコンで表示)をクリックするか、
/と入力してショートカット カタログを開きます。 - リストから [Canvas(プレビュー版)] を選択します。これにより、次のプロンプトで構造化されたテキスト ドキュメントをコンパイルすることを Gemini に伝えます。
ステップ 2: アーキテクチャ決定レコード(ADR)のグラウンディングされた生成
エンジンに、シードされた BLP Jira プロジェクトと Confluence ワークスペースをスキャンして、ライブ プロジェクトの基準に基づいて公式のアーキテクチャ決定レコード(ADR)を構築するよう指示します。
- アクティブな 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 つのパネルビューに分割されます。右側のドキュメント エディタのキャンバスには、洗練されたプロフェッショナルな Markdown 形式のドキュメントが動的にレンダリングされます。
生成された ADR(「ADR-002: リアルタイム位置情報プロファイル マッチング エンジンのアーキテクチャ ブループリント」というタイトル)には、通常、次のものが含まれます。
- ステータス: 提案済み
- コンテキストと問題提起: リアルタイム近接属性のマッチング(
BLP-1)とループ スレッド/メモリリーク(BLP-2)を具体的に挙げています。 - 決定(空間インデックス、リアクティブ イベント ループ): 計算の複雑さを軽減するために Uber の H3 空間インデックス システム(解像度 8 ~ 10 の六角形のバケット)を提案し、同時実行を制限して
BLP-2のスレッドリークを完全に解決するために、バックプレッシャー(境界付きブロッキング キュー)を備えた境界付きエグゼキュータ スレッド プールを提案します。また、セル内のローカライズされた球面幾何学距離フィルタリング用の Haversine Formula も確立します。 - 検討された代替ソリューション: 従来の R-Tree/PostGIS ST_DWithin クエリ(オプション A、データベース クエリのレイテンシのため却下)と、ユーザーごとの無制限スレッド(オプション B、
BLP-2スレッドリークを直接引き起こすため却下)。 - 結果: 決定論的なリソース使用量、予測可能なレイテンシ、エッジ座標ルックアップのトレードオフ。
- アクティブなチケットのマッピングと次のステップ: 構造化されたスレッド プールとオブジェクト プーリングを使用して
BLP-1とBLP-2を解決するための特定のコードパス。
ステップ 3: キャンバスでのターゲットを絞ったインライン調整
Canvas の大きな特長は、ローカル AI 編集をターゲットにできることです。チャット ウィンドウでドキュメント全体を再度プロンプトする必要はありません。インラインで編集します。
- 右側の [ドキュメント エディタ キャンバス] ペインに移動します。
- [決定] セクションまでスクロールし、カーソルでハイライト表示して、キャッシュ無効化戦略について説明している段落を選択します。
- テキストがハイライト表示されると、選択したテキストのすぐ上にフローティング マイクロ ツールバーがすぐに表示されます。ツールバーの鉛筆アイコン(インラインの Gemini に相談するプロンプト オプション)をクリックします。テキスト入力の吹き出しが開きます。
- 入力バブルに、正確な修正指示を入力します。
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. - [送信] をクリックします(または Enter キーを押します)。
- 右側のパネルを確認します。AI は、選択した特定のブロックのみをその場で更新し、Redis Memorystore パラメータを永続的な下書きにシームレスに統合します。
ステップ 4: Workspace のエクスポート先を Confluence に設定する
ドキュメントが完成したら、エンジニアリングの Confluence スペースにエクスポートします。直接 UI エクスポートでは既存の空のページの更新がサポートされていないため、左側の会話型インターフェースを使用して、アシスタントに新しいページを動的に作成するよう指示します。
- 左側の [Conversational Chat] ペインに注目します。
- プロンプトの入力ボックスに、公開手順を入力します。
can you create a new Confluence page in space "Bumble Engineering Space" with this ADR? - [送信] をクリックします。
- Gemini は Atlassian コネクタ API と通信し、Canvas ADR ドキュメントをパッケージ化して、Confluence ワークスペース内の新しい公式ページとして公開します。
- ウェブブラウザで Atlassian Confluence ポータルを開きます。
Bumble Engineering Space(BMBENG)で、新しいページに構造化された ADR ブループリントが完全に設定されていることを確認します。
16. 決定論的リリース管理ワークフロー エージェント
このステップでは、自然言語チャットから厳密で決定論的なリリース自動化フローの構築に移行します。Agent Designer(EAP)のビジュアル フロー ビルダーを使用して、自然言語プロンプトでワークフロー エージェントを作成します。デザイナーは、構造化されたデータベース チェックを自律的にスキャフォールディングし、アクティブな問題に基づいて If/Else 条件で論理パスをルーティングし、Google ドライブの書き戻しを構成します。
UI レイアウトの説明
ワークフロー エージェント ビルダーを開くと、画面がローコードのグリッド線付きワークスペースに切り替わります。
- エディタ キャンバス: 画面の中央を占める、グリッド線が引かれた広いパネル。これは、視覚的なロジックフローを表します。長方形のブロック(ノード)はアクションとフローのステップを表し、上から下への実行を指示する視覚的な方向アンカー線で結ばれています。
- 右側の構成トレイ: 右側の縦型インスペクタ パネル。キャンバス上のノードをクリックすると、このトレイにコンテキストに応じた構成フィールド、入力変数、条件ボックス、コネクタ設定が表示されます。
ステップ 1: 新しいワークフロー エージェントを作成する
- Gemini Enterprise ウェブアプリで、左側のサイドバーに移動して [エージェント] をクリックします。
- 上部のバーにある [+ エージェントを作成] をクリックします。
- エージェント スタイル選択カードのポップアップで、[Workflow Agent] を選択します(または、[Start manually] をクリックしてテンプレートをバイパスします)。
- ビジュアル エディタ キャンバスが開き、作成するフローを尋ねるプロンプト ポップアップが表示されます。
ステップ 2: 自然言語によるスキャフォールディング
ノードを手動でドラッグしてリンクする代わりに、自然言語ワークフロー コンパイラに論理アーキテクチャ全体のスキャフォールディングを自律的に行うよう指示します。
- プロンプト ボックスに、次の詳細なプロンプトを貼り付けます。
プロンプトを送信する前に、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]をご自身のメールアドレスに置き換えてください。 - [送信] をクリックします。
- コンパイラ キャンバスを確認します。Agent Designer は自然言語の手順を処理し、次のような完全なビジュアル フローチャートを即座にスキャフォールディングします。
- Start Trigger (Schedule): 毎日になるように設定します。
- Jira(問題の検索)ノード。
- P0/P1 の問題の数に基づいて分岐する Condition(If/Else)ノード。
- True Branch: アクティブなブロッカーを
[YOUR_EMAIL]にメールで送信する P0/P1 ブロッカー エスカレーション レビュー アクション。 - False 分岐: Google ドライブ(ファイルをアップロード)ノード(
release_authorization_log.txtを作成)。
ステップ 3: コネクタ構成を確認して調整する
生成された各ノードがアクティブなデータ コネクタの認証情報に正しくバインドされていることを確認しましょう。
- ビジュアル キャンバスで [Jira(問題の検索)] ノードをクリックします。右側の構成トレイで、Atlassian Jira データストアが選択され、JSON 検索フィルタがプロジェクト
BLPのアクティブな P0/P1 の問題をターゲットにするように構成されていることを確認します。
- [Condition (If/Else)] ノードをクリックします。右側のトレイで、Jira の問題の長さが 0 より大きいかどうかを確認するように分岐式が設定されていることを確認します。
- ビジュアル キャンバスで [True-branch node](
P0/P1 Blocker Escalation Review)をクリックします。右側のトレイで、プロジェクトBLPのアクティブなブロッカーをプロンプトで設定したメールアドレス([YOUR_EMAIL])にメールで送信するように構成されていることを確認します。これは、If/Else の True パスのアクションにすぎません。承認ゲートは別途ありません。
- [Google ドライブ(ファイルをアップロード)] ノード(False 分岐)をクリックします。ドライブ コネクタにバインドされ、現在のタイムスタンプ変数を使用して
release_authorization_log.txtをルート ディレクトリにアップロードするように構成されていることを確認します。
ステップ 4: ワークフロー エージェントをテストして公開する
フローをスキャフォールディングし、ノードを確認したら、プレビュー Playground でロジックをテストし、エージェントを公開して毎日のスケジュールで実行します。
- エディタの上部中央にあるタブバーで、[プレビュー] タブに切り替えます。[シミュレーションを実行] / [ワークフローをトリガー] をクリックして、ライブ シードデータに対してフローを実行し、実行ルートがキャンバス上の緑色のトレース パスとして点灯するのを確認します。
- If/Else ロジックをトレースします。
- 以前に重大な P1 バグ(
BLP-2)をシードしたため、Search BLP Blockers ノードは結果を返します。そのため、Check Blocker Count 条件は 0 より大きいと評価され、True ブランチはP0/P1 Blocker Escalation Reviewアクション([YOUR_EMAIL]へのブロッカーのメール送信)を実行します。 - 代わりに False ブランチを実行するには、一致する問題がないキー(
BLP_NONEなど)に Jira フィルタを調整し、再実行して、トレースが Log Release Authorization に流れ、release_authorization_log.txtが Google ドライブに書き込まれることを確認します。
- 以前に重大な P1 バグ(
- フローに問題がなければ、エディタの右上にある [公開] をクリックします。[エージェントを公開] ダイアログで、[公開] をクリックして、エージェントの新しい公開バージョンを作成します(公開せずに構成のスナップショットを作成するだけの場合は、[バージョンのみを保存] を選択します)。
- 左側のナビゲーションから [エージェント] ギャラリーを開きます。[あなたのエージェント] で、Bumble Release Gatekeeper ワークフロー エージェントが(先ほど作成した Lead Scrum Master エージェントとともに)表示され、毎日のスケジュールで実行できる状態になっていることを確認します。
17. チャレンジラボ: ADK を使用してビルドとデプロイを行う(省略可)
ステップ 1: 環境を設定する
このチャレンジは、必要なコマンドライン ツールがすべてプリインストールされている Google Cloud Shell 内で実行します。
- Google Cloud Console を開きます。
- 右上にある [Cloud Shell をアクティブにする] アイコン(ターミナル アイコン)をクリックします。
- 環境が読み込まれていることを確認します。ツール設定を検査できます:
ステップ 2: 認証とセットアップ
ビルドする前に、一般的な Antigravity クライアントと専用の Agent CLI の両方を認証する必要があります。
- プロジェクト ID を設定して、Antigravity CLI にログインします。
export GOOGLE_CLOUD_PROJECT=[YOUR_PROJECT_ID] agy login - ターミナルに表示された認証 URL をクリックし、認証情報で認証して、トークンを CLI に貼り付けます。
- インタラクティブ モードで Agent CLI にログインします。
agents-cli login --interactive - ADK スキルをインストールする: セットアップ コマンドを実行して、ADK エージェント ライブラリを読み込みます。
uvx google-agents-cli setup
ステップ 3: Antigravity CLI の方法(自然言語コーディング)
Python コードを手動で記述する代わりに、Antigravity CLI コーディング エージェントにエージェントの自動スキャフォールディング、記述、単体テストを依頼します。
- Antigravity CLI セッションを開始します。
agy - コーディング エージェントにプロンプトを表示する: プロンプト ボックスに次の指示を入力します。
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.
- 自律型コーディングを観察する: Antigravity CLI が次のシーケンスを自動的に実行する際に、ターミナルログを監視します。
- バックグラウンドで
agents-cli scaffold createコマンドを実行します。 app/tools.py内に Python ツール関数を記述します(ハードコードされた"GREEN"ビルド ステータスを返します)。app/agent.pyでエージェントの手順を構成します。- 依存関係をインストールします。
- ワークスペース内で単体テストを作成して実行し、コンパイルが成功したことを示します。
- バックグラウンドで
ステップ 4: 作成されたコードを検査して Playground を実行する
- Cloud Shell エディタを開きます(Cloud Shell の上部メニューで [エディタを開く] をクリックします)。
bumble-ops-assistantフォルダに移動します。CLI で作成されたファイルを確認します。app/tools.py: カスタム Python ツール関数を保持します。app/agent.py: エージェントのシステム プロンプト、システム指示、ツール登録を設定します。
- 次に、ローカル ターミナル プレイグラウンドでエージェントをインタラクティブにテストします。
プレイグラウンドを実行するには:
agents-cli playground --app bumble-ops-assistant
- プレイグラウンド セッションが開始されたら、エージェントに次のように尋ねます。
How is the prod build environment looking?
Gemini はローカル エージェントを読み込み、Python ツール関数をバックグラウンドで実行し、"GREEN" ステータスで応答します。
18. チャレンジラボ: Gemini Enterprise に公開する(省略可)
ADK エージェントがローカルでコンパイルされてテストされたので、Agent Runtime にデプロイし、技術者以外のチームメンバーがアクセスできるように、会社の Gemini Enterprise ギャラリーに公開します。デプロイ/公開の正確な手順は環境によって異なる場合があります。
ステップ 1: Agent Runtime にデプロイする
エージェント ロジックを安全にホストするため、マネージド ランタイムにデプロイします。
agents-cli deploy --deployment-target agent_runtime --no-confirm-project
ステップ 2: App Gallery に公開する
ランタイムでホストされているエージェントを、特定のチーム ギャラリーに公開します。
agents-cli publish gemini-enterprise --interactive
- CLI で、プロジェクトで構成されている宛先の Gemini Enterprise App を選択するよう求められます。アプリを選択
- [表示名] を設定します。
Bumble Platform Healthと入力します。
ステップ 3: エージェント レジストリでの検証
Google Cloud コンソールを開きます。Gemini Enterprise Agent Platform ワークスペースに移動し、[エージェント レジストリ] を選択します(これは Gemini Enterprise Agent Platform レジストリにあります。Corp 管理コンソールにはありません)。カスタム Bumble Platform Health エージェントが、事前構築済みのすべてのオプションとともに表示されます。これで、Bumble のプロダクト リーダーとエンジニアリング リーダーに共有する準備が整いました。
詳細については、公式のデベロッパー ガイド(Gemini Enterprise Agent Platform Runtime Docs)を参照してください。
19. クリーンアップ
コネクタの同期とリソースに対する継続的な課金を避けるため、プロビジョニングされたアセットをクリーンアップしてください。
- 構築したカスタム エージェントを削除する: このワークショップで作成したすべてのエージェントを削除して、実行中のエージェントがないようにします。
- Agent Designer の Lead Scrum Master チャット エージェントと 2 つのサブエージェント(Jira-Analyst と GitHub-Analyst)。
- Bumble Release Gatekeeper ワークフロー エージェント。
- Bumble Platform Health(内部 ID は
Bumble-Ops-Assistant)として公開されたデプロイ済みの ADK エージェント - Gemini Enterprise Agent Platform > Agent Registry に移動して、デプロイを削除します。
- Gemini Enterprise アプリを削除する: カスタム Bumble ポータルアプリを作成した場合は、[アプリの管理] ページに移動して [削除] をクリックします。
- データストアを削除する: Google Cloud コンソールの検索で、[Vertex AI Agent Builder] > [データストア] を開き、接続したすべてのデータストア(Jira、Confluence、GitHub、Google ドライブ コネクタ(接続した場合))を削除します。これにより、同期や課金が継続されることはありません。
- GCP プロジェクトを削除する(省略可): このワークショップを専用のサンドボックス プロジェクト内で実行した場合は、Google Cloud Resource Manager からプロジェクト全体を削除するだけで、すべてのリソースを一度にクリーンアップできます。
注意 完全な削除: データストア、アプリ、プロジェクトの削除は完全に永続的です。削除すると、これらの構成を復元することはできず、有効なワークショップ構成は直ちに破棄されます。
20. 完了
Bumble Gemini Enterprise Day 1 ワークショップが完了しました。
学習した内容
- Jira、Confluence、GitHub、Google ドライブのデータコネクタを構成する。
- ドキュメント、ワークスペース、ライブ実行データに基づく分析。
- サブエージェントを使用してマルチステップ エージェントを構築する。
- すぐに使える Project Updates スキル テンプレートを呼び出して、プロジェクトのステータス概要を生成します。
- Gemini Assistant Canvas で ADR を共同作成し、それらから新しい Confluence ページを作成する。
- 自然言語フロービルダーを使用して決定論的ワークフローをスキャフォールディングします。
- ADK と Antigravity CLI(
agy)を使用して、プロフェッショナル エージェントを開発、デプロイ、公開する。