はじめに

こんにちは!開発エンジニアのクリスです!

Google Cloud Next Tokyo ’25 に参加してきました。数あるセッションの中でも、特に楽しみにしていたハンズオン「ローコードで AI エージェント開発!Conversational Agents と Application Integration の活用」を体験してきましたので、その様子をレポートします!

「AIエージェント」は、Google Cloud コンソールの画面から、開発できちゃう自律思考で行動するAIです。プログラミングの知識が少なくても、クリック操作と少しの設定でAIエージェントが作れてしまうんです。その開発体験が非常に面白かったので、皆さんに共有したいと思います!

セッション概要

  • タイトル: ローコードで AI エージェント開発!Conversational Agents と Application Integration の活用
  • 登壇者: 岡本 充洋 氏 (Google Cloud AI Agent Platform スペシャリスト)
  • 概要: Conversational Agents(旧 Dialogflow CX)と Application Integration を使い、ローコードで会話型AIエージェントを開発。さらに、既存システム(今回はBigQuery)のデータを操作するところまでを体験する。

セッションの冒頭では、Google Cloudが提供するAIエージェント開発の全体像について説明がありました。

エンドユーザーが利用するAgentspaceから、ビジネスユーザー向けのローコード開発ツール「Conversational agent」、専門的な開発者向けの「Google Agent development kit」まで、様々なスキルレベルに対応したツールが用意されているとのこと。今回は、「Conversational agent」のローコード開発をメインに体験しました。

ハンズオンレポート:出張申請AIエージェントを作ってみよう!

今回のハンズオンでは、「出張申請の内容をヒアリングし、データベースに記録してくれるAIエージェント」の作成に挑戦しました。Qwiklabsというオンライン学習環境を使って、実際に手を動かしながら進めていきます。

Step 1: データの受け皿(BigQueryテーブル)を作成

まずは、AIエージェントが受け取った出張申請データを保存するためのテーブルをBigQueryに作成します。以下のJSON形式でテーブルの構造(スキーマ)を定義し、コマンドを実行するだけで、あっという間にテーブルが完成しました。

cat > travel_requests_schema.json << EOF
[
{
"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"
}
]
EOF

Step 2: システム連携の要!Application Integrationを設定

次に、 Application Integration を設定します。

Application Integrationは並列処理、ループ処理など高度な処理も可能ですが、今回はクリック&AIでローコード開発で実施しています。

トリガーは「API」を選択し、下記のサンプルJSONを入れます。

{
"user": "Ursula Matthews",
"travel_purpose": "farm inspection",
"departure_city": "Santiago",
"destination_city": "Doha",
"departure_date": "2025-09-08",
"return_date": "2025-09-16"
}

BigQueryとのConnectionを設定します。

これで最後に出来上がるAgentspaceのアプリが実際のやり取りを実施する際に、この構造のデータにユーザーのプロンプトを変換可能になります。

その後、Data Transformerを設定します。

Inputデータを欲しいOutputデータの形、ここではAgentspaceのユーザープロンプトのデータからBigQueryのテーブル構造と同じように変換するための設定です。

この演習は同じデータ構造を利用しているので、マウスで線一本引けば完成です!

最後はGUI上で「APIトリガー」→「Data Transformer」→「BigQueryに保存」といった処理の箱を、マウスでドラッグして線で繋ぐだけで、一連のワークフローが完成してしまいました。ローコード開発のパワフルさを実感しました。

Step 3: AIエージェントに「道具」を持たせる

いよいよAIエージェント本体、Conversational Agents の設定です。

従来は、ユーザーとの会話シナリオを細かく分岐させて作る必要がありましたが、今回はAIの力を使って作成します。

先ほどApplication Integrationで作成した連携フローを「Tool」としてConversational Agentsに登録します。これにより、AIエージェントは「ユーザーから出張申請を受けたら、この道具を使ってBigQueryに記録する」というタスクを実行できるようになりました。

Application Intergration 画面でConversational Agents をツールとして作成:

Conversational Agents 画面からツールが登録されることを確認:

次は、Conversational Agents Playbooks を作成します。

カスタム指示を「Instruction」の箇所に入れます。

これで準備万端です!

Step 4: シミュレーションで動作確認!

設定が完了したら、シミュレーターでAIエージェントと会話してみます。「出張の申請をしたい」と話しかけると、AIエージェントが「目的はなんですか?」「出発地と目的地はどこですか?」といった質問を自動で生成し、必要な情報を聞き出してくれます。

そして、全ての情報が揃うと、先ほど登録した「出張リクエスト記録ツール」が起動され、BigQueryにデータが正しく登録されたことを確認できました。

実行されたプロセスの詳細を開くと、事前に登録されたJSONのフォーマットでデータが処理されることがわかります。

自然言語の曖昧な表現から、構造化されたデータへ変換し、データベースに登録するという一連の流れが、本当にローコードで実現できて感動しました!

⚠️ 実際のユーザーが利用する画面のAgentspaceの構築は、今回のハンズオンにリリースされることを間に合わず、実施されませんでしたが、上記のような形でGoogle Cloud コンソール上で設定ボタンをクリックすれば、このシステムを組み込むことが可能になります!⚠️

実際のユーザー画面はこんなイメージです!

やり取りの履歴は左側の「Recent」タブに保存され、後からも参照できるようになります。

未来の働き方?Agentspaceの可能性

ハンズオンの最後には、これらのAIエージェントを統合的に管理・実行するプラットフォーム「Agentspace」の紹介がありました。

Agentspaceは、以下の3つの特徴を持つとのことです。

  1. 検索(Search): BigQueryだけでなく、様々なデータソースを横断的に検索する能力。
  2. 理解(Understand): ユーザーの意図を正確に理解する能力。
  3. 行動(Act): 今回実装した出張申請のように、Agentspace外部システム、AI Applicationなどを操作して具体的なタスクを実行する能力。

今回のハンズオンで実装したのは、この「行動」の部分です。将来的には、Agentspace上で様々な能力を持ったエージェントと対話するだけで、複雑な業務が完了する未来が来るのかもしれない、とワクワクしました。

さいごに

今回のハンズオンは、「AIエージェント開発」のハードルを大きく下げてくれる、非常に学びの多いセッションでした。特に、Application Integrationのように、既存のシステム資産を活かしながら最新のAI技術と連携できるツールの重要性を強く感じました。

自然言語で指示するだけで、裏側で複雑なシステムが連携してタスクを実行してくれる。そんなSFのような世界が、もうすぐそこまで来ていることを実感できた貴重な体験でした。登壇してくださった岡本さん、素晴らしいハンズオンをありがとうございました!

この経験を活かして、自分の業務でもAIエージェントの活用を検討していきたいと思います!