Chapitres26 · Les autres nœuds du workflow

Module 7 · Aller plus loin

Chapitre 2 sur 4 dans cette partie

Les autres nœuds du workflow

ObjectifVous savez ce que font le Routeur, Condition, Branche, Parler, Écouter et Variable, comment les régler, et quand ils valent mieux qu'un Agent ou une règle.

La famille « Flux » de la palette contient sept nœuds. Vous en utilisez déjà un, l’Appel API. Les six autres ne font pas partie de l’agent que vous construisez dans cette formation, et n’y entrent pas. Cette leçon est une fiche de référence : ce que fait chaque nœud, ses réglages, ses pièges, et un exemple à faire sur un agent d’essai, à part.

Sont-ils dans votre palette ?

Le Routeur, Condition, Branche, Parler, Écouter et Variable sont désactivés par défaut. Manivox les active organisation par organisation. Votre compte de formation a les mêmes nœuds que le reste de votre organisation.

  • Ouvrez la palette, famille « Flux ». Si vous n’y voyez ni « Routeur » ni « Condition », votre organisation ne les a pas.
  • Vous n’en avez pas besoin pour cette formation ni pour la plupart des agents.
  • Si un projet client en demande vraiment un, parlez-en à votre contact Manivox.

Pour situer : sur les agents en production chez Manivox, la Branche apparaît dans 7 workflows, Condition, Parler, Écouter et Variable dans aucun. Presque tout se construit avec des Agents, des routes, des règles et des variables collectées.

Le Routeur

Le Routeur ne fait qu’aiguiller. Il n’a pas de prompt et ne parle jamais de lui-même : il choisit une de ses routes, et c’est le nœud d’arrivée qui parle.

Réglage Ce qu’il fait
« Instructions d’aiguillage (facultatif) » Une consigne de plus pour le classifieur, par exemple sur un cas limite. Les variables {{…}} y sont remplacées.
« Routes », puis pour chaque « Route » un nom et « Quand l’appelant doit-il aller par ici ? » Comme les routes de sortie d’un Agent : un nom court, et une description écrite du point de vue de l’appelant (leçon 7).
« Route par défaut » La route prise quand aucune ne correspond.
« Question de relance » Dite quand aucune route ne correspond et qu’il n’y a pas de route par défaut. Le Routeur attend alors la réponse, et la classe à son tour.

Quand l’appel arrive sur lui :

  • L’appelant vient de faire une demande (il arrive d’un spécialiste qui l’a renvoyé, par exemple) : le Routeur choisit tout de suite, sur ses derniers mots, et le nœud suivant répond à cette demande.
  • L’agent vient de poser une question : le Routeur attend la réponse, puis choisit.

Ce qu’il ne fait pas, à la différence des routes d’un Agent : pas de route « Une règle est remplie », pas de « Message de transition », pas de route vers lui-même.

Quand s’en servir : sur un gros agent, quand recopier les routes de l’Accueil sur chaque spécialiste devient lourd (leçon 9). Les spécialistes renvoient alors vers lui par une seule route « Autre demande », et il choisit aussitôt, sans parler. Pour l’agent de cette formation, l’Accueil et les routes des spécialistes font le même travail avec un nœud de moins.

La Condition

Animation : un nœud Condition sur la variable statut_reparation

La Condition teste une variable et envoie l’appel vers une de ses deux sorties, « Vrai » ou « Faux ». Elle agit à l’instant, sans IA, sans parler et sans attendre l’appelant.

« Type de condition » : « Comparaison de variable » (le cas courant) ou « Expression ».

En « Comparaison de variable », choisissez la « Variable », un « Opérateur » et une « Valeur de comparaison » (qui peut contenir une autre variable {{…}}).

« Opérateur » Vrai quand…
Égal la variable vaut exactement la valeur, majuscules ignorées
Pas égal elle vaut autre chose, majuscules ignorées
Contient la valeur apparaît dans la variable, majuscules ignorées
Supérieur à, Inférieur à les deux sont des nombres et la comparaison tient. Un nombre écrit avec une virgule (3,5) n’est pas lu : la Condition part sur « Faux ».
Existe la variable a été créée, même vide

Les espaces comptent : prête et prête (avec un espace à la fin) ne sont pas égaux pour une Condition.

En « Expression », vous écrivez un test, par exemple {{nb_appels}} > 3 and "{{statut}}" == "actif". Mettez les variables de texte entre guillemets, et écrivez and et or, jamais && ni ||. Dans une expression, les majuscules comptent.

« Label Vrai » et « Label Faux » renomment seulement les sorties sur le canevas.

La Branche

Animation : un nœud Branche sur current_day_of_week

La Branche compare une variable à une liste de « Cas » et ouvre une sortie par cas, plus une sortie « défaut ». Elle aussi agit à l’instant, sans IA, sans parler et sans attendre.

  • « Variable » : la variable à lire.
  • « Cas » : une « Valeur à comparer » par ligne. « Ajouter » en crée une autre ; il en faut au moins une.
  • La comparaison se fait au mot près, majuscules et espaces autour ignorés : Dimanche correspond au cas dimanche. Pas d’opérateur, pas de nombre : 5 ne correspond pas à 5.0.
  • Le premier cas qui correspond gagne. Un cas laissé vide est ignoré.
  • Aucun cas ne correspond, ou la variable est vide : l’appel prend « défaut ».

Ce que font Parler, Écouter et Variable

Nœud Ce qu’il fait Ce que vous utilisez déjà à la place
Parler Dit un « Message » fixe, puis passe aussitôt au nœud suivant. « Message de transition » d’une route, « Message d’accueil (en provenance d’un autre noeud) », « Message avant transfert », « Message d’attente » d’un outil.
Écouter Attend la phrase suivante de l’appelant et la range telle quelle dans une variable (« Nom de la variable »). Les variables collectées (leçon 12) : l’IA extrait la seule information utile, au bon type.
Variable Change une variable : « Définir », « Ajouter », « Incrémenter », « Décrémenter ». Les actions au démarrage, le mapping d’une réponse d’API, les variables collectées.

Quand ils servent vraiment

  • Décider sur une donnée de système, entre deux nœuds. Une valeur arrive d’une API, d’une action au démarrage ou d’un fichier de campagne, et le chemin en dépend. Une Condition ou une Branche décide tout de suite, sans tour de conversation.
  • Dire une phrase fixe, toujours la même. Une annonce obligatoire, par exemple, que vous ne voulez pas confier à l’IA.

Jamais sur ce que dit l’appelant : c’est le travail des routes. Le classifieur comprend « ouais, ça marche » ; une Branche qui attend oui ne le reconnaît pas.

Un exemple, sur un agent d’essai

Cet exemple ne s’ajoute pas à votre agent de formation. Si votre palette a ces nœuds et que vous voulez les essayer, créez un agent à part dans votre compte de formation (« Essai Branche », par exemple), avec un Départ et un Agent simple.

Le besoin : annoncer, le dimanche, que le lieu est fermé, juste avant l’étape qui prend la demande, avec une phrase toujours la même.

  1. Déposez une « Branche », « Label » : Jour. « Variable » : current_day_of_week. « Cas 1 » : dimanche.
  2. Déposez un « Parler », « Label » : Fermé. « Message » : Nous sommes dimanche : nous sommes fermés aujourd'hui, mais je peux prendre votre demande.
  3. Reliez : le Départ → Jour ; cas dimanche → Fermé → l’Agent ; « défaut » → l’Agent.

Honnêtement, un agent sait déjà quel jour on est : {{current_day_of_week}} est dans ses prompts depuis la leçon 11. La Branche apporte une seule chose : la phrase est fixe et dite à chaque fois, sans dépendre de l’IA. Si ce n’est pas important pour votre client, gardez le workflow plus simple.

Vérifiez