Select AIで監督者主導のエージェント・チームを構築

専門の従業員エージェントに複数ステップのリクエストをルーティングし、調整された応答を1つ返す、監督者主導の Select AIエージェント チームを作成します。

Select AIスーパーバイザ・エージェントは、実行時にスーパーバイザ主導のエージェント・チームを制御するSelect AI agentオブジェクトです。スーパーバイザ・エージェント・オブジェクトは、ユーザー・プロンプトを受信し、各サブタスクを処理するワーカー・エージェントとタスクのペアを選択し、必要なコンテキストを渡し、そのワーカーの結果を待機し、最終回答を返すまで次のエージェントとタスクのペアを引き続き選択します。

次の図は、Select AIスーパーバイザ・エージェント・パターンを示しています。 select-ai-supervisor-agent-pattern.pngの説明

スーパーバイザエージェントを使用するタイミング

チームが適切な就業者を決定する必要がある場合や、実行時にオーダーを実行する必要がある場合は、監督者パターンを使用します。監督者主導のチームは、ユーザーの意図および中間結果に応じて、要求で異なる就業者が異なる順序で必要な場合に役立ちます。スーパーバイザは、次にコールするワーカー・エージェントとタスクのペアを決定し、自己完結型のサブタスクを渡し、結果を待機して、1つの調整された最終回答を生成できるまで続行します。

スーパーバイザエージェントは次に適しています。

Select AI Supervisor Agent Teamsについて

Select AIスーパーバイザ・エージェント・チームがワーカー・エージェントを調整し、タスク・ルーティングを制御し、コンテキストを保持し、最終応答を1つ返す方法を理解します。

スーパーバイザ・エージェント・チームは、Select AIエージェント・チームのオーケストレーション・パターンです。そのチームでは、1つのSelect AIエージェント・オブジェクトが、そのsupervisor属性をtrueに設定してスーパーバイザとして識別され、そのオブジェクトがsupervisor_agent属性にチーム名が指定されます。就業者エージェントは、アカウント参照、支払取得、レポート生成、通知配信などの集中的な職責を保持します。スーパーバイザ・エージェント・オブジェクトは、コールする就業者を決定し、その就業者に対する自己完結型要求を準備して、就業者結果をスーパーバイザ・コンテキストに追加します。

サブタスク処理は順次です。監督者が次のサブタスクを委任する前に、1つの就業者サブタスクを終了する必要があります。監督者は、従業員の結果を待機し、その結果を監督者のコンテキストに追加して、別の従業員に電話するか、詳細情報を要求するか、従業員の障害を説明するか、最終回答を返すかを判断します。就業者エージェントは個別の会話スレッドを使用するため、監督者は委任された各リクエストに十分なコンテキストを含める必要があります。

この機能により、既存のDBMS_CLOUD_AI_AGENT APIにスーパーバイザ関連の属性が追加されます。supervisorエージェント属性を使用して、Select AIエージェント・オブジェクトをスーパーバイザとしてマークします。supervisor_agentチーム属性を使用して、チームのスーパーバイザ・エージェント・オブジェクトに名前を付けます。監督チームには、1つの監督者エージェント・オブジェクトと1つ以上の就業者エージェントとタスクのペアが含まれます。agentsチーム属性は、委任に使用できる就業者エージェントとタスクのペアをリストします。各ワーカー・タスクは、その構成済ツールを使用できます。スーパーバイザ・エージェント・オブジェクトは、就業者のエージェントとタスクのペアに委任します。Oracle管理委任ツールはユーザーが構成できません。

スーパーバイザエージェントの使用例については、Example: Build and Run a Customer Support Supervisor Teamを参照してください。

Select AI Supervisor Agentのアーキテクチャ

教師ありSelect AIエージェント・チームは、1つのスーパーバイザ・エージェント・オブジェクトと1つ以上のワーカー・エージェントとタスクのペアを持つ単一のチームとして実行されます。チーム定義では、supervisor_agent内のスーパーバイザ・エージェント・オブジェクトに名前が付けられ、ワーカー・リストでは、スーパーバイザが委任できるエージェントとタスクのペアに名前が付けられます。ツールは、チームではなく就業者タスクで構成されます。

監督者主導のチームでは、プロセスは引き続き順次に設定されていますが、構成された就業者オーダーはワークフロー・プランではありません。スーパーバイザは、一度に1つのワーカー・エージェントとタスクのペアを動的に選択し、結果を待機してから、別のワーカーが必要かどうかを判断します。

スーパーバイザ・エージェント・オブジェクトは、Oracle管理委任ツールを内部的に使用して、ワーカー・エージェントとタスクのペアに委任します。委任ツールは、監督者実行モデルの一部であり、ユーザーが構成可能なチーム属性としてリストされません。

スーパーバイザはリクエスト全体を所有し、独自の会話スレッドで実行します。各ワーカー・エージェントは、個別の会話スレッドで実行されます。就業者は、管理者コンテキスト全体を継承しません。監督者は、各就業者に対して自己完結型のサブタスク要求を作成する必要があります。従業員は、最終結果のみを監督者に返します。スーパーバイザは、返された結果を独自のコンテキストに追加し、次のアクションを決定します。

イメージの説明が続きます

フェーズ 入力 処理中 出力
要求送信 チームに送信されたユーザーの自然言語リクエスト 監督チームは、最初に監督者エージェントをアクティブ化します。 要求に対してスーパーバイザ会話スレッドが開始されます。
監督者推論ループ ユーザー要求および現在の管理者コンテキスト スーパーバイザは、応答するのに十分な情報があるか、サブタスクを委任する必要があるかを判断します。 最終回答または1人の委任従業員リクエスト
タスクの委任 選択したワーカー・エージェントとタスクのペアと自己完結型サブタスクのコンテキスト スーパーバイザは、選択した就業者のエージェントとタスクのペアに対してOracle管理委任ツールをコールし、待機します。 ワーカー・タスクは独自の会話スレッドで開始します。
タスク処理 委任サブタスクおよびワーカー・タスク構成 ワーカーは、そのタスクで構成されたツールを使用します。ユーザー入力が必要な場合、チームはユーザーの応答を待機します。 ワーカーの結果、ワーカーの失敗結果または人間の入力要求。
監督者の継続 ワーカー結果、失敗結果またはユーザー・レスポンスが返されました スーパーバイザは、返された結果をコンテキストに追加し、推論を続行します。失敗は成功と同じ戻りパスに従います。スーパーバイザは、再試行するか、別のワーカーをコールするか、詳細情報を要求するか、失敗を説明するか、または最終回答を返すかを決定します。  

監督者主導チームの実行時動作

スーパーバイザ主導のチームがユーザー入力のために一時停止し、就業者の障害を処理し、スーパーバイザと就業者の会話の間に自己完結型コンテキストを渡す方法について学習します。

ヒューマン入力処理

就業者がヒューマン・インプットを要求すると、スーパーバイザ主導のチーム全体が、ユーザーの応答を待機しながら一時停止します。ユーザーは、要求された情報を提供するために同じ会話を続けます。

ユーザーが応答すると、就業者は再開し、タスクを完了して、結果を監督者に返します。スーパーバイザは、別のサブタスクを委任するか、最終回答を返すかを決定します。

失敗処理

ワーカーの障害は、成功結果と同じ戻りパスに従います。スーパーバイザは失敗結果を受け取り、タスクの再試行、別のワーカー・エージェントとタスクのペアのコール、追加入力のリクエスト、最終回答の返却など、次のアクションを決定します。

コンテキスト・パス・モデル

各ワーカーは、独自の会話スレッドで動作し、スーパーバイザ・コンテキスト全体を継承しません。監督者は、従業員がタスクを完了するために必要なすべての情報を含む、自己完結型のサブタスク要求を提供する必要があります。

スーパーバイザエージェントのユースケース

1つのリクエストで複数の専門エージェント、条件付きルーティングまたはステージングされたレスポンスが必要な場合、監督者主導のSelect AIチームを適用します。

利点

監督者主導のチームを使用して、複数ステップのリクエストをルーティングし、従業員のエージェントを集中させ、Select AIエージェント フレームワーク アクティビティの委任パスを記録します。

Select AI Supervisor Agent Teamsの使用方法

スーパーバイザとして機能するエージェントを作成し、スーパーバイザとして指定し、就業者エージェントを作成し、スーパーバイザをチーム属性に追加し、ユーザー・プロンプトをチームに対して実行します。

  1. 必要な権限を付与します。データベース・ユーザーには、DBMS_CLOUD_AI_AGENTに対するEXECUTE権限、必要な資格証明へのアクセス、および外部プロバイダ・コールに必要なネットワークACLが必要です。詳細は、「Select AI Agentを使用するための前提条件」を参照してください。
  2. 参照、更新、通知またはレポート・タスク用のPL/SQL関数など、ワーカー・エージェントが使用するツールを作成します。詳細は、DBMS_CLOUD_AI_AGENT PackageおよびExamples of Using Select AI Agentを参照してください。
  3. 就業者エージェントおよびタスクを作成します。監督者が各サブタスクに適切な就業者を選択できるように、各就業者ロールを固有に保ちます。「CREATE_TASKプロシージャ」および「CREATE_AGENTプロシージャ」を参照してください。
  4. supervisor属性をtrueに設定して、スーパーバイザ・エージェントを作成します。「CREATE_AGENT属性」を参照してください。
  5. supervisor_agentをスーパーバイザ・エージェント名に設定し、agentsをワーカー・エージェントとタスクのペアに設定して、チームを作成します。CREATE_TEAMプロシージャを参照してください。
  6. Select AI Agentフレームワークを使用して、セッションのチームを設定し、自然言語プロンプトを送信します。SET_TEAMファンクションを参照してください。
  7. 履歴ビューをレビューして、ワーカー・ルーティング、返された結果、ワーカー障害およびヒューマン入力待機状態を確認します。就業者タスクが人間の入力を要求した場合、チームはユーザーが応答するまで一時停止します。この期間中、管理者主導のチーム全体が一時停止します。同じ会話を続けて、要求された入力を提供します。ユーザーが応答すると、就業者は再開し、タスクを完了して、結果を監督者に返します。その後、監督者は次のアクションを決定します。DBMS_CLOUD_AI_AGENTビューを参照してください。

就業者agentsの配列から選択したスーパーバイザを含めないでください。監督者がチームを管理し、アレイには委任可能な従業員のエージェントとタスクのペアのみがリストされます。ワーカー・タスクでは、独自に構成されたツールを使用できます。チーム属性ではツール名はリストされません。

ノート:監督者主導のチームは、就業者サブタスクを順番に処理します。監督者は、別のサブタスクを委任する前に、各従業員の結果を待機します。パラレル・ワーカーの実行はこのリリースに含まれていません。

許可された上長エージェント・チーム構成

Select AIエージェント・チームで監督者、ワーカー・エージェントとタスクのペア、ツールおよび処理を定義するための、サポートされている構成とガイダンスを確認します。

構成 許可 ガイダンス
supervisor_agentは、supervisorをtrueに設定して作成されたエージェントを指定します。 ○ このパターンは、監督チームに使用します。
選択した監督者は、就業者agents配列にもリストされます いいえ 監督者として指定されたエージェントを就業者アレイに含めることはできません。設計検証では、agents配列内のスーパーバイザ対応エージェントが拒否されます。
同じ就業者エージェントが複数のタスクに割り当てられています ○ 同じエージェントを異なるタスク名に割り当てることで、複数のタスクを実行できます。
ツールがチームのagents配列にリストされます。 いいえ CREATE_TASKを使用してタスクのツールを定義します。チーム属性は、ツール名ではなく、就業者のエージェントとタスクのペアをリストします。
supervisor_agentは、"supervisor": trueを持たないエージェントを指定します。 いいえ supervisorがtrueに設定されているエージェントを選択します。指定されたエージェントがスーパーバイザでない場合は、チームの作成または検証に失敗し、返されたデータベース・エラーの詳細を確認します。
1つのチームに複数の監督者が定義されています いいえ 1つのチームが1人の監督者をサポートします。"supervisor": trueを使用して単一のエージェントを定義し、supervisor_agentで参照します。
監督者が別の監督者主導のチームに委任 いいえ このリリースでは、監督者から監督者への委任はサポートされていません。監督者は、同じチームの就業者エージェントにのみ委任できます。
あるチームで監督者として指定されたエージェントを別のチームの就業者として使用できます。 ○ 異なるロール(監督者または従業員)を持つ複数のチームで、同じ監督者エージェントを再利用できます。チーム構成を使用してロールを定義します。

ノート:

監督者主導チームのトラブルシューティング

Select AIスーパーバイザ主導の一般的なチーム構成、委任、コンテキスト、通知およびヒューマン入力の問題について、考えられる原因と修正を特定します。

チーム作成失敗

問題:チームの作成に失敗します。

考えられる原因: supervisor_agentは、エージェントに"supervisor": trueという名前を付けません。

修正:スーパーバイザ属性を使用してエージェントを再作成し、チームを再度作成します。

監督者が間違った就業者を呼ぶ

問題:監督者が間違った従業員を呼び出しています。

考えられる原因:ワーカー・タスクの説明が曖昧すぎるか、重複しています。

修正:タスクの指示をより具体的かつ相互に排他的にします。監督者は、エージェント名、タスク名、説明およびタスクの指示に基づいて、従業員のエージェントとタスクのペアを選択します。

就業者タスクを定義する際には、次のガイドラインを使用します。

Worker Lacksコンテキスト

問題:就業者にコンテキストがありません。

考えられる原因:スーパーバイザが委任サブタスクに十分な詳細を渡しませんでした。

修正:自己完結型サブタスクを送信するように監督者に指示する指示を追加します。委任動作をガイドする明確な監督者ロールを定義します。

次に例を示します:

{
  "profile_name": "<AI_PROFILE_NAME>",
  "supervisor": true,
  "role": "You orchestrate requests. Choose the appropriate worker agent-task pair for each subtask. Send self-contained requests with all required context. Return one concise final answer."
}

Eメールが送信されない

問題:電子メールが送信されません。

考えられる原因:資格証明、ネットワークACL、送信者または受信者の構成が欠落しているか、正しくありません。

修正: SMTP資格証明、ACL、送信者および受信者の設定を確認します。

ユーザー入力のプロンプト待機

問題:プロンプトはユーザー入力を待機します。

考えられる原因:監督者または従業員が人による確認を要求しました。

修正:要求された情報と同じ会話を続けます。

シーケンシャル・ワークフローとスーパーバイザ・パターンの比較

チームが就業者を選択し、タスクを調整する方法に基づいて、適切なSelect AIエージェント・チーム・パターンを選択します。

チームが既知の順序で構成されたエージェントとタスクのペアを実行する必要がある場合、連続するワークフロー・パターンを選択します。チームが、リクエスト、中間結果、不合格または詳細情報のリクエストに基づいて実行時に従業員を選択する必要がある場合、監督者パターンを選択します。

特性 順次ワークフロー・パターン 上長パターン
プランの実行 修正済。agents配列は、ワークフローの順序を定義します。 変数。監督者は実行時に次の従業員を選択します。
エントリ・ポイント 最初に構成されたエージェントとタスクのペア。 スーパーバイザーエージェント。
タスクの選択 チームは、構成されたエージェントとタスクのペアを順番に実行します。 監督者は、必要に応じて1人以上の従業員に電話をかけます。
コンテキスト通過 タスク依存性は、前のタスク出力をダウンストリーム・タスクに渡します。 監督者は、各従業員に自己完結型のサブタスクを送信します。
最適 既知のステージを持つ予測可能なパイプライン。 条件付きルーティングまたは調整が必要な可変リクエスト。
パラレル実行 サポートされていません。タスクは一度に1つずつ実行されます。 サポートされていません。就業者サブタスクは一度に1つずつ実行されます。

次の表に、ワークフローの決定に役立つ「順次」パターンと「監督者」パターンの違いを示します。

順次パターン 上長パターン
固定ワークフロー 動的オーケストレーション
すべてのステップが順番に実行されます。 必要なステップのみ実行
線形パイプラインに適している エンタープライズ・リクエストの分岐に適しています。
意思決定ロジックが少ない 手動ルーティング・ロジックの削減、実行時の判断の向上