Mettre à jour l’état

Permettez à votre agent de mettre à jour des variables dynamiques en cours de conversation à l’aide d’expressions.

Vue d’ensemble

L’outil Mettre à jour l’état permet à votre agent de définir une ou plusieurs variables dynamiques pendant une conversation. Comme les autres outils système, il modifie uniquement l’état interne de la conversation. Il n’appelle jamais d’API externe ni de fonction côté client.

Utilisez-le pour enregistrer des informations au fil d’un appel, par exemple pour signaler qu’une conversation doit être transmise à un niveau supérieur, stocker une valeur fournie par l’utilisateur ou calculer une valeur dérivée d’autres variables dynamiques.

Fonctionnalités

  • Plusieurs mises à jour par appel : un seul appel d’outil peut attribuer jusqu’à 10 variables dynamiques à la fois.
  • Valeurs basées sur des expressions : chaque valeur est le résultat d’une expression, qui peut combiner des constantes, des variables dynamiques existantes, des valeurs extraites de la conversation par le LLM et des opérateurs.
  • Extraction par le LLM uniquement si nécessaire : l’outil demande au LLM d’extraire des paramètres uniquement pour les mises à jour qui le nécessitent. Les mises à jour entièrement fondées sur des constantes et/ou des variables dynamiques existantes n’ajoutent aucun paramètre à l’appel de fonction.
  • Disponibilité immédiate : dès que l’outil s’exécute, les variables dynamiques mises à jour sont accessibles dans le reste de la conversation. Les invites ultérieures, les autres appels d’outils et les remplacements peuvent tous y faire référence, comme à toute autre variable dynamique.

Fonctionnement

Chaque mise à jour d’état attribue le résultat d’une expression à une variable dynamique :

variable_name = expression

Une expression appartient à l’un des types suivants. Les expressions peuvent être imbriquées les unes dans les autres pour créer une logique plus complexe :

TypeDescription
ConstanteValeur fixe de type chaîne, nombre, booléen ou null.
Variable dynamiqueValeur actuelle d’une autre variable dynamique.
Valeur extraite par le LLMValeur que le LLM déduit de la conversation, correspondant à un type que vous définissez (chaîne, nombre ou booléen).
Opérateur logiqueand, or ou une expression conditionnelle (if / then / else) combinant d’autres expressions.
Opérateur de comparaison=, ≠, >, <, ≥, ≤, comparant deux expressions.
Opérateur arithmétique+, -, ×, ÷, combinant deux expressions numériques, ou deux chaînes pour +.

Par exemple, la mise à jour d’état suivante définit should_escalate sur true si le LLM estime que l’utilisateur est frustré, ou si une variable dynamique retry_count est déjà supérieure à 3 :

should_escalate = (llm: "User sounds frustrated with the conversation") OR (retry_count > 3)

Si l’évaluation d’une mise à jour d’état échoue, par exemple en cas de division par zéro, l’appel d’outil renvoie une erreur et aucune des mises à jour de cet appel n’est appliquée.

Configuration

1

Étape 1 : Ajouter l’outil

Accédez à la page de configuration de votre agent. Dans la section Outils, cliquez sur Add tool, puis choisissez Mettre à jour l’état.

2

Étape 2 : Définir les mises à jour d’état

Pour chaque mise à jour d’état, indiquez :

  • Nom de la variable : la variable dynamique à attribuer.
  • Expression : la valeur à attribuer, construite à partir des types de valeurs et d’opérateurs décrits ci-dessus. Les valeurs peuvent être imbriquées pour créer des expressions plus complexes.

Vous pouvez définir jusqu’à 10 mises à jour d’état pour un même outil.

3

Étape 3 : Configurer la description (facultatif)

Vous pouvez fournir une description personnalisée pour indiquer au LLM quand appeler l’outil. Si vous la laissez vide, une description par défaut optimisée pour cet outil est utilisée.

Cas d’utilisation

  • Indicateurs d’escalade : définissez une variable dynamique, par exemple should_escalate, qu’un système en aval ou une règle métier vérifie, comme indiqué dans le guide d’intégration Genesys.
  • Enregistrement des informations extraites : stockez une valeur fournie par l’utilisateur, comme un numéro de commande, une préférence ou le service choisi, dans une variable dynamique afin de l’utiliser plus tard dans la conversation.
  • Valeurs dérivées : calculez une valeur à partir d’autres variables dynamiques, par exemple en incrémentant un compteur ou en combinant deux variables en une seule.

Objectif : permettre à l’agent de mettre à jour une ou plusieurs variables dynamiques selon la conversation, sans appeler d’API externe.

Conditions de déclenchement : le LLM doit appeler cet outil lorsque :

  • La conversation fournit des informations qui doivent être enregistrées (par exemple, un indicateur d’escalade, une option choisie ou une valeur fournie par l’utilisateur)
  • Une mise à jour d’état configurée dépend d’une valeur que le LLM doit évaluer ou extraire de la conversation

Paramètres :

Les paramètres de la fonction dépendent de la configuration de l’outil. Chaque mise à jour d’état configurée qui utilise une valeur extraite par le LLM ajoute une propriété au schéma, nommée d’après la variable dynamique de cette mise à jour et de type string, number ou boolean. Les mises à jour d’état créées uniquement à partir de constantes ou d’autres variables dynamiques n’ajoutent aucun paramètre.

Format d’appel de fonction :

{
"type": "function",
"function": {
"name": "update_state",
"arguments": "{\"should_escalate\": true}"
}
}

Implémentation : l’agent évalue chaque expression configurée à l’aide des paramètres extraits et des variables dynamiques actuelles de la conversation, puis attribue les résultats aux variables dynamiques correspondantes. Aucune requête externe n’est effectuée.

FAQ

Non. Comme tous les outils système, Mettre à jour l’état modifie uniquement l’état interne de la conversation. Il n’appelle pas d’API externe ni de fonction côté client.

Non. L’outil demande au LLM d’extraire un paramètre uniquement pour les mises à jour d’état dont l’expression inclut une valeur extraite par le LLM. Si chaque mise à jour configurée repose sur des constantes et/ou des variables dynamiques existantes, l’appel de fonction ne prend aucun paramètre.

Partout où vous pouvez utiliser une variable dynamique : invites système, premiers messages, paramètres et en-têtes d’outils, ainsi que remplacements. Consultez les Variables dynamiques pour en savoir plus.

Mettre à jour l’état est actuellement configurable depuis le Dashboard de l’agent. La prise en charge via l’API et les SDK n’est pas encore disponible.