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 pour les transferts. 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 la conversation à l'agent B lorsqu'un utilisateur est authentifié ou à l'agent C lorsque l'utilisateur n'est pas authentifié.
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 l'écriture de code.
Exemples de cas d'utilisation :
- Transferts en avant (agent vers sous-agent)
- Diriger les utilisateurs authentifiés ou non authentifiés vers différents agents
- Comprendre l'intention de l'utilisateur et le diriger vers l'agent approprié
- Diriger les demandes à fort enjeu (par exemple, les transferts financiers, le traitement des informations personnelles) vers des agents spécifiques
- Transferts en arrière (sous-agent vers agent)
- Réessayer les tentatives d'authentification ayant échoué
- Revenir en arrière pour recueillir des informations supplémentaires
- Nouvelle qualification après modification des exigences de l'utilisateur
- Processus de dépannage itératifs
Configuration
Pour configurer des règles de transfert à partir du générateur d'agents :
- Cliquez sur le bouton + sous un nœud d'agent.
- 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.
- Sélectionnez un agent enfant. Le volet de configuration des règles s'ouvre.
- Sélectionnez le sens du transfert (vers le parent ou vers l'enfant).
- Vous pouvez utiliser l'interface pour définir des conditions basées sur des variables ou utiliser l'option de code avancé.
- 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 lier à l'aide d'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 compatibles avec les vérifications de variables (les types de listes et d'objets personnalisés ne sont pas compatibles).
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, 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.