- Introduction
- Démarrage
- Créer avec Maestro BPMN
- Compréhension de la modélisation BPMN de Maestro
- Ouverture du canevas de modélisation
- Modéliser votre processus
- Alignement et connexion des éléments BPMN
- Patterns library
- Autopilot pour Maestro (aperçu)
- Référentiel de processus
- Implémenter un processus BPMN simple
- Implémenter un processus BPMN complexe
- Débogage
- Simulation
- Évaluations (Aperçu)
- Scénarios de mise en œuvre courants
- Building with Maestro Case
- Présentation de Maestro Case
- Maestro BPMN vs. Maestro Case : quand utiliser la gestion des incidents
- Le cycle de vie de Maestro Case : du déclencheur d'événement à l'expérience de l'application
- Créer votre premier incident avec Maestro Case
- Créer un Maestro Case avec un agent de codage (aperçu)
- Définition des clés de cas (système vs. externe)
- Établissement des contrats d'E/S et de réécriture de la tâche
- Règles de sortie et fin de l’étape précoce
- Modélisation des étapes primaires et secondaires
- Déclencher un cas à partir de Data Fabric
- Implémentation des personas et des autorisations au niveau de l'étape
- Définition des SLA et des règles d'escalade automatisées
- Configuration d'une boucle de retraitement (renouvellement)
- Configurer et tester l'agent Case Manager (aperçu)
- Contrat d’entrée et de sortie du gestionnaire de cas
- Dictionnaire des composants de Maestro Case
- Créer avec Maestro Flow
- Maestro Automate
- Intégrations
- Opérations
- Surveillance
- Optimisation
- Informations de référence
Voice Agent
Un agent vocal qui s'attache à un appel en direct et qui communique avec l'appelant.
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 persona, la requête, les outils, les index d'ancrage dans le contexte et les escalades directement sur le nœud.
Les deux directions d'appel utilisent la même forme en trois étapes:
| Direction | Séquence de nœuds |
|---|---|
| Entrant | Appel entrant → Agent vocal → Terminer l'appel |
| Sortant | Créer un appel sortant → Agent vocale → Terminer l'appel |
Le nœud est libellé Agent vocale dans la catégorie Agent de la palette de nœuds.
Référence de la configuration
| Champ | Description |
|---|---|
| Modèle | Le modèle de reconnaissance vocale en temps réel. |
| Utilisateur | La voix du modèle sélectionné. |
| Requête système | Le rôle de l’agent, ses instructions permanentes et la façon dont il doit fermer la conversation. |
| Température | Créativité de la réponse de 0 à 1. |
| Nombre maximum de jetons | Jeton maximum pour une conversation. |
| Contexte 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 flux.
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.
- 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'outil | Disponibilité |
|---|---|
| Processus RPA | Disponible |
| Workflows d’API | Disponible |
| Activités | Disponible |
| Autres flux (Maestro) | Disponible |
| Process orchestration | Disponible |
| Fonctions codées | Disponible |
| Agent (invoquer un agent autonome publié) | Disponible |
| Connecteurs Integration Service | Disponible |
| Index d'ancrage dans le contexte | Disponible |
| Outils intégrés (Analyser les fichiers, RAG profonde, transformation par lots) | Non disponible |
| Escalades | Non disponible |
| Outils de protocole MCP | Non disponible |
| A2A (Agent vers Agent) | Non disponible |
| IXP (extraction de documents) | 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 le canevas Flux:
- 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
- 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. Voir garde-fous d'outils.
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 flux 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. Voir Transcription de l'appel.
Le transfert d'un appel à une personne n'est pas pris en charge. Il n'y a aucun transfert d'appel en direct.
Transcription de l'appel
Pour lire une transcription après un appel, ouvrez le traçage de l'exécution de Debug ou les traçages de tâche Orchestrator. Voir Observabilité.
Pour utiliser la transcription à l'intérieur du flux:
- Ajoutez un nœud Obtenir le contexte de la conversation .
- Transmettez
$vars.<incomingOrOutgoingCallNodeId>.output.callContext.conversationId. Par exemple,<incomingOrOutgoingCallNodeId>peut êtrecreateOutgoingCall1. - Référencez la transcription en tant que
$vars.<getConversationContextNodeId>.output.conversationContext.messages. Par exemple,getConversationContextNodeIdpeut êtregetConversationContext1.
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. Le dossier Orchestrator ne contient aucun robot Unattended ou par défaut auquel une machine sans serveur est affectée. Par conséquent, chaque appel d'outil est renvoyé comme une erreur et l'agent reste conversationnel. Ajoutez un robot au dossier, puis appelez à nouveau. Voir Exigences du dossier Orchestrator.
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 flux 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 .
Pages liées
- Incoming Call
- Create Outgoing Call
- End Call
- Déploiement — connexion d'un numéro et le liaison à un flux.