引き継ぎルールを使用すると、マルチエージェント アプリケーションで親エージェントと子エージェント間の転送を決定論的に制御できます。 これらの転送は、転送の条件を定義することで制御できます。 条件が満たされたときにすぐに転送を強制することも、条件が満たされるまで転送をブロックすることもできます。
たとえば、ユーザーが認証された場合はエージェント A からエージェント B に転送し、ユーザーが認証されていない場合はエージェント A からエージェント C に転送します。
手順を使用すると、エージェントの転送を同様に制御できますが、その制御は決定論的ではありません。 コールバックを使用することもできますが、コールバックにはコードの記述が必要です。
サンプル ユースケース:
- 転送(エージェントからサブエージェント)
- 認証済みユーザーまたは未認証ユーザーを異なるエージェントにルーティングする
- ユーザーのインテントを理解し、適切なエージェントに誘導する
- リスクの高いリクエスト(金融機関の送金、PII の処理など)を特定のエージェントに転送する
- 逆転送(サブエージェントからエージェント)
- 認証に失敗した試行を再試行する
- 追加の情報を収集するためにループバックする
- ユーザー要件の変更後の再認定
- 反復的なトラブルシューティング プロセス
構成
エージェント ビルダーから引き継ぎルールを構成するには:
- エージェント ノードの下にある [+] ボタンをクリックします。
- [引き継ぎルールを追加] を選択します。 [引き継ぎルール] 構成ペインが開き、子エージェントが一覧表示されます。
- 子エージェントを選択します。 ルール構成ペインが開きます。
- 転送の方向(親または子)を選択します。
- インターフェースを使用して変数に基づいて条件を定義することも、高度なコード オプションを使用することもできます。
- [保存] をクリックします。
高度なコード オプションを選択した場合のサンプルを次に示します。
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 を使用してのみ変更できます。