このページでは、 Google Chat で動作し、 Agent Development Kit(ADK) AI エージェントと連携する Google Workspace アドオンを構築する方法について説明します。このエージェントは、 Vertex AI Agent Engine でホストされています。
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 で、メニュー アイコン menu > [Google Auth Platform] > [ブランディング] に移動します。
- Google Auth Platform をすでに構成している場合は、[ブランディング]、[対象]、[データアクセス] で次の OAuth 同意画面の設定を構成できます。[**Google Auth Platform はまだ構成されていません**] というメッセージが表示されたら、[**スタートガイド**] をクリックします。
- [アプリ情報] の [アプリ名] に、アプリの名前を入力します。
- [**ユーザー サポートメール**] で、ユーザーが同意について問い合わせる際に使用するサポートのメールアドレスを選択します。
- [続行] をクリックします。
- [対象] で [内部] を選択します。
- [続行] をクリックします。
- [連絡先情報] で、プロジェクトに対する変更の通知を受け取る [メールアドレス] を入力します。
- [続行] をクリックします。
- [完了] で、Google API サービスのユーザーデータに関するポリシーを確認し、同意する場合は [Google API サービス: ユーザーデータに関するポリシーに同意します] を選択します。
- [続行] をクリックします。
- [作成] をクリックします。
- 現時点では、スコープの追加はスキップできます。 今後、 Google Workspace 組織外で使用するアプリを作成する場合は、[ユーザータイプ] を [外部] に変更する必要があります。次に、アプリに必要な承認スコープを追加します。詳細については、 OAuth 同意画面を構成するをご覧ください。
Google Cloud コンソールでサービス アカウントを作成する
次の手順で、ロール Vertex AI User を持つ新しいサービス アカウントを作成します。
Google Cloud Console
-
Google Cloud Console で、メニュー アイコン
> [**IAM と管理**]
> [**サービス アカウント**] に移動します。
残りの手順は、Google Cloud Console に表示されます。
- Google Cloud プロジェクトを選択します。
- [サービス アカウントを作成] をクリックします。
- Google Cloud Console に表示するサービス アカウント名を入力します。
- アクセス制御を今すぐ設定しない場合は、[完了] をクリックしてサービス アカウントの作成を終了します。アクセス制御を今すぐ設定するには、[作成して続行] をクリックして次の手順に進みます。
- 省略可: サービス アカウントにロールを割り当て、Google Workspace リソースに加えて Google Cloud プロジェクトのリソースへのアクセス権を付与します。詳細については、プロジェクト、フォルダ、組織へのアクセスの管理をご覧ください。
- [続行] をクリックします。
- 省略可: このサービス アカウントで管理とアクションの実行が可能なユーザーまたはグループを入力します。詳細については、サービス アカウントの権限借用をご覧ください。
- [完了] をクリックして、サービス アカウントの作成を完了します。
サービス アカウントのメールアドレスをメモします。
gcloud CLI
- サービス アカウントを作成します。
gcloud iam service-accounts createSERVICE_ACCOUNT_NAME\ --display-name="SERVICE_ACCOUNT_NAME" - 省略可: サービス アカウントにロールを割り当て、Google Workspace リソースに加えて Google Cloud プロジェクトのリソースへのアクセス権を付与します。詳細については、プロジェクト、フォルダ、組織へのアクセスの管理をご覧ください。
サービス アカウントが [サービス アカウント] ページに表示されます。
秘密鍵を作成する
サービス アカウントの秘密鍵を作成してダウンロードする手順は次のとおりです。
-
Google Cloud Console で、メニュー アイコン menu
> [IAM と管理]
> [サービス アカウント] に移動します。
残りの手順は、Google Cloud Console に表示されます。
- 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 プロジェクトで、
[**プロジェクトの設定**] > [**スクリプト プロパティを編集**] > [**スクリプト プロパティを追加**] をクリックして、次のスクリプト プロパティを追加します。
- 前の手順でコピーした Vertex AI エージェントのリソース名を持つ
REASONING_ENGINE_RESOURCE_NAME。 - 前の手順でダウンロードしたサービス アカウントの JSON キー(
{ ... }など)を持つSERVICE_ACCOUNT_KEY。
- 前の手順でコピーした Vertex AI エージェントのリソース名を持つ
[スクリプト プロパティを保存] をクリックします。
Google API Console で、メニュー アイコン > [IAM と管理] > [設定] に移動します。
[プロジェクト番号] フィールドで、値をコピーします。
Apps Script プロジェクトで、 [
プロジェクトの設定] をクリックします。
[Google Cloud Platform(GCP)プロジェクト] で、[プロジェクトを変更] をクリックします。
[GCP プロジェクト番号] に、 前の手順でコピーした Google Cloud プロジェクト番号を貼り付けます。
[プロジェクトを設定] をクリックします。これで、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 プロジェクト] を選択します。
- [デプロイ ID] フィールドに、先ほどコピーしたヘッド デプロイ 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 アカウントに課金されないようにするには、 Cloud プロジェクトを削除することをおすすめします。
- Google API Console で、[リソースの管理] ページに移動します。 [Menu] > [IAM & Admin] > [Manage Resources] をクリックします。
- プロジェクト リストで、削除するプロジェクトを選択し、 [Delete] . をクリックします。
- ダイアログでプロジェクト 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 を使用してプロジェクトを管理する