Chapters16 · Un outil sur un nœud

This chapter is not translated yet, so you are reading it in French.

Module 4 · Connecting systems

Chapter 2 of 4 in this part

Un outil sur un nœud

GoalVous donnez une action à un nœud Agent comme outil, dites à l'IA quand s'en servir et aiguillez l'appel selon que l'enregistrement a réussi ou non.

Vos actions sont prêtes dans « Connexions ». Ici, l’agent apprend à s’en servir pendant la conversation : c’est l’IA qui décide du bon moment pour enregistrer le rendez-vous ou le message, avec ce que l’appelant lui a dit. Puis une route par règle regarde si l’outil a rempli sa variable, et mène l’appel à la bonne fin.

Un outil, c’est une action confiée à l’IA

  • Un nœud Agent peut recevoir des actions comme outils. Le modèle de langage lit leur description et leurs paramètres, et les appelle quand la conversation s’y prête.
  • Les outils sont par nœud. Un nouveau nœud Agent n’en a aucun, et il n’hérite pas de ceux des autres nœuds : donnez-les au nœud qui en a besoin, et à lui seul.
  • Une action d’écriture par nœud. Deux outils qui écrivent sur le même nœud, et l’agent se trompe d’outil bien plus souvent.
  • L’IA reçoit la réponse de l’outil et peut en parler, mais ce n’est pas elle qui aiguille. Pour changer de nœud selon le résultat, il faut une route par règle sur la variable que l’outil remplit (plus bas).

Donnez l’outil au nœud

Animation : donner une action du service web au nœud Agent

Nœud : Rendez-vous. Action : « Créer un rendez-vous ».

Nœuds : Rendez-vous reçoit « Créer un rendez-vous », Modifier reçoit « Modifier un rendez-vous ». Faites les étapes une fois pour chaque nœud.

Nœud : Prise de message. Action : « Enregistrer un message ».

  1. Ouvrez le nœud, onglet « Connexions ». Dépliez la section « Services Web ».
  2. Cliquez sur la carte de votre service, puis sur « Configurer les actions ».
  3. Cliquez sur la ligne de l’action : une coche apparaît. Les autres actions du service restent non cochées.
  4. Sous « Paramètres : », chaque paramètre est sur « Le LLM décide » : l’IA le remplit à partir de la conversation. Changez-en un seul (ci-dessous).
  5. « Message d’attente » de l’action : « Personnalisé », Je l'enregistre, un instant. Il est dit pendant que l’outil travaille, pour éviter un blanc.
  6. « OK ».

Paramètre telephone : « Valeur fixe », {{from_number}}. Le numéro de l’appel est connu : inutile de le demander, et l’IA ne peut pas se tromper en le recopiant.

Paramètre telephone : « Valeur fixe », {{from_number}}. Le numéro de l’appel est connu : inutile de le demander, et l’IA ne peut pas se tromper en le recopiant.

Laissez tous les paramètres sur « Le LLM décide » : l’appelant peut vouloir être rappelé sur un autre numéro que celui qui s’affiche. Quand une valeur est connue d’avance, « Valeur fixe » la remplit sans que l’IA la voie, par exemple {{from_number}}.

Dites à l’agent quand s’en servir

L’IA ne devine pas qu’elle doit attendre une confirmation, ni quoi dire si l’enregistrement ne passe pas. Dans le « Prompt système » du nœud, supprimez la ligne de récapitulatif ajoutée à la leçon 13 (« … sans poser de nouvelle question. ») et ajoutez ces lignes à la fin :

Enregistrement du rendez-vous :
- Il te faut le nom du client, l'immatriculation, la prestation et la date souhaitée.
- Nous sommes le {{current_date}}. Transforme une date relative (« mardi prochain ») en date précise et répète-la.
- Quand tu as tout, fais un récapitulatif en une phrase et demande au client de confirmer.
- Quand il confirme, enregistre le rendez-vous avec l'outil, une seule fois.
- Ne dis jamais que le rendez-vous est enregistré avant la réponse de l'outil.
- Quand l'outil a réussi, ne répète pas le récapitulatif et ne dis pas au revoir.
- Si l'outil échoue, n'insiste pas : dis que tu n'arrives pas à enregistrer le rendez-vous
  pour l'instant, et demande au client s'il veut que l'atelier le rappelle.

Pour Rendez-vous :

Enregistrement du rendez-vous :
- Il te faut le nom du patient et le créneau choisi (jour, heure, praticien).
- Quand tu as tout, fais un récapitulatif en une phrase et demande au patient de confirmer.
- Quand il confirme, enregistre la demande avec l'outil, une seule fois.
- Ne dis jamais que c'est enregistré avant la réponse de l'outil.
- Quand l'outil a réussi, ne répète pas le récapitulatif et ne dis pas au revoir.
- Si l'outil échoue, n'insiste pas : dis que tu n'arrives pas à enregistrer la demande
  pour l'instant, et demande au patient s'il veut que le secrétariat le rappelle.

Pour Modifier, le même texte, avec « le rendez-vous actuel et le nouveau créneau souhaité » à la place du créneau choisi. Modifier n’a pas de ligne de la leçon 13 à supprimer.

Enregistrement du message :
- Il te faut le nom de l'appelant, un numéro de rappel, la personne à prévenir et l'objet.
- Quand tu as tout, relis le message en une phrase et demande à l'appelant de confirmer.
- Quand il confirme, enregistre le message avec l'outil, une seule fois.
- Ne dis jamais que le message est transmis avant la réponse de l'outil.
- Quand l'outil a réussi, ne relis pas le message et ne dis pas au revoir.
- Si l'outil échoue, n'insiste pas : dis que tu n'arrives pas à enregistrer le message
  pour l'instant, conseille de rappeler un peu plus tard, et demande si tu peux faire
  autre chose.

Les lignes du milieu évitent deux défauts fréquents : l’agent qui annonce « c’est fait » sans avoir appelé l’outil, et l’agent qui dit au revoir juste avant le message de fin du nœud Raccrocher. La dernière prépare le chemin d’échec : l’agent annonce le problème et termine par une question, et c’est la réponse de l’appelant qui choisira la route.

Aiguillez sur le résultat de l’outil

Le classifieur des routes ne voit pas les appels d’outils : une route « l’appelant a obtenu son rendez-vous » ne se déclencherait jamais au bon moment. On utilise une route par règle (leçon 13) sur la variable que l’outil remplit.

  • Réussite. À la leçon 15, le « Mapping de réponse » $.id range dans une variable le numéro de la ligne que Baserow vient de créer : rdv_id pour les rendez-vous, message_id pour les messages. Il ne la remplit que si l’écriture a réussi. La règle « rdv_id est renseignée » est donc la preuve que c’est enregistré.
  • Échec. L’outil ne remplit rien, et l’agent reçoit un message d’erreur. Grâce au prompt, il le dit à l’appelant et lui propose une suite. Ce que l’appelant répond se juge comme toute parole : par une route « L’appelant dit quelque chose ».

Pas besoin de déclarer rdv_id ou message_id dans l’onglet « Variables » : l’éditeur les connaît par le mapping de l’action et les propose dans la règle. Ne les ajoutez pas non plus dans « Collecter » : c’est l’outil qui les remplit, pas la conversation.

  1. Sur le canevas, supprimez le nœud provisoire « Demande notée » (menu du nœud → « Supprimer »).
  2. Ajoutez un « Raccrocher », « Label » : RDV pris. « Message d’au revoir » : C'est noté, {{nom_client}}. À bientôt au Garage Lumière !
  3. Rendez-vous → « Routes de sortie » : ouvrez la route par règle « Demande notée » de la leçon 13. « Label » : Rendez-vous enregistré. Changez la variable : « Quand » « une variable… » rdv_id, « est renseignée ». Reliez sa sortie à RDV pris.
  4. « Ajouter une route de sortie ». « Label » : Rappel accepté. « Emprunter cette route quand… » : « L’appelant dit quelque chose ». « Description » : L'appelant accepte d'être rappelé par l'atelier, ou demande à être rappelé. Reliez-la à Rappel promis.
  5. Gardez la route « Fin de l’appel » : elle sert si l’appelant ne veut pas de rappel, ou abandonne.
  6. « Enregistrer » : v… – outil rendez-vous.
  1. Sur le canevas, supprimez le nœud provisoire « Demande notée » (menu du nœud → « Supprimer »).
  2. Ajoutez deux « Raccrocher » :
    • RDV pris : C'est noté, {{nom_patient}}. Le secrétariat vous confirme le rendez-vous. À bientôt au cabinet.
    • RDV modifié : C'est noté, {{nom_patient}}. Le secrétariat vous confirme le nouveau créneau. À bientôt.
  3. Rendez-vous → « Routes de sortie » : ouvrez la route par règle « Demande notée » de la leçon 13. « Label » : Rendez-vous enregistré. « Quand » « une variable… » rdv_id, « est renseignée ». Reliez-la à RDV pris.
  4. Sur Rendez-vous, « Ajouter une route de sortie » : Rappel accepté, « L’appelant dit quelque chose », « Description » : L'appelant accepte d'être rappelé par le secrétariat, ou demande à être rappelé. Reliez-la à Rappel promis.
  5. Modifier → deux nouvelles routes : Modification enregistrée, « Une règle est remplie », « une variable… » rdv_id « est renseignée », vers RDV modifié ; et Rappel accepté, la même description que sur Rendez-vous, vers Rappel promis. Les deux actions remplissent rdv_id (leçon 15) : chaque nœud n’a qu’un outil, la règle ne peut donc pas se tromper d’action.
  6. Dans le « Prompt système » de Modifier, supprimez la ligne Tu ne peux pas encore modifier l'agenda : dis que le secrétariat le rappellera pour confirmer. L’outil fait désormais ce travail ; laissée, cette ligne pousse l’agent à proposer un rappel au lieu d’enregistrer.
  7. Gardez la route « Fin de l’appel » des deux nœuds. « Enregistrer » : v… – outils rendez-vous.
  1. Prise de message → « Routes de sortie » : ouvrez la route par règle « Message transmis » de la leçon 13 (objet « est renseignée »). Renommez-la Message enregistré et changez la variable : message_id, toujours « est renseignée ». Elle reste reliée à Message transmis.
  2. Gardez la route « Fin de l’appel », reliée à Au revoir. C’est elle qui sert après un échec : l’agent a dit qu’il ne pouvait pas enregistrer le message et demandé s’il pouvait faire autre chose ; l’appelant répond qu’il rappellera, ou dit au revoir. Pas de « Rappel promis » ici : si le message n’est pas enregistré, personne ne saurait qui rappeler.
  3. « Enregistrer » : v… – outil message.

La règle est vérifiée juste après la réponse de l’agent, au tour où l’outil a répondu. La variable est déjà remplie à ce moment-là : l’appel part aussitôt vers la fin de la réussite. Si un premier essai échoue et qu’un second réussit, la variable est remplie par le second, et la règle part de même.

Essayez

  1. Dans l’onglet « Routes de sortie » du nœud, ouvrez « Aperçu des routes ». Sous « Valeurs des variables », laissez rdv_id (ou message_id) vide : la règle « ne correspond pas ». Tapez 1 : elle « correspond », et l’aperçu indique « l’appel emprunte cette route, instantanément ». Les routes « L’appelant dit quelque chose » sont marquées « en direct ».
  2. « Appel test navigateur », « Appelant simulé » : 33199000101.
  3. Suivez le chemin jusqu’au nœud, donnez les informations, confirmez le récapitulatif.

Par exemple : « Je voudrais faire une vidange, ma plaque c’est AB-123-CD, mardi prochain si possible. »

Par exemple : « Je voudrais un rendez-vous pour un détartrage, mercredi à 10 heures avec le docteur Roche. » Puis un second appel pour déplacer ce rendez-vous.

Par exemple : « Je voulais parler à Sophie Leroy, c’est au sujet de la maquette du catalogue, qu’elle me rappelle demain matin. »

Attendu : le message d’attente, puis « Noeud actif » passe sur le nœud Raccrocher de la réussite et son message est dit. Dans Baserow, la ligne est là, avec ce que vous avez dit.

Testez l’échec

Un chemin d’échec jamais parcouru n’est pas vérifié. Faites échouer l’outil le temps d’un appel, sans toucher à vos données :

  1. « Comptes » → votre compte de formation → onglet « Connexions ». Sur la carte de votre service, « Modifier ».
  2. Dans la « Valeur » de Authorization, ajoutez un x à la fin du jeton. « Enregistrer ». Baserow refusera désormais chaque requête du service.
  3. Nouvel « Appel test navigateur », avec le même « Appelant simulé ». Allez jusqu’à la confirmation.

Attendu : l’agent dit qu’il n’arrive pas à enregistrer le rendez-vous et propose que l’atelier vous rappelle. Répondez « Oui, rappelez-moi. » : la route « Rappel accepté » part, « Noeud actif » passe sur Rappel promis. rdv_id n’apparaît pas dans « Variables ».

Attendu : l’agent dit qu’il n’arrive pas à enregistrer la demande et propose que le secrétariat vous rappelle. Répondez « Oui, rappelez-moi. » : la route « Rappel accepté » part, « Noeud actif » passe sur Rappel promis. rdv_id n’apparaît pas dans « Variables ».

Attendu : l’agent dit qu’il n’arrive pas à enregistrer le message et conseille de rappeler plus tard. Répondez « D’accord, je rappellerai. Au revoir. » : la route « Fin de l’appel » part, « Noeud actif » passe sur Au revoir. message_id n’apparaît pas dans « Variables ».

  1. Revenez sur « Modifier », retirez le x, « Enregistrer ». Refaites un appel réussi pour vérifier que tout est rentré dans l’ordre.

Vérifiez

Point d’étape