メインコンテンツまでスキップ

スーパーバイザーエージェントを使用して、協調的なマルチエージェントシステムを作成します。

このページでは、Supervisor Agent を使用して、AI エージェントとツールを連携させて複雑なタスクに取り組むマルチエージェント監視システムを作成する方法について説明します。専門家からの自然言語によるフィードバックに基づいて、彼らの連携を向上させることができます。

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

Supervisor Agent を使用すると、Genie Spaces、エージェントエンドポイント、Unity Catalog 機能、MCP サーバー、およびカスタムエージェントを連携させて、さまざまな専門分野にわたる複雑なタスクを完了させるスーパーバイザーシステムを作成できます。Supervisor Agent は、高度なAIオーケストレーション パターンを使用して、エージェントの対話、タスクの委任、結果の合成を管理し、包括的なソリューションを提供します。

スーパーバイザーエージェントは、システムを構築し、人間のフィードバックに基づいて時間をかけて改善していくことを可能にします。以下のユースケースをサポートするのに最適です。

  • 調査レポートと利用データを検索することにより、市場分析と知見を提供します。
  • 内部プロセスに関する質問に答え、そのチケットバックログを自動化します。
  • ポリシー、FAQ、アカウント、その他の質問に答えることで、顧客サービスをスピードアップします。

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

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

スーパーバイザーエージェントは、デフォルトのストレージを使用して、一時的なデータ変換、モデルのチェックポイント、および各エージェントを動作させるための内部メタデータを保存します。エージェントを削除すると、エージェントに関連付けられたすべてのデータがデフォルトのストレージから削除されます。

必要条件

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

警告

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

スーパーバイザーを作成する際には、スーパーバイザーが連携するためのサブエージェントを指定し、エンドユーザーにそれぞれのサブエージェントへの明示的なアクセス権を付与する必要があります。以下の表は、サポートされているサブエージェントの種類、それぞれの作成方法、および必要なエンドユーザー権限を示しています。スーパーバイザーはアクセス制御機能を備えているため、エンドユーザーは自分がアクセス権限を持つサブエージェントとデータのみにアクセスできます。 明示的なアクセス権限がない場合、スーパーバイザーはサブエージェントから有用な応答を返すことができません。

サブエージェントタイプ

作成方法

必要なエンドユーザー権限

Genieスペース

Genie Spaceの設定と管理

Genie Spaceおよびその基盤となるUnity Catalogオブジェクトへのアクセス。 「Share a Genie Space」をご覧ください。

ダッシュボードを公開しました

ダッシュボードを作成し、次にダッシュボードを公開します。

CAN VIEW 公開されているダッシュボード上で。ダッシュボードの権限管理を参照してください。

知識アシスタントエージェントエンドポイント

Knowledge Assistantを使用して、ドキュメント上で高品質なチャットボットを作成しましょう。

CAN QUERY エージェントエンドポイント上。「権限の管理」を参照してください。

モデルサービングエンドポイント

カスタムモデルサービングエンドポイントを作成する

CAN QUERY サービス提供エンドポイント上。「モデルサービング エンドポイントのアクセス許可の管理」を参照してください。

Unity Catalogの関数

Unity Catalog機能を使用してAIエージェントツールを作成する

EXECUTE Unity Catalog機能について。 EXECUTE を参照してください。

外部MCPサーバー

外部のMCPサーバーをインストールするか、 Databricks Marketplaceからインストールしてください

USE CONNECTION Unity Catalog接続について。 接続の使用方法を参照してください。

カスタムMCPサーバー

カスタムMCPサーバーをホストする

CAN_USE Databricksアプリで。AIエージェントの認証については、「AIエージェントの認証」を参照してください。

税関職員

AIエージェントを作成し、 Databricks Appsにデプロイする。

CAN_USE Databricksアプリで。AIエージェントの認証については、「AIエージェントの認証」を参照してください。

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

行くエージェントアイコン。ワークスペースの左側のナビゲーションペインにある エージェント「エージェントの作成」を クリックし、 「スーパーバイザーエージェント」 を選択します。

ステップ 1: スーパーバイザーを設定する

スーパーバイザーを設定し、調整対象となるエージェントを追加します。

スーパーバイザーエージェントの設定ページで、左側に「ツール」と「サブエージェント」のペインが表示されています。

  1. 左側のペインにある 「ツールとサブエージェント」 の下に、ツールとサブエージェントを追加します。追加したいツール/エージェントの種類をクリックし、表示されるドロップダウンメニューから選択してください。または、検索バーを使用してツール/エージェントを選択してください。最大30種類の異なるエージェントとツールを選択できます。

  2. より良い結果を得るために、各ツール/サブエージェントの説明を提供してください。説明を調整するには、ツール/サブエージェントをクリックしてください。監督者は、説明文の情報に基づいてエージェントの調整を行う。タスクの委任を改善するために、できるだけ詳細な情報を提供してください。

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

注記

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

  1. (オプション) [ 指示] フィールドで、スーパーバイザーがどのように応答すべきかのガイドラインを指定します。

  2. (任意) 説明 欄に、この上司の業務内容の概要を記入してください。この説明はユーザーに表示され、検索にも使用されます。

ステップ 2: スーパーバイザー・エージェントをテストする

スーパーバイザーの初期化が完了したら、テストを実行して、スーパーバイザーが複数のエージェントをどれだけうまく連携させて複雑なタスクを処理できるかを確認してください。右側のペインで、エージェントとチャットして応答を評価してください。

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

スーパーバイザーのパフォーマンスに満足している場合は、スーパーバイザーをそのまま使用してください。

ステップ3:スーパーバイザーを改善する

スーパーバイザーエージェントは、自然言語によるフィードバックに基づいてスーパーバイザーの行動を調整できます。設定ページを通じて専門家からフィードバックを収集し、上司の調整能力を向上させましょう。上司のためにラベル付きデータを収集することは、上司のパフォーマンス向上につながります。スーパーバイザーエージェントは、新しいデータに基づいてスーパーバイザーを再学習し、最適化します。

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

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

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

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

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

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

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

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

ステップ 4: 権限を管理する

デフォルトでは、エージェントの作成者とワークスペース管理者のみがエージェントへのアクセス権限を持っています。他のユーザーがエージェントを編集したり照会したりできるようにするには、明示的に権限を付与する必要があります。

エージェントの権限を管理するには:

  1. エージェント ページで、担当エージェントを開いてください。

  2. 上部のケバブメニューアイコン。ケバブメニュー。

  3. [権限の管理] をクリックします。

  4. [権限設定] ウィンドウで、ユーザー、グループ、またはサービスプリンシパルを選択します。

  5. 付与する権限を選択してください:

    • 管理可能 :エージェントの管理が可能で、権限の設定、エージェント構成の編集、品質の向上などを行うことができます。
    • クエリ可能AI Playgroundおよび API を介してエージェントエンドポイントにクエリを実行できます。この権限しか持たないユーザーは、エージェントページでエージェントを表示または編集することはできません。
  6. [ 追加 ] をクリックします。

  7. 保存 をクリックします。

注記

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

ステップ 5: エージェントのエンドポイントをクエリする

エージェントページで 「エンドポイント」 をクリックすると、エージェントエンドポイントが開き、詳細が表示されます。

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

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

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

備考

ベータ版

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

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

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

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

Python
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 Catalog機能、その他のエージェントエンドポイントなどのサブエージェントを表します。

ツール(サブエージェント)を追加する

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

Python
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>ツールの一意の識別子に置き換えてください。

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

以下の例は、既存のツールの説明を更新するものです。

Python
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

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

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

Python
from databricks.sdk import WorkspaceClient

w = WorkspaceClient()

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

制限

次のステップ

スーパーバイザーエージェントの長期タスク