Guide

Statut éditorial : En attente de relecture

Construire un voice agent : architecture STT → LLM → TTS

Concevoir un agent vocal temps réel avec transcription, modèle de langage, outils, synthèse, interruptions, sécurité et observabilité.

Classification du contenu

Types

  • Speech et voix
Niveau
Avancé
Publié le
24 août 2026
Dernière relecture
Relecture en attente
Prochaine vérification
24 octobre 2026

Pourquoi ce sujet est important

Un voice agent n’est pas un chatbot auquel on ajoute un microphone. La parole arrive en continu, les utilisateurs hésitent, se coupent, changent de sujet et attendent une réponse presque immédiate. L’architecture doit donc gérer audio, tours de parole, outils métier et interruption comme un système temps réel.

Le pipeline de bout en bout

Le client capture l’audio et l’envoie par WebRTC ou WebSocket. Un composant de détection d’activité vocale repère début et fin de parole. Le STT produit des transcriptions intérimaires puis finales. Le gestionnaire de dialogue construit le contexte, appelle le LLM et contrôle les outils. Le TTS diffuse la réponse dès qu’un segment est stable.

Définir les tours de parole

Une pause ne signifie pas toujours que l’utilisateur a terminé. Combinez VAD, ponctuation ou événement de finalisation du STT et temporisation. Les résultats intérimaires servent à anticiper, mais une action métier ne doit partir qu’après confirmation suffisante. Conservez un état explicite : écoute, réflexion, parole, interruption et transfert humain.

Réduire la latence

Mesurez séparément capture, réseau, finalisation STT, premier token LLM et premier octet TTS. Commencez l’appel LLM sur une transcription stable, diffusez par phrases et préconnectez les services. Réduisez le contexte au nécessaire. Optimiser un seul composant ne suffit pas si la moitié du délai vient de la détection de fin de tour.

Gérer le barge-in

Quand l’utilisateur reprend la parole, interrompez immédiatement la lecture, annulez le flux TTS et signalez au gestionnaire de dialogue quelle partie a réellement été entendue. Évitez d’ajouter au contexte une réponse complète qui n’a jamais été jouée. Testez doubles interruptions et bruit de fond.

Encadrer les outils

Le LLM propose un appel ; le backend authentifie, autorise et valide les arguments. Une prise de rendez-vous, un paiement ou une modification de dossier exige récapitulatif et confirmation. Rendez les outils idempotents et bornez nombre d’étapes, durée et coût.

Sécurité et données

Informez que la voix est synthétique lorsque nécessaire. Définissez consentement, durée de conservation de l’audio et accès aux transcriptions. Masquez secrets et PII dans les traces. Prévoyez un transfert humain et une alternative clavier pour l’accessibilité.

Tableau de décision

BesoinChoix courantPoint à tester
Navigateur temps réelWebRTCRéseau mobile et écho
Prototype serveurWebSocketBackpressure et reconnexion
STTStreamingFrançais, bruit et finalisation
TTSStreaming faible latencePremier octet et barge-in
Action sensibleConfirmation humaineIdempotence et audit

Exemple concret

Un agent de prise de rendez-vous reçoit “mardi après-midi”. Le STT finalise le tour, le LLM demande les créneaux disponibles, puis propose deux options. L’utilisateur coupe la première phrase pour choisir 16 h. Le système annule le TTS, reprend l’écoute et demande une confirmation complète avant d’écrire dans l’agenda.

Les erreurs fréquentes

Checklist de mise en production

FAQ

WebRTC ou WebSocket ?

WebRTC gère mieux média, écho et réseau navigateur. WebSocket simplifie certains prototypes et flux serveur.

Faut-il un modèle vocal temps réel unique ?

Pas nécessairement. Une chaîne modulaire facilite le choix des fournisseurs et le diagnostic ; un modèle unifié peut réduire certaines latences.

Comment viser une conversation naturelle ?

Mesurez d’abord le délai au premier audio, la fin de tour et les interruptions, puis travaillez le style de voix.

Que journaliser ?

Durées, versions, événements de tours et résultats d’outils, avec redaction des contenus sensibles.

Sources utilisées