Règles de transfert

Vous pouvez utiliser des règles de transfert pour contrôler de manière déterministe les transferts entre les agents parents et enfants dans une application multi-agents. Vous pouvez contrôler ces transferts en définissant des conditions. Vous pouvez forcer un transfert immédiatement lorsqu'une condition est remplie ou bloquer les transferts jusqu'à ce qu'une condition soit remplie.

Par exemple, l'agent A transfère l'utilisateur à l'agent B lorsqu'il est authentifié ou à l'agent C lorsqu'il ne l'est pas.

Vous pouvez obtenir un contrôle similaire sur les transferts d'agents à l'aide d'instructions, mais ce contrôle n'est pas déterministe. Vous pouvez également utiliser des rappels, mais ils nécessitent d'écrire du code.

Exemples de cas d'utilisation :

  • Transferts directs (d'un agent à un sous-agent)
    • Diriger les utilisateurs authentifiés ou non authentifiés vers différents agents
    • Comprendre l'intention de l'utilisateur et l'orienter vers le bon agent
    • Diriger les demandes à fort enjeu (par exemple, les transferts financiers ou le traitement des informations permettant d'identifier personnellement l'utilisateur) vers des agents spécifiques
  • Transferts en arrière (sous-agent vers agent)
    • Réessayer les tentatives d'authentification ayant échoué
    • Boucle de retour pour collecter des informations supplémentaires
    • Nouvelle qualification après modification des exigences des utilisateurs
    • Processus de dépannage itératifs

Configuration

Pour configurer des règles de transfert à partir d'Agent Builder :

  1. Cliquez sur le bouton + sous un nœud d'agent.
  2. Sélectionnez Ajouter des règles de transfert. Le volet de configuration des règles de transfert s'ouvre et les agents enfants sont listés.
  3. Sélectionnez un agent enfant. Le volet de configuration des règles s'ouvre.
  4. Sélectionnez le sens du transfert (vers le parent ou vers l'enfant).
  5. Vous pouvez utiliser l'interface pour définir des conditions basées sur des variables ou utiliser l'option de code avancé.
  6. Cliquez sur Enregistrer.

Si vous choisissez l'option de code avancé, voici un exemple :

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

Limites

Les limites suivantes s'appliquent.

Lorsque vous créez une règle qui utilise une vérification de variable, vous pouvez spécifier plusieurs conditions (une par variable). Vous pouvez les associer à l'aide des opérateurs logiques AND ou OR. Vous ne pouvez sélectionner qu'un seul opérateur (AND/OR) pour toutes les conditions listées. Si vous souhaitez combiner des opérateurs logiques et regrouper des conditions, vous pouvez utiliser l'option de code Python ou spécifier la condition à l'aide de l'API.

Seuls les types de variables "texte", "nombre" et "booléen" sont acceptés pour les vérifications de variables (les types "liste" et "objet personnalisé" ne sont pas acceptés).

Lorsque vous définissez une règle qui bloque les transferts, la condition ne peut être spécifiée qu'à l'aide de variables (et non de code).

Si vous créez une condition complexe à l'aide de l'API (en utilisant plusieurs AND/OR, des regroupements, etc.), la règle de transfert s'affiche en lecture seule dans l'interface utilisateur et ne peut être modifiée qu'à l'aide de l'API.