【Google Cloud】Agentspaceについてご存じですか?③「Agent呼び出し編」

こんにちは。SCSKの島村です。

Google Cloud にて利用できる生成AIサービス『Google Agentspace』についてご存知でしょうか??
Agentspaceを利用することで、

  • 組織全体のコンテンツを連携させ、根拠に基づいたパーソナライズされた回答を生成する。
  • ワークフローアクションと連携してタスクを実行することで、従業員が必要な情報を適切なタイミングで入手する。

ことが可能となります。

Google Cloud 公式サイト:Google Agentspace | Google Cloud

Google Agentspace の利用に際しては 『早期アクセス(Early Access)の申請が必要』となります。
(執筆時 2025.4.9時点)
詳細については、以下の応募フォームをご確認ください。
 Google Agentspace early access
また、本ブログに添付しているコンソール画面についても執筆時時点のものとなります。
更新されている内容については、公式のドキュメントをご確認ください。

本記事では、
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                                  

「やってみた」の概要

今回作成するデモはコース内の1つのラボを参考にしております。

ラボ名:『Extend Agentspace assistant capabilities with Conversational Agents』
作りたいもの

  • 従業員の出張リクエストを処理するためのAssistantを作成する。
    DFCX(Dialogflow)エージェントが Cloud Run 関数とやり取りできるようにし、
    バックエンドで出張リクエストを BigQuery に直接書き込む。

▽ Agentの呼び出しイメージ

Agentの呼び出し部分について最小限の機能のみ紹介させていただきます。
Instructionのチューニング並びに詳細な設計については本ブログでは割愛いたします。

作成手順

Google Cloud にて『AgentspaceからのAgent呼び出し機能』を作成する手順は以下となります。

  1. リクエスト記録用BigQueryテーブルを作成し、Cloud Run 関数(アシスタント機能)をデプロイする。
  2. DFCXエージェントが Cloud Run 関数を呼び出せるように、OpenAPI ツールを作成する。
  3. BigQueryデータストアを作成して、Agentspace アプリをデプロイする。
  4. Playbook を使用して、シンプルな生成AI会話エージェントを作成する。
  5. DFCXエージェントを Agentspace アプリに統合する。

使用するGoogle Cloudのサービスについて

  • Cloud Run 関数
    コンテナ化されたアプリケーションをサーバーレスで実行できるフルマネージドプラットフォーム
    本デモでは、出張リクエストを記録するためのBigQueryへの書き込みを行うための関数としてデプロイします。
  • 会話エージェント(Dialogflow)
    ウェブサイト、モバイルアプリ、メッセージングプラットフォーム、IoT デバイスなど、さまざまなチャネルでユーザーと自然な会話ができる会話型インターフェース(チャットボット、音声アシスタントなど)を構築するためのプラットフォームです。
    本デモでは、記録用関数(Cloud Run)を呼び出すための設定(Tool)並びにユーザとのやり取りを実現するシンプルな生成会話エージェントを作成するために利用します。
  • BigQuery
    スケーラブルで費用対効果の高いサーバーレスのデータウェアハウス(DWH)です。
    本デモでは、出張リクエストを記録するためのDBとして利用します。

実際に作ってみる

作成手順に沿って実際に作成してみました。

  1. リクエスト記録用BigQueryテーブルを作成し、Cloud Run 関数(アシスタント機能)をデプロイする。
  2. DFCXエージェントが Cloud Run 関数を呼び出せるように、OpenAPI ツールを作成する。
  3. BigQueryデータストアを作成して、Agentspace アプリをデプロイする。
  4. Playbook を使用して、シンプルな生成AI会話エージェントを作成する。
  5. 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 に置き換える。

ツールが Cloud Run 関数を呼び出せるようにするには
「Dialogflow Service Agent に対してCloud Run Invoker(起動元)ロール」を付与する必要があります。https://cloud.google.com/dialogflow/cx/docs/concept/playbook/tool?hl=ja#openapi
エージェントは、OpenAPI スキーマを提供することで、OpenAPI ツールを使用して外部 API(Cloud Run関数) に接続可能となります。
記載方法は以下を参考ください。
https://cloud.google.com/dialogflow/cx/docs/concept/playbook/tool?hl=ja#openapi
 

3. BigQueryデータストアを作成して、Agentspace アプリをデプロイする。

 

BigQueryデータストアを作成する。

先程作成したBigQueryテーブルをデータストアとしてAgentspaceアプリに登録します。

  1. 左側のナビゲーション パネルから [データ ストア] を選択します。
  2. [+ データ ストアを作成] をクリックします。

  3. BigQuery を検索して BigQuery カードを見つけ、[選択] をクリックします。
  4. データの種類については、デフォルトの選択である [構造化 – BigQuery テーブルと独自のスキーマ] をそのままにします。
  5. BigQuery パスについては、[参照] を選択します。
  6. データセット Bigquery Dataset を検索します。
  7. テーブル Bigquery Table を選択します。
  8. [選択] をクリックします。
  9. [続行] をクリックします。
  10. スキーマはそのままにして、[続行] をクリックできます。

▽ 作成すると以下一覧からも確認可能です。

 

Agentspace アプリをデプロイする
  1. [AI アプリケーション] > [アプリ] > [+ アプリの作成] に移動します。
  2. Agentspace カードを見つけて [作成] をクリックし、Agentspace アプリを作成します。

  3. アプリ名には、「Agentspace アプリ名」と入力します。
  4. 会社名には、「Agentspace 会社名」と入力します。
  5. 場所はグローバルに設定したままにします。
  6. [階層の選択] で、[検索 + アシスタント] を選択します。

  7. [続行] をクリックします。
  8. ID プロバイダの場合は、Google ID プロバイダ カードの [選択] をクリックします。
  9. [データ] ペインで、上で作成した Travel Requests データ ストアを選択します。
  10. [作成] をクリックします。

 

4. Playbook を使用して、シンプルな生成AI会話エージェントを作成する。

自然言語でリクエストを受け取り、ツールを使用して Cloud Run 関数を介して BigQuery テーブルに書き込むことができる会話エージェントを作成する。

  1. 会話エージェント コンソールのブラウザ タブで、左側のナビゲーション メニューを使用してプレイブックを選択します。

  2. すでに作成されているデフォルトの生成プレイブックを選択します。
  3. プレイブックの名前を「旅行データの確認」に変更します。
  4. 目標には、「ユーザーが旅行を予約できるように支援する」と入力します。
  5. 手順については、テキスト フィールドに次の内容を貼り付けます。
    – 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.
  6. これらのプレイブックの手順は Agentspace で使用するために設計されています。後後で、このプレイブックを呼び出す前に関連情報を収集する機能を Agentspace エージェントに付与します。
  7. プレイブック ペインの上部にある [保存] をクリックします。

 

5. DFCXエージェントを Agentspace アプリに統合する。

Agentspace アシスタントに、会話エージェントにメッセージを送信し、その応答を受信する権限を付与する。

  1. AI アプリケーション > アプリに移動し、Agentspace アプリ名 アプリを選択します。
  2. 左側のナビゲーションから、[構成]を選択します。
  3. アシスタント タブを選択します。
  4. エージェント ヘッダーの下で、アイテムの追加を選択します。新しいエージェントを接続するためのカードが表示されます。
  5. 会話エージェントコンソールの上部にあるエージェント ドロップダウンから、[すべてのエージェントを表示] を選択します。
  6. Corporate Travel Bot エージェントの行の最後にあるオプション アイコン (縦に並んだ 3 つのドット) を選択し、[名前をコピー] を選択します。

  7. AI アプリケーション タブに戻り、新しいエージェント カードのエージェント フィールドにコピーした値を貼り付けます。
  8. エージェントの表示名には、Corporate Travel Bot を使用します。
  9. 手順には次のように入力します。
    Use for booking travel by providing a user, travel purpose, departure city, destination city, and a date range.
  10. [完了] をクリックします。

 

Agentspace アプリからAgentを呼び出してみる。

Agentspace アシスタントは会話(DFCX)エージェントと通信できるようになり、会話エージェントはツールを使用して出張リクエストを記録できるようになりました。実際に呼び出してみましょう。

  1. Agentspace アプリの Agentspace アプリ名を選択します。左側のナビゲーション メニューから [統合] タブに移動します。
  2. Web アプリ ヘッダーへのリンクの下で、[開く] をクリックします。
    * Agentspace アプリの作成には最大 10 分かかる場合があります。
  3. メインバーの検索バーに出張リクエスト入力してみます。

正しく、回答できてそうです!!!
きちんと出張リクエストが書き込まれているかBigQueryテーブルを見てみましょう。
リクエストが記録されていることを確認するには、BigQuery Bigquery テーブルが表示されているブラウザ タブに戻ります。[プレビュー] タブで、[更新] アイコン BigQuery 更新アイコン をクリックして、最新のデータを表示します。

[診断情報]から、作成したAgentがきちんと呼び出されていることが分かります。

今回のデモはここまでです。Agentspaceから作成したAgentを呼び出すところを確認できたかなと思います。

 

最後に

今回は『Google Cloud のAgentspace』について簡単なデモをご紹介させていただきました。
AgentspaceアプリからAgentを実行し、実行結果を確認する。 そんなデモを実感頂けたと思います。

外部データに対してAPIを経由してアクセスすることもでき、純粋なRAG基盤を超えたAgentとしての使い方も広がるそんな機能ではないでしょうか。
色んな関数(tools)を定義し、Agentとしての機能を広げていくことができるデモのご紹介でした。
また、Agentspaceには本ブログにてご紹介できなかった機能がたくさんあります!!!続報をぜひお待ちいただけますと幸いです。

今後とも、AIMLに関する情報やGoogle CloudのAIMLサービスのアップデート情報を掲載していきたいと思います。
最後まで読んでいただき、ありがとうございました!!!


[共同執筆者紹介]

クラウド(主に生成AI)の専門部隊に所属し、
ボイスボット導入やVOC分析など、生成AIを絡めた業務効率化の案件を担当しています。

Google Cloudを触り始めて2年目です。
ブログを通じて技術をインプットしたり、案件や自己研鑽で培ったノウハウを積極的にアウトプットしていきたいと思います。


Google Cloud歴3年目(社会人4年目)です。
日々捌ききれないほどのインプットを浴びているので、本ブログをアウトプットの場として活用しています。
-----
好きな(よく触っている)サービス:BigQuery、Cloud Functions、Data Fusion
保有資格:応用情報技術者、Google Cloud 認定資格全冠(12冠)
受賞歴:Google Cloud Partner Top Engineer 2025(カテゴリ:General)受賞

著者について

SCSK株式会社のクラウド専門部隊に所属
Google Cloudの
・AI MLサービス選定/導入コンサルティング/導入サポート/AI 基盤・運用構築 まで多く案件を担当
Google Cloud Partner Top Engineer 2024・2025 受賞 カテゴリ:Cloud AI/ML
Google Cloud Next Tokyo 出展
Google Cloud Day ’23 Tour 登壇
「AI は選んで組み込んで実装!最新 AI を道具として有効利用するためには!?」
■好きな Google Cloud サービス:Vertex AI / Dialogflow CX / Visual Inspection AI / Cloud Run

島村裕哉をフォローする

クラウドに強いによるエンジニアブログです。

SCSKクラウドサービス(Google Cloud)は、Google Cloudの多彩なAIや各種サービスを活用したワンストップソリューションを提供します。SCSKのノウハウや体制を有効活用し、業務課題の解決に必要な全体検討と組み合わせで、最適な業務実装まで支援します。

AI・MLGoogle Cloudクラウドソリューション
シェアする
タイトルとURLをコピーしました