Technical Blog テクニカルブログ
  1. HOME
  2. テクニカルブログ
  3. Treasure Data CDP<第30弾>プロンプト肥大化を防ぐ!AI Agent Foundryで複数の特化型エージェントを使い分ける方法

Treasure Data CDP<第30弾>プロンプト肥大化を防ぐ!AI Agent Foundryで複数の特化型エージェントを使い分ける方法

投稿者:佐々木

NI+C マーケソリューションチームです。

Treasure Dataが提供している「AI Agent Foundry」を実際に触ってみたので、その検証結果をまとめてみました。今回は「AI Agentの複数利用のケース」と、「汎用チャット欄から別のAgentを使用できるようにするための作成方法」について解説します。

1. はじめに

AI Agent Foundry は、Treasure Data 上で AI エージェントを作成・管理・活用できるプラットフォームです。ノーコード / ローコードで扱えるため、必ずしもエンジニアでなくても AI エージェントを構築しやすいのが特徴です。内部では Claude などの LLM を活用しながら、Treasure Data 上のデータやナレッジをもとに回答を生成できます。

今回の記事では、以下の2つをテーマに検証した内容を紹介します。

  • 複数のAI Agentを使用するケースについて
  • 汎用チャットで複数のAgentを切り替える実装方法について

2. 複数のAI Agentを使用するケースについて

AI Agent Foundryでは、目的に応じて複数のAgentを作成し、使い分けることが可能です。「1つの万能なAIにすべてをやらせれば良いのでは?」と思うかもしれませんが、複数のAgentを使い分けることには明確なメリットがあります。今回は大きく2つのケースをご紹介します。

① 汎用Agentと特化Agentの使い分け(タスクを分けるケース)

1つ目は、広く浅く対応する「汎用Agent」と、特定の業務や複雑な処理に特化した「特化Agent」を使い分けるケースです。

例えば、Treasure Data上のデータ抽出をサポートする「SQL作成Agent」を構築するとします。最初は、基本的なデータ抽出(例:「先月のPV数を日別で出して」「特定のセグメントのユーザー数を教えて」など)に対応できる汎用的なAgentで十分かもしれません。

しかし、活用が進むにつれて「LTVを加味した複雑なRFM分析のSQLを書きたい」「特定のキャンペーンにおけるマルチタッチアトリビューション分析のSQLが欲しい」といった、高度で専門的な要件が発生します。

この時、1つのAgentにすべての複雑なテーブル定義やビジネスロジック(ナレッジ)を詰め込むと、プロンプトが肥大化し、簡単な質問に対しても混乱してエラーを起こしたり、処理速度が低下したりする原因になります。
そこで、2個目のAI Agentとして「特定の複雑な分析に特化した専用SQL Agent」を別途作成します。用途に応じてAgentを切り替えることで、精度とレスポンスの速さを両立させたまま、高品質なアウトプットを得ることができます。

② 業務プロセスや役割ごとの使い分け(専門家チームを作るケース)

2つ目は、一連の業務フローの中で、Agentごとに「役割」を与えて連携・使い分けをするケースです。

例えば、マーケティング施策の振り返りから次のアクション(施策)立案までを行う場合、これを1つのAgentに任せるのではなく、以下のように専門化させます。

  • Agent A(データエンジニア役): ユーザーのふんわりとした指示から要件を汲み取り、TD上の正しいテーブルを参照してデータ抽出用のSQLを生成する。
  • Agent B(データアナリスト役): 抽出されたデータ結果(数値)を読み取り、そこから読み取れる傾向やインサイト(成功要因や離脱のボトルネックなど)を言語化する。
  • Agent C(マーケター役): 導き出されたインサイトをもとに、次回のキャンペーン企画のアイデア出しや、配信するメルマガのドラフト文面を作成する。

このように、各Agentを特定のロール(役割)に専念させることで、プロンプトの指示がシンプルになり、各工程での精度が向上します。結果として、まるで社内に「優秀な専門家チーム」を持っているかのような運用が可能になります。


3. 汎用チャットで複数のAgentを切り替える実装方法(ボタン実装編)

ここからは、第2章で紹介した「汎用Agent」と「特化Agent(今回はRFM分析用を想定)」を実際に使い分けるための実装手順をご紹介します。

今回は、汎用Agentのチャット画面内に「特化Agentへ切り替えるためのボタン」を配置し、ユーザーがシームレスにAgentを切り替えられるUIを作成していきます。※下図のような画面を作成します

手順1. 汎用Agentと特化Agentを用意する

まずは前提として、利用したい2つのAI Agent(汎用Agent・特化Agent)を作成しておきます。
※下図の[サブ]とついているものは今回は使用しません。

 
AI Agentの基本的な作成方法について

Agent自体の作成手順については、本記事では割愛します。詳しいプロンプトチューニングや作成手順については、ぜひ以下の過去記事をご参照ください!

Treasure Data CDP<第27弾> AI Agent Foundryを触ってみた ― プロンプトチューニングでAIの振る舞いを自在にカスタマイズする

手順2. ユーザプロンプトの作成

次に「ユーザプロンプト」を作成します。これは、特化Agentに切り替わった直後に、ユーザーの代わりに入力される「最初のメッセージ(定型文)」を定義するものです。外部のインテグレーション(チャットUIなど)からAgentを呼び出す際には、この設定が必要になります。

  1. 特化Agentの設定画面を開き、右上の「エージェント編集」の横にある三点リーダー(︙)をクリックして、「ユーザプロンプトの作成」を押下します。
  2. 以下の項目を入力し、「作成」ボタンを押下します。

    • ユーザプロンプト名: 任意の管理しやすい名前(例:RFM)
    • ユーザ側のプロンプトテキスト: 会話を開始する最初の入力テキスト(例:「RFM分析が出来るSQLを作成したいです」など)※本設定がボタン押下時の最初のプロンプト文になります。

手順3. インテグレーション(ボタン)の作成

続いて「インテグレーション」タブへ遷移し、「インテグレーションの作成」を押下します。ここで、汎用チャット画面に表示させるボタンの設定を行います。

各項目を以下のように設定してください。

  • インテグレーションタイプ: 汎用チャット
  • ウェルカムメッセージ: 汎用チャットを開いた際の初期メッセージ(例:「SQLの作成を支援します。RFM分析SQL作成のAI Agentに切り替えたい場合はボタンを押下してください。」)
  • ユーザプロンプトを選択: 手順2で作成したユーザプロンプトを選択
  • 対応するエージェント: 自動選択されます(特化Agentが選ばれているか確認)
  • ウィジェットタイプ: ボタン
  • ウィジェットラベル: ボタンに表示されるテキスト(例:「RFM分析」)

手順4. 完成と動作確認

上記の手順を完了すると、汎用Agentのチャット欄に特化Agentへ切り替えるためのボタンが無事実装されます。

実際にチャット画面を開き、ボタンを押下して特化Agentへスムーズに切り替わるか確認してみましょう!

■実際の画面(ボタン押下前)
■実際の画面(ボタン押下後)

4. まとめ

いかがでしたでしょうか。
今回は、AI Agent Foundryにおける「AI Agentを複数利用するメリット・ケース」と、「汎用チャット画面から別のAgentをボタン一つで呼び出す実装方法」についてご紹介しました。

1つのAgentにすべてを詰め込むのではなく、役割や専門性に応じてAgentを分割・連携させることで、精度の高い回答を引き出しつつ、ユーザーにとっても使いやすいAI環境を構築することができます。

設定自体はノーコードで非常にシンプルに行えますので、ぜひ皆さんの環境でもお試しいただき、AI Agentの幅広い活用に役立ててみてください!

ページのトップへ