ハンドオフ ルール

引き継ぎルールを使用すると、マルチエージェント アプリケーションで親エージェントと子エージェント間の転送を決定論的に制御できます。 これらの転送は、転送の条件を定義することで制御できます。 条件が満たされたときにすぐに転送を強制することも、条件が満たされるまで転送をブロックすることもできます。

たとえば、ユーザーが認証された場合はエージェント A からエージェント B に転送し、ユーザーが認証されていない場合はエージェント A からエージェント C に転送します。

手順を使用すると、エージェントの転送を同様に制御できますが、その制御は決定論的ではありません。 コールバックを使用することもできますが、コールバックにはコードの記述が必要です。

サンプル ユースケース:

  • 転送(エージェントからサブエージェント)
    • 認証済みユーザーまたは未認証ユーザーを異なるエージェントにルーティングする
    • ユーザーのインテントを理解し、適切なエージェントに誘導する
    • リスクの高いリクエスト(金融機関の送金、PII の処理など)を特定のエージェントに転送する
  • 逆転送(サブエージェントからエージェント)
    • 認証に失敗した試行を再試行する
    • 追加の情報を収集するためにループバックする
    • ユーザー要件の変更後の再認定
    • 反復的なトラブルシューティング プロセス

構成

エージェント ビルダーから引き継ぎルールを構成するには:

  1. エージェント ノードの下にある [+] ボタンをクリックします。
  2. [引き継ぎルールを追加] を選択します。 [引き継ぎルール] 構成ペインが開き、子エージェントが一覧表示されます。
  3. 子エージェントを選択します。 ルール構成ペインが開きます。
  4. 転送の方向(親または子)を選択します。
  5. インターフェースを使用して変数に基づいて条件を定義することも、高度なコード オプションを使用することもできます。
  6. [保存] をクリックします。

高度なコード オプションを選択した場合のサンプルを次に示します。

def should_trigger_transfer_callback(callback_context: CallbackContext) -> bool:
  # Access session variables using callback_context:
  # callback_context.variables['variable_name]
  return True

制限事項

次の制限が適用されます。

変数チェックを使用するルールを作成する場合は、複数の条件(変数ごとに 1 つ)を指定できます。 これらは、AND または OR の論理演算子を使用してリンクできます。 リストされているすべての条件に対して選択できる演算子は 1 つ (AND/OR)のみです。 論理演算子を組み合わせて条件をグループ化する場合は、Python コード オプションを使用するか、API を使用して条件を指定します。

変数チェックでサポートされている変数タイプは、テキスト、数値、ブール値のみです(リストとカスタム オブジェクト タイプは対象外です)。

引き継ぎをブロック するルールを定義する場合、条件は変数(コードではない)を使用してのみ指定できます。

API を使用して複雑な条件(複数の AND/OR、グループ化などを使用)を作成すると、引き継ぎルールは UI で読み取り専用として表示され、API を使用してのみ変更できます。