Supervisor エージェントを使用して調整されたマルチエージェント システムを作成する

このページでは、Supervisor エージェントを使用して、複雑なタスクで連携するように AI エージェントとツールを調整するマルチエージェント スーパーバイザ システムを作成する方法について説明します。 あなたの主題の専門家からの自然言語フィードバックに基づいて、彼らの調整を改善することができます。

スーパーバイザーエージェントとは何ですか?

Supervisor Agent を使用して、Genie Spaces、エージェント エンドポイント、Unity カタログ関数、MCP サーバー、カスタム エージェントを連携させ、さまざまな特殊なドメイン間で複雑なタスクを完了するスーパーバイザ システムを作成します。 Supervisor Agent は、高度な AI オーケストレーション パターンを使用して、エージェントの対話、タスクの委任、結果合成を管理し、包括的なソリューションを提供します。

Supervisor Agent はシステムを構築し、時間の経過と共に人間のフィードバックを使用してシステムを改善できます。 次のユース ケースをサポートするのに最適です。

  • 調査レポートと使用状況データを検索して、市場分析と分析情報を提供します。
  • 内部プロセスに関する質問に回答し、そのチケット バックログを自動化します。
  • ポリシー、FAQ、アカウント、その他の質問に回答して、顧客サービスを高速化します。

Supervisor Agent を使用すると、対象分野の専門家からの自然言語フィードバックに基づいて、スーパーバイザーの調整品質を向上させ、エージェントの動作を調整できます。 システムのパフォーマンスを最適化するための例とガイドラインを提供します。

Supervisor Agent は、アプリケーションにダウンストリームで使用できる包括的なエンドポイントを作成します。 たとえば、Playground でプロンプトを送信してエンドポイントと対話したり、Databricks Apps を使用してチャット アプリケーションを構築したりできます。 スーパーバイザにはアクセス制御が組み込まれているため、エンド ユーザーはアクセスできるサブエージェントとデータにのみアクセスできます。

Supervisor Agent は 、既定のストレージ を使用して、一時的なデータ変換、モデル チェックポイント、および各エージェントをサポートする内部メタデータを格納します。 エージェントの削除時に、エージェントに関連付けられているすべてのデータが既定のストレージから削除されます。

Requirements

サポートされているサブエージェントとツール

Warnung

エージェント ツールで任意のコードを実行すると、エージェントがアクセスできる機密情報や個人情報が公開される可能性があります。 お客様は、信頼できるコードのみを実行し、ガードレールと適切なアクセス許可を実装して、データへの意図しないアクセスを防ぐ責任があります。

スーパーバイザーを作成するときは、各サブエージェントを提供して、エンド ユーザーに各サブエージェントへの明示的なアクセス権を付与する必要があります。 次の表に、サポートされているサブエージェントの種類、各サブエージェントの作成方法、および必要なエンド ユーザーのアクセス許可を示します。 スーパーバイザにはアクセス制御が組み込まれているため、エンド ユーザーはアクセスできるサブエージェントとデータにのみアクセスできます。 明示的にアクセスしないと、スーパーバイザーはサブエージェントから有用な応答を返すことができません。

サブエージェントの種類 作成する方法 必要なエンド ユーザーのアクセス許可
Genie Space Genie Space の作成と管理 Genie Space とその基になる Unity カタログ オブジェクトへのアクセス。 「 Genie Space を共有する」を参照してください。
公開済みダッシュボード ダッシュボードを作成し、ダッシュボード を発行する 公開済みダッシュボード上のCAN VIEW 「ダッシュボードのアクセス許可の管理」を参照してください。
Knowledge Assistant エージェントのエンドポイント Knowledge Assistant を使用して、ドキュメント上に高品質のチャットボットを作成する CAN QUERY エージェント エンドポイント上の 「 アクセス許可の管理」を参照してください。
Model Serving エンドポイント カスタム モデル サービング エンドポイントを作成する CAN QUERY サービング エンドポイントで モデル サービス エンドポイントに対するアクセス許可の管理を参照してください。
Unity Catalog 関数 Unity カタログ関数を使用して AI エージェント ツールを作成する EXECUTE Unity Catalog 関数について EXECUTE を参照してください。
ベクター検索インデックス ベクター検索エンドポイントとインデックスを作成する 親カタログ上の USE CATALOG、親スキーマ上の USE SCHEMA、およびベクター検索インデックス上の SELECT Unity カタログ権限のリファレンスを参照してください
Supervisor エージェント Supervisor エージェントを使用して調整されたマルチエージェント システムを作成する Supervisor Agent で CAN QUERY を選択します。 「手順 4: アクセス許可を管理する」を参照してください。
外部 MCP サーバー 外部 MCP サーバーをインストールするか、 Databricks Marketplace からインストールします USE CONNECTION Unity Catalog 接続で USE CONNECTION を参照してください。
カスタム MCP サーバー カスタム MCP サーバーをホストする CAN_USE Databricks のアプリで AI エージェントの認証を参照してください。
カスタム エージェント AI エージェントを作成して Databricks Apps にデプロイする CAN_USE Databricks のアプリで AI エージェントの認証を参照してください。

マルチエージェント スーパーバイザ システムを作成する

[エージェント] アイコンに移動します。 ワークスペースの左側のナビゲーション ウィンドウにあるエージェント。 [ エージェントの作成] をクリックし、[ Supervisor Agent] を選択します。

手順 1: スーパーバイザーを構成する

スーパーバイザーを設定し、それが調整するエージェントを追加します。

左側の [ツールとサブエージェント] ウィンドウが表示されているスーパーバイザ エージェントの構成ページ。

  1. 左側のウィンドウの [ ツールとサブエージェント ] で、ツールとサブエージェントを追加します。 追加するツール/エージェントの種類をクリックし、表示されるドロップダウンから選択します。 または、検索バーを使用してツール/エージェントを選択します。 最大 30 種類のエージェントとツールを選択できます。

  2. より良い結果を得るには、各ツール/サブエージェントの説明を入力します。 ツール/サブエージェントをクリックして説明を調整します。 スーパーバイザーは、エージェントの調整に役立つ説明の情報を使用します。 タスクの委任を改善するために、できるだけ詳細な情報を提供します。

  3. 各ツール/エージェントのアクセス許可を管理するには、ツール/エージェント タイルにカーソルを合わせ、[ 新しいウィンドウ] アイコンをクリックします。 これにより、Azure Databricks でそのツール/エージェントが開き、そこからアクセス許可を設定できます。 必要なエンド ユーザーのアクセス許可については、 サポートされているサブエージェントとツール を参照してください。

    Note

    エンド ユーザーがサブエージェントにアクセスできない場合、スーパーバイザーは会話を終了します。 エンド ユーザーが一部のサブエージェントにアクセスできるが、すべてのサブエージェントにアクセスできない場合、スーパーバイザーは、ユーザーがアクセスできないサブエージェントから会話をリダイレクトします。

  4. (省略可能)[ 指示 ] フィールドで、監督者の対応に関するガイドラインを指定します。

  5. (省略可能)[ 説明 ] フィールドに、このスーパーバイザーの機能の概要を入力します。 この説明はユーザーに表示され、検索に使用されます。

手順 2: スーパーバイザ エージェントをテストする

スーパーバイザーの初期化が完了したら、それをテストして、スーパーバイザーが複数のエージェントを調整して複雑なタスクを処理する方法を確認します。 右側のウィンドウで、エージェントとチャットして応答を評価します。

  1. (省略可能) AI Playground でエージェントをテストすることもできます。 [ プレイグラウンドで開く] をクリックします。 これにより、スーパーバイザ エンドポイントが接続された状態で AI Playground が開きます。 AI 支援機能が有効になっている場合は、 AI ジャッジ合成タスクの生成 を有効にして、監督者の評価に役立ちます。
  2. 上司の複雑な質問またはタスクを入力します。
  3. 応答を評価します。 スーパーバイザーが適切なエージェントにタスクを正常に委任していることを確認します。
  4. スーパーバイザーとの対話中に、応答を改善するためにガイドラインを 追加 するように求められる場合があります。 応答ガイドラインを指定し、応答を再生成します。
  5. エージェントの応答に基づいて、左側のパネルの [説明 ] フィールドと [ 命令 ] フィールドを調整して、構成を改善します。

スーパーバイザーのパフォーマンスに満足している場合は、スーパーバイザ as-isを引き続き使用してください。

手順 3: スーパーバイザーを改善する

Supervisor Agent は、自然言語フィードバックに基づいてスーパーバイザーの動作を調整できます。 構成ページを通じて専門家からのフィードバックを収集して、監督者の調整品質を向上させます。 スーパーバイザーのパフォーマンスを向上させるためにラベル付きデータを収集することができます。 Supervisor エージェントは、新しいデータからスーパーバイザを再トレーニングして最適化します。

[例] タブ 、スーパーバイザーの質問とタスク シナリオを追加します。

  1. ラベルに質問を追加する:

    1. [ + 追加] をクリックして質問を追加します。
    2. [ 質問の追加 ] モーダルで、質問を入力します。
    3. 追加をクリックします。 質問は UI に表示されます。
    4. 評価するすべての質問を追加するまで繰り返します。
    5. 質問を削除するには、kebab メニューをクリックし、[ 削除] をクリックします。
  2. 質問の追加が完了したら、エージェントを他のユーザーと共有して、高品質のラベル付きデータセットの構築に役立つレビューを行うことができます。 スーパーバイザ エージェントの構成ページへのリンクを共有して、エキスパートからのフィードバックを収集します。

  3. エキスパートがスーパーバイザ エージェントと適切なサブエージェントにアクセスできることを確認します。

    1. 右上隅にある Kebab メニューの [Kebab] メニュー アイコン をクリックします。 アクセス許可を管理します。 エージェントにアクセスしてフィードバックを提供できるように、エキスパートにCAN_MANAGEアクセス許可を付与します。
    2. SME が各サブエージェントにアクセスできることを確認します。 サブエージェントの種類ごとに必要なアクセス許可については、 サポートされているサブエージェントとツール を参照してください。

    SME がサブエージェントにアクセスできない場合、スーパーバイザーは会話を終了します。 エンド ユーザーが一部のサブエージェントにアクセスできるが、すべてのサブエージェントにアクセスできない場合、スーパーバイザーは、ユーザーがアクセスできないサブエージェントから会話をリダイレクトします。

  4. データにラベルを付ける場合は、質問をクリックし、表示されるパネルに ガイドライン を追加します。 ガイドラインは、保存された直後に適用されます。

  5. 構成ページまたは AI Playground でエージェントをもう一度テストして、パフォーマンスの向上を確認します。 必要に応じて、さらに質問とガイドラインを追加して、動作の改善を続けます。

手順 4: アクセス許可を管理する

既定では、エージェントの作成者とワークスペース管理者のみがエージェントに対するアクセス許可を持ちます。 他のユーザーがエージェントを編集またはクエリできるようにするには、明示的にアクセス許可を付与する必要があります。

エージェントのアクセス許可を管理するには:

  1. [エージェント] ページでエージェントを開きます。
  2. 上部にある [Kebab] メニュー アイコン をクリックします。kebab メニュー。
  3. [ アクセス許可の管理] をクリックします。
  4. [ アクセス許可の設定] ウィンドウで、ユーザー、グループ、またはサービス プリンシパルを選択します。
  5. 付与するアクセス許可を選択します。
    • 管理可能: アクセス許可の設定、エージェント構成の編集、品質の向上など、エージェントの管理を許可します。
    • クエリ可能: AI Playground と API を使用してエージェント エンドポイントのクエリを実行できます。 このアクセス許可のみを持つユーザーは、[エージェント] ページでエージェントを表示または編集できません。
  6. 追加をクリックします。
  7. [保存] をクリックします。

Note

2025 年 9 月 16 日より前に作成されたエージェント エンドポイントの場合は、[サービス エンドポイント] ページからエンドポイントに対する Can Query アクセス許可を付与できます。

手順 5: エージェント エンドポイントのクエリを実行する

エージェント ページで、[ エンドポイント ] をクリックしてエージェント エンドポイントを開き、詳細を表示します。

作成されたスーパーバイザ エンドポイントに対してクエリを実行するには、複数の方法があります。 AI Playground で提供されているコード例を出発点として使用します。

  1. [ プレイグラウンドで開く] をクリックします。
  2. Playground で、[ コードの取得] をクリックします。
  3. エンドポイントの使用方法を選択します。
    • curl を使用してエンドポイントにクエリを実行するコード例の Curl API を 選択します。
    • Python API を選択して、Pythonを使用してエンドポイントと対話するコード例を示します。

Databricks SDK を使用してスーパーバイザ エージェントを管理する

Important

この機能は ベータ版です。 アカウント管理者は、[ プレビュー] ページからこの機能へのアクセスを制御できます。 Manage Azure Databricks プレビューを参照してください。

Databricks SDK for Python を使用して、プログラムによってスーパーバイザ エージェントとそのツールを作成および管理できます。 使用可能な操作の完全な一覧については、 Supervisor Agents SDK リファレンスを参照してください

スーパーバイザ エージェントを作成する

次の例では、表示名、説明、および指示を含む新しいスーパーバイザ エージェントを作成します。

from databricks.sdk import WorkspaceClient
from databricks.sdk.service.supervisoragents import SupervisorAgent

w = WorkspaceClient()

supervisor_agent = SupervisorAgent(
    display_name="<display-name>",
    description="<description>",
    instructions="<instructions>",
)
created = w.supervisor_agents.create_supervisor_agent(supervisor_agent=supervisor_agent)
print(created)

<display-name><description>、および<instructions>を、スーパーバイザ エージェントの値に置き換えます。

ツールの管理 (サブエージェント)

SDK を使用して、既存のスーパーバイザ エージェントのツール (サブエージェント) を追加、更新、および削除できます。 ツールは、ナレッジ アシスタント、Genie Spaces、Unity カタログ関数、その他のエージェント エンドポイントなどのサブエージェントを表します。

ツールの追加 (サブエージェント)

次の例では、既存のスーパーバイザ エージェントにナレッジ アシスタントをツールとして追加します。

from databricks.sdk import WorkspaceClient
from databricks.sdk.service.supervisoragents import Tool, KnowledgeAssistant

w = WorkspaceClient()

tool = Tool(
    tool_type="knowledge_assistant",
    description="<tool-description>",
    knowledge_assistant=KnowledgeAssistant(
        knowledge_assistant_id="<knowledge-assistant-id>",
    ),
)

created_tool = w.supervisor_agents.create_tool(
    parent="supervisor-agents/<supervisor-agent-id>",
    tool=tool,
    tool_id="<tool-id>",
)
print(created_tool)

<supervisor-agent-id>をスーパーバイザ エージェントの ID に置き換え、<knowledge-assistant-id>ツールとして追加するナレッジ アシスタントの ID に置き換え、<tool-id>ツールの一意の識別子に置き換えます。

ツールを更新する (サブエージェント)

次の例では、既存のツールの説明を更新します。

from databricks.sdk import WorkspaceClient
from databricks.sdk.service.supervisoragents import Tool
from databricks.sdk.common.types.fieldmask import FieldMask

w = WorkspaceClient()

updated_tool = w.supervisor_agents.update_tool(
    name="supervisor-agents/<supervisor-agent-id>/tools/<tool-id>",
    tool=Tool(
        tool_type="knowledge_assistant",
        description="<new-description>",
    ),
    update_mask=FieldMask(["description"]),
)
print(updated_tool)

update_maskで使用できるフィールド: description

ツール (サブエージェント) を削除する

次の例では、スーパーバイザ エージェントからツールを削除します。

from databricks.sdk import WorkspaceClient

w = WorkspaceClient()

w.supervisor_agents.delete_tool(
    name="supervisor-agents/<supervisor-agent-id>/tools/<tool-id>",
)

Limitations

次のステップ

Supervisor エージェントの実行時間の長いタスク