Un visiteur pose une question à voix haute. Il obtient une réponse naturelle en moins d'une seconde. De l'extérieur, ça ressemble à un produit. De l'intérieur, c'est une chaîne : une couche transcrit la voix (STT), une couche génère la réponse (LLM), une couche la redit en parole (TTS).

Trois couches. Trois décisions. Et une règle implacable : un maillon lent ou faux dégrade toute la chaîne.

Le problème n'est pas que cette complexité existe.

C'est que la plupart des équipes ne la voient qu'après avoir fait les mauvais choix.

La stack naïve

Le réflexe est toujours le même : « On utilise OpenAI, non ? »

Une clé API, un contrat, une facture. C'est confortable. Et c'est précisément le piège : on ne choisit pas une stack, on choisit une simplicité d'achat. Chaque couche hérite d'un fournisseur par défaut, pas du meilleur pour le cas d'usage.

Rien contre OpenAI. Tout contre le choix par défaut.

Pourquoi chaque couche mérite sa décision

La transcription d'abord. Un modèle STT excellent sur l'anglais standard peut décrocher sur un accent bordelais ou un vocabulaire métier. Et une transcription fausse en entrée produit une réponse absurde en sortie, l'utilisateur n'entend pas « le STT s'est trompé », il entend « cet assistant est stupide ».

La voix ensuite. La voix est un actif de marque, au même titre qu'un logo. « Correct » ne suffit pas pour une marque premium : certains moteurs offrent une prosodie plus naturelle, d'autres le clonage vocal d'un ambassadeur réel. C'est une décision délibérée, pas un paramètre par défaut.

Le modèle enfin. Raisonnement complexe, instructions longues, multilingue : aucun LLM ne domine partout. Le bon modèle dépend de la tâche, et le bon LLM ne détermine en rien le bon STT.

Trois couches, trois champions différents. Les assembler chez un seul fournisseur, c'est optimiser la simplicité au détriment de chaque couche.

Comment Scenaro compose la chaîne

Scenaro s'appuie sur LiveKit, un moteur temps réel éprouvé, avec une quinzaine de plugins fournisseurs : Deepgram, ElevenLabs, Cartesia, Mistral, OpenAI, Google, et d'autres. Chaque couche se choisit indépendamment, selon son propre compromis latence, coût, qualité.

Le point décisif : la chaîne se configure par scénario, dans le Cockpit. Changer de STT, de LLM ou de voix est un réglage, pas une réécriture de l'expérience conversationnelle. La logique métier, les scénarios, la mémoire : rien ne bouge.

C'est ce qui tourne en production chez Club Français du Vin, Urbansider et Lupi. Même chaîne, réglages différents, parce qu'un concierge de voyage et un conseiller vin n'ont pas les mêmes contraintes de latence ni la même voix.

Et c'est le vrai test d'une architecture vocale : pas la démo du premier jour, mais la facilité avec laquelle vous changez d'avis au mois trois. Les équipes qui figent leur stack au lancement découvrent en production que le fournisseur par défaut n'était pas le bon, surtout sur le STT. Ce recalibrage doit être une routine, pas une refonte.

Un assistant vocal n'est pas un produit. C'est un assemblage de décisions. La bonne architecture donne à chaque couche le meilleur fournisseur pour votre contexte, et vous laisse changer d'avis sans rien reconstruire.