このページでは、Google Chat で動作し、Vertex AI Agent Engine でホストされている Agent Development Kit(ADK)AI エージェントと連携する Google Workspace アドオンを構築する方法について説明します。
AI エージェントは、環境を自律的に認識し、推論し、定義された目標を達成するために複雑な複数ステップのアクションを実行します。このチュートリアルでは、Gemini と Google 検索のグラウンディングを使用して事実を批判し、修正する ADK LLM Auditor マルチエージェント サンプルをデプロイします。

次の図は、アーキテクチャとメッセージング パターンを示しています。
上の図では、ADK AI エージェントで実装された Chat 用アプリを操作するユーザーに対して、次のような情報の流れが発生します。
- ユーザーが、ダイレクト メッセージまたは Chat スペースで Chat 用アプリにメッセージを送信します。
- Apps Script または HTTP エンドポイントを備えたウェブサーバーとして実装された Chat 用アプリのロジックが、メッセージを受信して処理します。
- ADK で実装され、Vertex AI Agent Engine でホストされている AI エージェントが、インタラクションを受信して処理します。
- 必要に応じて、Chat 用アプリまたは AI エージェントを Google Workspace サービス(カレンダーやスプレッドシートなど)や、Google サービス(Google マップや YouTube など)と統合できます。
- Chat 用アプリは、Google Chat API を使用して非同期でレスポンスを送信し、AI エージェントの進行状況を伝えます。
- 回答がユーザーに配信されます。
目標
- 環境をセットアップする。
- ADK AI エージェントをデプロイします。
- Chat 用アプリをデプロイします。
- Chat 用アプリを構成します。
- Chat 用アプリをテストします。
前提条件
- Google Chat へのアクセス権を持つ Business または Enterprise の Google Workspace アカウント。
- 課金を有効にした Google Cloud プロジェクト。既存のプロジェクトで課金が有効になっていることを確認するには、プロジェクトの課金ステータスを確認するをご覧ください。プロジェクトを作成して課金管理を設定するには、Google Cloud プロジェクトを作成するをご覧ください。
環境の設定
Google Cloud APIs を有効にする
Google API を使用する前に、Google Cloud プロジェクトで API を有効にする必要があります。1 つの Google Cloud プロジェクトで 1 つ以上の API を有効にできます。Google Cloud コンソールで、Google Chat、Vertex AI、Cloud Resource Manager の各 API を有効にします。
OAuth 同意画面を構成する
OAuth 2.0 を使用するすべてのアプリで、同意画面の構成が必要です。アプリの OAuth 同意画面を構成することで、ユーザーとアプリの審査担当者に表示されるものを定義し、後でアプリを公開できるようにアプリを登録します。
- Google API Console で、メニュー > Google Auth プラットフォーム > ブランディング に移動します。
- Google Auth プラットフォームをすでに構成している場合は、[ブランディング]、[対象]、[データアクセス] で次の OAuth 同意画面の設定を構成できます。「Google Auth platform not configured yet」というメッセージが表示された場合は、[Get Started] をクリックします。
- [アプリ情報] の [アプリ名] に、アプリの名前を入力します。
- [ユーザー サポートメール] で、ユーザーが同意について問い合わせる際に使用するサポートのメールアドレスを選択します。
- [続行] をクリックします。
- [対象] で [内部] を選択します。
- [続行] をクリックします。
- [連絡先情報] で、プロジェクトに対する変更の通知を受け取るメールアドレスを入力します。
- [続行] をクリックします。
- [完了] で、Google API サービスのユーザーデータに関するポリシーを確認し、同意する場合は [Google API サービス: ユーザーデータに関するポリシーに同意します] を選択します。
- [続行] をクリックします。
- [作成] をクリックします。
- 現時点では、スコープの追加はスキップできます。今後、Google Workspace 組織外で使用するアプリを作成する場合は、[ユーザータイプ] を [外部] に変更する必要があります。次に、アプリに必要な認可スコープを追加します。詳細については、OAuth 同意画面を構成するの完全なガイドをご覧ください。
Google Cloud コンソールでサービス アカウントを作成する
次の手順に沿って、ロール Vertex AI User を持つ新しいサービス アカウントを作成します。
Google Cloud Console
-
Google Cloud コンソールで、メニュー
> [IAM と管理]
> [サービス アカウント] に移動します。
残りの手順は、Google Cloud コンソールに表示されます。
- Google Cloud プロジェクトを選択します。
- [サービス アカウントを作成] をクリックします。
- Google Cloud コンソールに表示するサービス アカウント名を入力します。
- アクセス制御を今すぐ設定しない場合は、[完了] をクリックしてサービス アカウントの作成を終了します。アクセス制御を今すぐ設定するには、[作成して続行] をクリックして次の手順に進みます。
- 省略可: サービス アカウントにロールを割り当て、Google Workspace リソースに加えて Google Cloud プロジェクトのリソースへのアクセス権を付与します。詳細については、プロジェクト、フォルダ、組織へのアクセスを管理するをご覧ください。
- [続行] をクリックします。
- 省略可: このサービス アカウントで管理とアクションの実行を行うことができるユーザーまたはグループを入力します。詳細については、サービス アカウントの権限借用をご覧ください。
- [完了] をクリックして、サービス アカウントの作成を完了します。
サービス アカウントのメールアドレスをメモします。
gcloud CLI
- サービス アカウントを作成します。
gcloud iam service-accounts createSERVICE_ACCOUNT_NAME\ --display-name="SERVICE_ACCOUNT_NAME" - 省略可: サービス アカウントにロールを割り当て、Google Workspace リソースに加えて Google Cloud プロジェクトのリソースへのアクセス権を付与します。詳細については、プロジェクト、フォルダ、組織へのアクセスを管理するをご覧ください。
サービス アカウントが [サービス アカウント] ページに表示されます。
秘密鍵を作成する
サービス アカウントの秘密鍵を作成してダウンロードする手順は次のとおりです。
-
Google Cloud コンソールで、メニュー
> [IAM と管理] > [サービス アカウント] に移動します。
残りの手順は、Google Cloud コンソールに表示されます。
- Google Cloud プロジェクトを選択します。
- キーを作成するサービス アカウントのメールアドレスをクリックします。
- [キー] タブをクリックします。
- [鍵を追加] プルダウン メニューをクリックして、[新しい鍵を作成] を選択します。
- 鍵のタイプとして [JSON] を選択し、[作成] をクリックします。
新しい公開鍵と秘密鍵のペアが生成され、サービス アカウント キーファイルとしてパソコンにダウンロードされます。ダウンロードした JSON ファイルを作業ディレクトリに
credentials.jsonとして保存します。このファイルはこの鍵の唯一のコピーです。鍵ファイルをダウンロードした後、再度ダウンロードすることはできません。鍵を安全に保存する方法については、サービス アカウント キーの管理に関するベスト プラクティスをご覧ください。
サービス アカウントの詳細については、Google Cloud IAM ドキュメントのサービス アカウントをご覧ください。
ADK AI エージェントをデプロイする
Vertex AI Agent Garden で LLM Auditor サンプルを開きます。
[デプロイ] をクリックします。
確認を求められたら、Google Cloud プロジェクトを選択します。
[Cloud Shell にデプロイ] をクリックします。
求められたら、[承認] をクリックして、Cloud Shell の OAuth フローを実行します。
Cloud Shell が完全に読み込まれたら、Enter キーを押して、プリロードされたコマンドラインを実行し、デプロイを開始します。
リージョンを入力するよう求められたら、Enter キーを押してデフォルトを使用します。
完了したら、Vertex AI Agent Engine に移動します。
をクリックして、新しくデプロイしたエージェントのリソース名をテーブルからコピーします。
Chat 用アプリ プロジェクトを作成して構成する
次のボタンをクリックして、ADK AI エージェント クイックスタート Apps Script プロジェクトを開きます。
[概要] >
[コピーを作成] をクリックします。
Apps Script プロジェクトで、
[プロジェクトの設定] > [スクリプトのプロパティを編集] > [スクリプトのプロパティを追加] の順にクリックして、次のスクリプトのプロパティを追加します。
REASONING_ENGINE_RESOURCE_NAMEは、前の手順でコピーした Vertex AI エージェントのリソース名に置き換えます。SERVICE_ACCOUNT_KEYは、前の手順でダウンロードしたサービス アカウントの JSON キー({ ... }など)に置き換えます。
[スクリプト プロパティを保存] をクリックします。
Google API Console で、メニュー > [IAM と管理] > [設定] に移動します。
[プロジェクト番号] フィールドで、値をコピーします。
Apps Script プロジェクトで、
[プロジェクトの設定] をクリックします。
[Google Cloud Platform(GCP)プロジェクト] で、[プロジェクトを変更] をクリックします。
[GCP プロジェクト番号] に、前の手順でコピーした Google Cloud プロジェクト番号を貼り付けます。
[プロジェクトを設定] をクリックします。これで、クラウド プロジェクトと Apps Script プロジェクトが接続されました。
テスト デプロイを作成する
次のステップで使用できるように、この Apps Script プロジェクトのデプロイ ID が必要です。
ヘッド デプロイ ID を取得するには、次の操作を行います。
- Chat 用アプリの Apps Script プロジェクトで、[デプロイ] > [デプロイをテスト] をクリックします。
- [ヘッド デプロイ ID] で、
[コピー] をクリックします。
- [完了] をクリックします。
Chat 用アプリを構成する
Apps Script のデプロイを使用して、次の手順でテスト用の Google Chat アプリをデプロイします。
- API Console で
Google Chat APIを検索し、[Google Chat API] をクリックします。 - [管理] をクリックします。
[構成] をクリックして、Chat 用アプリを設定します。
- [アプリ名] フィールドに「
ADK Quickstart」と入力します。 - [アバターの URL] フィールドに「
https://developers.google.com/workspace/add-ons/images/quickstart-app-avatar.png」と入力します。 - [説明] フィールドに「
ADK Quickstart」と入力します。 - [機能] で、[スペースとグループの会話に参加する] を選択します。
- [接続設定] で [Apps Script プロジェクト] を選択します。
- [Deployment ID] フィールドに、前にコピーした Head デプロイ ID を貼り付けます。
- [公開設定] で、[ドメイン内の特定のユーザーとグループ] を選択し、メールアドレスを入力します。
- [アプリ名] フィールドに「
[保存] をクリックします。
Chat アプリでメッセージに返信できるようになりました。
Chat アプリをテストする
Chat 用アプリをテストするには、Chat 用アプリとのダイレクト メッセージ スペースを開いてメッセージを送信します。
信頼できるテスターとして登録した際に指定した Google Workspace アカウントを使用して、Google Chat を開きます。
- [ チャットを新規作成] をクリックします。
- [ユーザーを 1 人以上追加] フィールドに、Chat 用アプリの名前を入力します。
検索結果から Chat 用アプリを選択します。ダイレクト メッセージが開きます。
そのアプリの新しいダイレクト メッセージに、「
The Eiffel Tower was completed in 1900」と入力してenterを押します。Chat 用アプリは、Critic と Reviser のサブエージェントのレスポンスで返信します。
信頼できるテスターを追加して、インタラクティブ機能のテストについて詳しくは、Google Chat 用アプリのインタラクティブ機能をテストするをご覧ください。
トラブルシューティング
Google Chat アプリまたはカードがエラーを返すと、Chat インターフェースに「エラーが発生しました」というメッセージが表示されます。または「リクエストを処理できません。」と表示されます。Chat UI にエラー メッセージが表示されない場合でも、Chat 用アプリやカードで予期しない結果が生じることがあります。たとえば、カード メッセージが表示されないことがあります。
Chat UI にエラー メッセージが表示されない場合でも、Chat 用アプリのエラー ロギングが有効になっている場合は、エラーの修正に役立つ説明的なエラー メッセージとログデータを利用できます。エラーの表示、デバッグ、修正については、Google Chat のエラーのトラブルシューティングと修正をご覧ください。
クリーンアップ
このチュートリアルで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、クラウド プロジェクトを削除することをおすすめします。
- Google API Console で、[リソースの管理] ページに移動します。メニュー アイコン > [IAM と管理] > [リソースの管理] をクリックします。
- プロジェクト リストで、削除するプロジェクトを選択し、[削除] をクリックします。
- ダイアログでプロジェクト ID を入力し、[シャットダウン] をクリックしてプロジェクトを削除します。
関連トピック
- A2A によって公開された ADK AI エージェントを使用して Google Chat 用アプリを構築する
- A2UI によって公開された ADK AI エージェントを使用して Google Chat 用アプリを構築する
- Workspace データストア、API、Chat 用アプリと緊密に統合された Gemini Enterprise エージェントを構築する
- Workspace のデータストア、API、Chat 用アプリと緊密に統合された Vertex AI エージェントを構築する
- ADK AI エージェントと Gemini モデルを使用してステートメントのファクト チェックを行う
- Google Workspace 全体で利用できる AI エージェントで旅行を計画する
- Gemini Enterprise AI エージェントを使用して Google Chat 用アプリを構築する
- Chat 用アプリに AI の基本的なコンセプトを組み込む
- Gemini AI Chat アプリで Chat の会話に基づいて質問に回答する
- Google Chat、Vertex AI、Apps Script、ユーザー認証を使用してインシデントに対応する
- Google Chat、Vertex AI、Firestore でプロジェクトを管理する