【Dataiku】エージェントの基本的な作り方
1.はじめに
本記事では、Dataiku環境において、AIエージェントを作成するための3つのステップ——1. ツール作成、2. エージェント本体の作成、3. エージェントの利用場所の準備——について、設定画面の構成や利用可能な機能の一覧とともに紹介していきます。
2.作成手順
1.toolの作成
まず、エージェント作成で必要なステップはtoolsの作成です。
toolsとは、エージェントが自律的に目標を達成するために使用する機能のことで、検索エンジンによる最新情報の取得したり、外部APIを実行したり、データセットに対してSQLを実行したりさせることができます。
Dataikuでは、開発しやすいようにデフォルトで用意されたmanaging toolsがたくさんあります。
| ツール名 | 分類 | 機能の概要 |
|---|---|---|
| Inline Python | カスタム/拡張 | Pythonコードで独自のカスタム機能を実装・実行します。 |
| Dataset Lookup | データ操作/分析 | データセット内で、指定されたカラムの条件に基づきレコードを検索します。 |
| Knowledge Bank Search | 情報検索 | ナレッジバンク(知識ベース)を検索し、関連情報を取得します。 |
| LLM Mesh Query | AI/エージェント連携 | LLM Meshに登録されているLLM(大規模言語モデル)や他のエージェントにリクエストを送信します。 |
| Dataset Append | データ操作/I/O | Dataikuのデータセットに新しいレコードを書き込み(追記)します。 |
| Send Message | 外部システム連携 | Dataikuのメッセージングチャネル(メール、Slack、Teamsなど)を通じてメッセージを送信します。 |
| Model Predict | AI/分析 | Dataikuの機械学習モデルを使用して、レコードに対する予測を実行します。 |
| Calculator | 汎用計算 | 算術、三角法、ブール値、日付、幾何学などの計算を実行します。 |
| API Endpoint | 外部システム連携 | Dataikuでデプロイされている任意のAPIエンドポイントを利用します。 |
| SQL Query | データ操作/DB | 1つまたは複数のSQLデータセットに含まれるデータに関する質問に答えるSQLクエリを実行します。 |
上記のほかにもプラグインをインストールすることで下記のようなtoolを作成することが可能です。
| ツール名(英語) | 分類 | 機能の概要 |
|---|---|---|
| Google Search | 情報検索 | Google APIを使用してWebから関連情報を検索します。 |
| Create Jira Issue | 外部システム連携 | 接続設定されたJiraプロジェクトに、概要と説明を記載した新しい課題を作成します。 |
| Create Google Calendar Event | 外部システム連携 | エージェントを実行しているユーザーのカレンダーに新しいイベントを作成します。 |
| Lookup Salesforce Account | 外部システム連携 | 名前を基にSalesforceアカウントを検索し、ID、ウェブサイト、電話番号などの属性情報を取得します。 |
| Create Salesforce Contact | 外部システム連携 | Salesforceに新しい連絡先を作成します。 |
| Create ServiceNow Issue | 外部システム連携 | 接続設定されたServiceNowインスタンスに新しい課題(Issue)を作成します。 |
| toolの設定箇所は下記の通りです。 |
- LLMのアイコン > Agent tools > NEW AGENT TOOL をクリックします。
- 設定画面は基本的に下記のような構成になっており、設定内容を編集しながら、想定通りのアウトプットを得られるか確認することが可能です。
| エリアの名称 | 説明 |
|---|---|
| Tool の設定エリア | エージェントがこのツールを適切に利用するための追加の指示(Tool instructions)を設定します。 |
| テスト用コードを記載 | このツールの動作を確認するために、JSON形式で入力データ(input)やコンテキスト(context)を含むテストクエリを記述します。 |
| テスト実行結果を確認 | 記述したテストクエリを実行した際の、ツールの応答(Response)、実行の追跡ログ(Trace)、およびツールがどのように記述されているかを示す**ツール記述子(Log Descriptor)**を確認します。 |
2.Agentの作成
エージェントは、ユーザーの指示や目標を達成するために、どのツールを、いつ、どのような入力で使うべきかを自ら判断します。作成方法は2通りあります。
- Visual Agents:コーディング不要で作成できるエージェントですが、どのツールを使うべきかを自身で判断し、自動で呼び出して実行し、結果をまとめてユーザーに回答します。
- Code Agents:エージェントの動作ロジックを含むコードを記述する必要があるが、エージェントのカスタマイズが可能
Agentの設定箇所は下記の通りです。
- LLMのアイコン > Agents & GenAI Models > NEW AGENT をクリックします。
- Visual Agentsは下記のようは画面で設定ができます。
| エリアの名称 | 説明 |
|---|---|
| Agent 設定エリア | エージェントの挙動を決定するLLM(大規模言語モデル)の選択と、**追加の指示(プロンプト)**を設定します。 |
| Tools 設定エリア | このエージェントが使用できるツール(機能)を選択・設定し、そのツールに関する追加の説明を記述します。 |
| テスト用コード記載 | エージェントの動作を確認するためのテストクエリ(入力メッセージ)をJSON形式で記述します。 |
| テスト実行結果を確認 | 記述したテストクエリを実行した際の、エージェントからの**応答(Response)や、動作の追跡ログ(Trace)**を確認します。 |
3.Agentを利用する場所を作成
作成したエージェントはチャットボット形式で利用することも可能ですが、Datiaku内で下記のように利用することが可能です。
Prompt Recipe を利用すれば、フローの中でもAgentが利用できるのはとても便利ですよね!
| 利用箇所 | 説明 |
|---|---|
| Prompt Studio | エージェントとのクイックな対話や動作確認のために使用します。 |
| Prompt Recipe | エージェントの機能を大量のタスクやケースに一括で適用し、処理するために使用します。 |
| DataikuのチャットUI | Agent Hub や Agent Connect といったユーザーインターフェースを通じて、エージェントと対話的に利用します。 |
| LLM Mesh API | アプリケーションから、API経由でエージェントの機能を利用します。 |
設定箇所は下記の通りです。
- Agent Connect
- LLMのアイコン > Dataiku Answers & Agent Connect> NEW AGENT CONNECT をクリックします。
- 各項目を調整してチャットボットのUIを調整していきます。
- LLMのアイコン > Dataiku Answers & Agent Connect> NEW AGENT CONNECT をクリックします。
- Agent Connect
- こちらのブログを参照ください!
Dataiku 14.2で登場した「Agent Hub」を触ってみた
- こちらのブログを参照ください!
- Prompt Studio・Prompt Recipe
- LLMの中に選択肢として作成したAgentが表示されます。
- LLMの中に選択肢として作成したAgentが表示されます。
おわりに
AIエージェントの作成は、難しそうに聞こえますが、Dataikuなら、コーディングなしのVisual Agentと便利なManaging Toolsが豊富に揃っているので安心して作成できますね。
皆さんも、日頃の業務活用できるエージェントをDataikuで作成してみてはいかがでしょうか。
参考資料
Agentic AI — Dataiku DSS 14 documentation
Building an AI Agent in Dataiku