こんにちは。SCSKの島村です。
Google Cloud にて利用できる生成AIサービス『Google Agentspace』についてご存知でしょうか??
Agentspaceを利用することで、
- 組織全体のコンテンツを連携させ、根拠に基づいたパーソナライズされた回答を生成する。
- ワークフローアクションと連携してタスクを実行することで、従業員が必要な情報を適切なタイミングで入手する。
ことが可能となります。
Google Cloud 公式サイト:Google Agentspace | Google Cloud
本記事では、
『Google Agentspace』について色々と調査し、実際に触ってみましたので、その魅力について少しだけご紹介させていただければと思います。
また、「Agentspaceについてもっと知りたい!!!」という方はあわせて以下もご覧ください。
この記事に書いてあること
本記事を通して、最終的に以下を実現できるようになると思います。
Dialogflow(DFCX) エージェントをアシスタント機能としてAgentspaceから呼び出してで利用できるようにする。
構成は以下です。
- 「やってみた」の概要
- 使用するGoogle Cloudのサービスについて
- 実際に作ってみる
- Agentspace アプリからAgentを呼び出してみる。
「Google Cloudのトレーニングサービス「Google Cloud Skills Boost」」を参考にしております。
コース名:Accelerate Knowledge Exchange with Agentspace (執筆時 2025.4.9時点では英語のみのコースとなります。) Google Cloud Skills Boost についてもっと知りたい方は以下をご覧下さい。
【GCP】【AIML】 Google Cloud Skills Boostで「生成AI」を学んでみた。 – TechHarmony
「やってみた」の概要
作成手順
Google Cloud にて『AgentspaceからのAgent呼び出し機能』を作成する手順は以下となります。
- リクエスト記録用BigQueryテーブルを作成し、Cloud Run 関数(アシスタント機能)をデプロイする。
- DFCXエージェントが Cloud Run 関数を呼び出せるように、OpenAPI ツールを作成する。
- BigQueryデータストアを作成して、Agentspace アプリをデプロイする。
- Playbook を使用して、シンプルな生成AI会話エージェントを作成する。
- DFCXエージェントを Agentspace アプリに統合する。
使用するGoogle Cloudのサービスについて
- Cloud Run 関数
コンテナ化されたアプリケーションをサーバーレスで実行できるフルマネージドプラットフォーム
本デモでは、出張リクエストを記録するためのBigQueryへの書き込みを行うための関数としてデプロイします。
- 会話エージェント(Dialogflow)
ウェブサイト、モバイルアプリ、メッセージングプラットフォーム、IoT デバイスなど、さまざまなチャネルでユーザーと自然な会話ができる会話型インターフェース(チャットボット、音声アシスタントなど)を構築するためのプラットフォームです。
本デモでは、記録用関数(Cloud Run)を呼び出すための設定(Tool)並びにユーザとのやり取りを実現するシンプルな生成会話エージェントを作成するために利用します。
- BigQuery
スケーラブルで費用対効果の高いサーバーレスのデータウェアハウス(DWH)です。
本デモでは、出張リクエストを記録するためのDBとして利用します。
実際に作ってみる
作成手順に沿って実際に作成してみました。
- リクエスト記録用BigQueryテーブルを作成し、Cloud Run 関数(アシスタント機能)をデプロイする。
- DFCXエージェントが Cloud Run 関数を呼び出せるように、OpenAPI ツールを作成する。
- BigQueryデータストアを作成して、Agentspace アプリをデプロイする。
- Playbook を使用して、シンプルな生成AI会話エージェントを作成する。
- DFCXエージェントを Agentspace アプリに統合する。
1.リクエスト記録用BigQueryテーブルを作成し、 Run 関数(アシスタント機能)をデプロイする。
BigQueyテーブルを以下のスキーマで作成する。
*リクエストから記録した内容に合わせてスキーマは適宜修正ください。
[
{
"name": "user",
"type": "STRING",
"mode": "REQUIRED"
},
{
"name": "travel_purpose",
"type": "STRING",
"mode": "REQUIRED"
},
{
"name": "departure_city",
"type": "STRING",
"mode": "NULLABLE"
},
{
"name": "destination_city",
"type": "STRING",
"mode": "NULLABLE"
},
{
"name": "departure_date",
"type": "STRING",
"mode": "NULLABLE"
},
{
"name": "return_date",
"type": "STRING",
"mode": "NULLABLE"
}
]
Cloud Run関数はリクエストをBigQueryに記録するための関数としてデプロイします。
JSON として送信されたリクエストを受け取り、BigQueryの記録用テーブルに書き込むための処理(関数)を作成する。
▽requirements.txt
functions-framework==3.*
google-cloud-bigquery
▽main.py
POST リクエストに提供された旅行リクエストの詳細を JSON として取得し、それらの値を、BigQuery テーブルの新しい行に書き込みむ。
import functions_framework
from google.cloud import bigquery
@functions_framework.http
def record_travel_request(request):
request_json = request.get_json(silent=True)
request_args = request.args
print("JSON:" + str(request_json))
print("args:" + str(request_args))
bq_client = bigquery.Client()
table_id = "Project_ID.Bigquery_Dataset.Bigquery_Table"
row_to_insert = [
{"user": request_json["user"],
"travel_purpose": request_json["travel_purpose"],
"departure_city": request_json.get("departure_city",""),
"destination_city": request_json.get("destination_city",""),
"departure_date": request_json.get("departure_date",""),
"return_date": request_json.get("return_date",""),
},
]
errors = bq_client.insert_rows_json(table_id, row_to_insert) # Make an API request.
if errors == []:
return {"message": "New row has been added."}
else:
return {"message": "Encountered errors while inserting rows: {}".format(errors)}
上記の関数をデプロイする。
2. DFCXエージェントが Cloud Run 関数を呼び出せるように、OpenAPI ツールを作成する。
Cloud Run 関数を呼び出すためのエージェントをDialogflow Conversational agents を使って作成する。
▽ 左側のナビゲーション メニューから [ツール] を選択します。
▽「Create Tool」からOpenAPI ツールを作成する。
*タイプは OpenAPIのままにする。
▽ Schema参考
openapi: 3.0.0
info:
title: Travel Requests API
version: 1.0.0
servers:
- url: 'YOUR_CLOUD_RUN_FUNCTION_URL'
paths:
/:
post:
summary: Record a new travel request
operationId: recordTravelRequest
requestBody:
description: Travel request to add
required: true
content:
application/json:
schema:
$ref:
'#/components/schemas/TravelRequest'
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
properties:
message:
type: string
example: "Favorite flavor recorded successfully!"
components:
schemas:
TravelRequest:
type: object
required:
- user
- travel_purpose
properties:
user:
type: string
travel_purpose:
type: string
departure_city:
type: string
destination_city:
type: string
departure_date:
type: string
return_date:
type: string
上記の仕様の YOUR_CLOUD_RUN_FUNCTION_URL を、Cloud Run 関数の URL に置き換える。
記載方法は以下を参考ください。
3. BigQueryデータストアを作成して、Agentspace アプリをデプロイする。
BigQueryデータストアを作成する。
先程作成したBigQueryテーブルをデータストアとしてAgentspaceアプリに登録します。
- 左側のナビゲーション パネルから [データ ストア] を選択します。
- [+ データ ストアを作成] をクリックします。
- BigQuery を検索して BigQuery カードを見つけ、[選択] をクリックします。
- データの種類については、デフォルトの選択である [構造化 – BigQuery テーブルと独自のスキーマ] をそのままにします。
- BigQuery パスについては、[参照] を選択します。
- データセット Bigquery Dataset を検索します。
- テーブル Bigquery Table を選択します。
- [選択] をクリックします。
- [続行] をクリックします。
- スキーマはそのままにして、[続行] をクリックできます。
Agentspace アプリをデプロイする
- [AI アプリケーション] > [アプリ] > [+ アプリの作成] に移動します。
- Agentspace カードを見つけて [作成] をクリックし、Agentspace アプリを作成します。
- アプリ名には、「Agentspace アプリ名」と入力します。
- 会社名には、「Agentspace 会社名」と入力します。
- 場所はグローバルに設定したままにします。
- [階層の選択] で、[検索 + アシスタント] を選択します。
- [続行] をクリックします。
- ID プロバイダの場合は、Google ID プロバイダ カードの [選択] をクリックします。
- [データ] ペインで、上で作成した Travel Requests データ ストアを選択します。
- [作成] をクリックします。
4. Playbook を使用して、シンプルな生成AI会話エージェントを作成する。
自然言語でリクエストを受け取り、ツールを使用して Cloud Run 関数を介して BigQuery テーブルに書き込むことができる会話エージェントを作成する。
- 会話エージェント コンソールのブラウザ タブで、左側のナビゲーション メニューを使用してプレイブックを選択します。
- すでに作成されているデフォルトの生成プレイブックを選択します。
- プレイブックの名前を「旅行データの確認」に変更します。
- 目標には、「ユーザーが旅行を予約できるように支援する」と入力します。
- 手順については、テキスト フィールドに次の内容を貼り付けます。
– Ask the user to provide for user name, travelpurpose, departure city, destination city, and a range of dates. Assume a year of 2025 for dates without a year:
– Use ${TOOL:Record Travel Request}
– Let the user know that they should receive a list of flights to choose from in their email within 24 hours.
- これらのプレイブックの手順は Agentspace で使用するために設計されています。後後で、このプレイブックを呼び出す前に関連情報を収集する機能を Agentspace エージェントに付与します。
- プレイブック ペインの上部にある [保存] をクリックします。
5. DFCXエージェントを Agentspace アプリに統合する。
Agentspace アシスタントに、会話エージェントにメッセージを送信し、その応答を受信する権限を付与する。
- AI アプリケーション > アプリに移動し、Agentspace アプリ名 アプリを選択します。
- 左側のナビゲーションから、[構成]を選択します。
- アシスタント タブを選択します。
- エージェント ヘッダーの下で、アイテムの追加を選択します。新しいエージェントを接続するためのカードが表示されます。
- 会話エージェントコンソールの上部にあるエージェント ドロップダウンから、[すべてのエージェントを表示] を選択します。
- Corporate Travel Bot エージェントの行の最後にあるオプション アイコン (縦に並んだ 3 つのドット) を選択し、[名前をコピー] を選択します。
- AI アプリケーション タブに戻り、新しいエージェント カードのエージェント フィールドにコピーした値を貼り付けます。
- エージェントの表示名には、Corporate Travel Bot を使用します。
- 手順には次のように入力します。
Use for booking travel by providing a user, travel purpose, departure city, destination city, and a date range. - [完了] をクリックします。
Agentspace アプリからAgentを呼び出してみる。
きちんと出張リクエストが書き込まれているかBigQueryテーブルを見てみましょう。

今回のデモはここまでです。Agentspaceから作成したAgentを呼び出すところを確認できたかなと思います。
最後に
今回は『Google Cloud のAgentspace』について簡単なデモをご紹介させていただきました。
AgentspaceアプリからAgentを実行し、実行結果を確認する。 そんなデモを実感頂けたと思います。
外部データに対してAPIを経由してアクセスすることもでき、純粋なRAG基盤を超えたAgentとしての使い方も広がるそんな機能ではないでしょうか。
色んな関数(tools)を定義し、Agentとしての機能を広げていくことができるデモのご紹介でした。
また、Agentspaceには本ブログにてご紹介できなかった機能がたくさんあります!!!続報をぜひお待ちいただけますと幸いです。
今後とも、AIMLに関する情報やGoogle CloudのAIMLサービスのアップデート情報を掲載していきたいと思います。
最後まで読んでいただき、ありがとうございました!!!
[共同執筆者紹介]