UiPath Documentation
maestro-automate
latest
false
Guide de l'utilisateur de Maestro Automate

Agent vocal

Configure a Voice agent: its model and prompts, output variables, tools, handoffs between agents, and the call transcript, with fixes for common issues.

Ce qu’il fait​

Associe un agent à un appel téléphonique en direct et échange avec l'appelant. L'audio est transmis directement à un modèle de reconnaissance vocale en temps réel, ce qui permet à l'appelant d'interrompre l'agent à mi-parcours. Configurez le modèle, le personnage, la requête, les outils et les index d’ancrage dans le contexte directement sur le nœud.

Les deux directions d'appel utilisent la même forme en trois étapes:

DirectionSéquence de nœuds
EntrantAppel entrant → Agent vocal → Terminer l'appel
SortantCréer un appel sortant → Agent vocale → Terminer l'appel

Le nœud est libellé Agent vocale dans la catégorie Agent du panneau Ajouter un nœud .

Référence de la configuration​

ChampDescription
ModèleLe modèle de reconnaissance vocale en temps réel. La valeur par défaut est gpt-realtime-2.1.
UtilisateurLa voix du modèle sélectionné. La valeur par défaut est Marin.
Requête systèmeLe rôle de l’agent, ses instructions permanentes et la façon dont il doit fermer la conversation.
TempératureCréativité de la réponse de 0 à 1.
Nombre maximum de jetonsJeton maximum pour une conversation.
Contexte d’appelDans la section Paramètres d'appel . L'appel auquel cet agent s'attache. Liez-le à un callContext en amont, par exemple $vars.createOutgoingCall1.output.callContext.

Variables de sortie​

Vous pouvez éventuellement configurer des variables de sortie structurées dans la section Sorties du panneau Propriétés. Ils sont utiles pour définir des variables de routage ou axées sur les objectifs à utiliser dans les nœuds en aval du workflow.

Chaque variable de sortie que vous déclarez devient un champ sur l’objet de sortie de l’agent, référencé sous la forme $vars.<agentName>.output.<name>. Donnez à chacun un nom et un type, puis indiquez à l’agent dans le champ de description de la variable comment le remplir. La génération de sortie est pilotée par une combinaison de l'invite système de l'agent et des descriptions de variables de sortie.

L'agent les remplit lorsqu'il termine sa session vocale.

Les deux utilisations les plus courantes sont les résumés d’appels et les transferts. Pour obtenir un résumé, déclarez une sortie telle que call_summary et utilisez sa description pour demander à l'agent de résumer l'appel. L'agent l'écrit lorsqu'il termine sa session, et les nœuds en aval le lisent comme $vars.voiceAgent1.output.call_summary.

Outils​

Connectez des outils au gestionnaire Outils pour donner à l'agent des capacités qu'il peut appeler tout en raisonnant. L'agent décide pendant sa boucle si et quand appeler chaque outil connecté. Chaque outil porte une description qui indique à l'agent à quoi sert l'outil, écrivez donc des descriptions claires lorsqu'un outil en expose une.

Lors de la conception d’outils pour les agents vocaux:

  • L'appelant attend chaque appel d'outil, afin de garder la tâche de chaque outil petite et rapide.
  • Les outils que les appels de l'agent dans le même cycle renvoient ensemble, le plus lent définit la durée pendant laquelle l'appelant reçoit l'appel.
  • Après un certain délai d'expiration, l'agent peut signaler un échec et réessayer, ce qui rend les outils idempotents. Un appel d'outil qui n'a pas été renvoyé dans les 180 secondes expirera.

Disponibilité des outils​

Catégorie d'outilDisponibilité
Processus RPADisponible
Workflows d’APIDisponible
ActivitésDisponible
Autres workflows (Maestro)Disponible
Process orchestrationDisponible
Fonctions codéesDisponible
Agent (appeler un agent autonome déployé)Disponible
ConnecteursDisponible
Index d'ancrage dans le contexteDisponible
Outils intégrés (Analyser les fichiers, RAG profonde, transformation par lots)Non disponible
EscaladesNon disponible
Outils de protocole MCPNon disponible
A2A (Agent à agent)Non disponible
Extraction et traitement intelligents (IXP) (extraction et traitement intelligents)Non disponible

Outils vocaux intégrés​

Chaque agent vocal a accès à deux outils intégrés. Ceux-ci sont inclus, mais non affichés dans la zone de dessin:

  1. Outil multi-fréquences à double ton: utilisé pour appuyer sur des chiffres sur le clavier du téléphone, qui peut être utilisé pour parcourir les arborescences de numéros de téléphone externes
  2. Terminer la session: utilisé pour quitter la conversation sans mettre fin à l'appel. Utile pour les transferts d'agents vocaux.

Garde-fous d’outils​

Des garde-fous au niveau des outils sont disponibles sur les outils connectés au nœud de l'agent vocal. Vous pouvez filtrer ou bloquer les paramètres d'entrée d'un outil. Configurez le garde-fou sur l'outil attaché au handle d'outils de l'agent vocal. garde-fous d'outils a plus de détails.

Transfert​

La fin d’une session vocale n’est pas la même que la fin de l’appel. Lorsqu’un agent termine sa session, il quitte l’appel, mais laisse la ligne ouverte: l’agent renseigne ses variables de sortie et le workflow se déplace vers le nœud suivant. Seuls le nœud d'appel Fin d'appel et l'appelant peuvent révoquer l'appel.

C'est ce qui rend les transferts possibles. Chaînez les nœuds de l'agent de reconnaissance vocale et liez-les tous au même contexte d'appel. Chaque agent met fin à sa propre session lorsqu'il est terminé, et seul le dernier chemin atteint Fin de l'appel, de sorte que l'appelant reste sur la ligne tout au long.

Un transfert comporte deux parties:

  • Routez vers le bon agent. Donnez au premier agent une variable de sortie, par exemple handoff, et utilisez sa description pour indiquer à l'agent quelle valeur définir. Branchez cette valeur avec un nœud Basculer afin que chaque cas mène à l'agent qui le gère.
  • Reportez le contexte. Un agent de réception ne sait rien de ce qui a déjà été dit. Référencez une sortie de résumé d'appel du premier agent dans son invite système ($vars.voiceAgent1.output.call_summary), ou ajoutez un nœud Obtenir le contexte de conversation sur la branche et référencez la transcription à la place. La section Transcription de l'appel contient des détails.
Remarque :

La transmission d'un appel à un humain n'est pas prise en charge. Il n'y a aucun transfert d'appel en direct.

L'agent Voix n'a pas de connexion d'escalades , car un appel ne peut pas attendre qu'une personne termine une tâche. Pour demander à une personne d'agir sur le résultat d'un appel, ajoutez un nœud de la catégorie Human (humain) , tel que Formulaire rapide, après l'agent appelant.

Transcription de l'appel​

Pour lire une transcription après un appel, ouvrez la trace d'exécution d'une exécution de test ou la trace d'une exécution déployée, comme décrit dans Monitor runtimes . L’observabilité a plus de détails.

Pour utiliser la transcription à l'intérieur du workflow:

  1. Ajoutez un nœud Obtenir le contexte de la conversation .
  2. Transmettez $vars.<incomingOrOutgoingCallNodeId>.output.callContext.conversationId. Par exemple, <incomingOrOutgoingCallNodeId> peut être createOutgoingCall1.
  3. Référencez la transcription en tant que $vars.<getConversationContextNodeId>.output.conversationContext.messages. Par exemple, getConversationContextNodeId peut être getConversationContext1.

Par exemple, vous pouvez transmettre la transcription à un agent autonome pour le traitement:

Problèmes couramment rencontrés​

L'agent communique normalement, mais n'exécute jamais un outil. Aucun robot Unattended ou par défaut avec une machine sans serveur n’est affecté à l’endroit où le workflow s’exécute, de sorte que chaque appel d’outil revient comme une erreur et l’agent reste conversationnel. Demandez à votre administrateur d’affecter un robot, puis appelez à nouveau. Les exigences de dossier sont plus détaillées.

L'appel se termine avant la fin de la conversation, mais il n'y a pas d'erreur. L'agent a mis fin à sa propre session à mi-conversation et le workflow est passé à Terminer l'appel. Il s'agit probablement d'un problème d'invite où l'agent appelant a commencé à aider l'appelant et a décidé de mettre fin à la session.

L’agent s’arrête ou produit des chaînes de chiffres en lecture statique. Avec Gemini en direct à la température 0, les longues chaînes de chiffres peuvent s'arrêter ou donner un son déformé. Augmentez légèrement la température . Si le problème persiste, essayez l'autre modèle.

L’agent ne parvient pas à se connecter avec une erreur de schéma d’outil. Le modèle Gemini accepte un sous-ensemble de schémas étroits. Aplatissez le schéma d’entrée de l’outil ou encapsulez l’outil dans un workflow d’API avec un schéma d’entrée plate et utilisez plutôt le workflow comme outil.

L'appel se connecte, personne ne prend la conversation et s'interrompt après environ 25 secondes. Un appel qui ne attache jamais d'agent se termine après environ 25 secondes d'absence. Liez le contexte de l'appel au callContext du déclencheur d'appel entrant ou du nœud Créer un appel sortant .

Prochaines étapes​

Cette page vous a-t-elle été utile ?

Connecter

Besoin d'aide ? Assistance(opens in new window)

Vous souhaitez apprendre ? UiPath Academy(opens in new window)

Vous avez des questions ? UiPath Forum(opens in new window)

Rester à jour