OpenAI a conçu GPT-Live, un chatbot conçu pour la voix qui écoute et parle simultanément, supprimant ainsi les pauses maladroites de type « parler puis écouter » utilisées par la plupart des assistants. Le service vise une conversation fluide, semblable à un dialogue humain, plutôt qu'à des échanges saccadés.
Pourquoi l'ancien modèle semblait défaillant
Les assistants vocaux classiques fonctionnent comme des talkies-walkies : vous terminez une phrase, l'appareil enregistre, envoie l'audio dans le cloud, attend une réponse, puis la diffuse. Cet aller-retour ajoute un décalage perceptible et oblige les utilisateurs à faire une pause avant de pouvoir interrompre l'appareil. Pour une génération habituée à la messagerie instantanée, ce délai semble archaïque.
OpenAI a répondu avec une architecture sans tour de parole (turn-less). Chaque seconde, GPT-Live décide s'il doit continuer d'écouter, continuer de parler ou faire une pause, vous permettant d'interrompre l'assistant en pleine réponse ou de poser une question de suivi sans attendre la fin du cycle de réponse.
La pile full-duplex expliquée simplement
- Séparation de la boucle audio et du chemin de raisonnement – Un chemin rapide (fast path) gère l'échange audio continu, tandis qu'un chemin lent (slow path) exécute des tâches plus lourdes comme des recherches web ou des appels d'outils. Le chemin rapide maintient la conversation active pendant que le chemin lent travaille, éliminant ainsi le redoutable moment de « silence pendant que je réfléchis ».
- Protocole WARP – Les connexions web traditionnelles nécessitent plusieurs échanges de synchronisation (handshakes) avant que l'audio ne puisse circuler, souvent six allers-retours. Le protocole personnalisé d'OpenAI condense ces étapes en un seul trajet, rendant le démarrage de la session presque instantané.
- Le passage de Python à Go pour la cohérence de la latence – L'équipe a déplacé les composants en temps réel de Python, prisé pour la rapidité de développement, vers Go, qui offre des temps d'exécution plus prévisibles. Dans l'IA vocale, le délai dans le pire des cas importe plus que la vitesse moyenne ; un seul bégaiement brise l'immersion, la latence constante est donc primordiale.
- Passer à l'échelle au-delà du GPU – Avec des centaines de millions d'utilisateurs, le goulot d'étranglement s'est déplacé des cœurs de calcul du modèle vers l'infrastructure environnante. OpenAI a constaté que les CPU et les liaisons réseau saturaient avant les GPU ; ils ont donc ajouté un routage et une gestion de connexion plus intelligents pour alimenter les GPU sans surcharger le reste de la pile.
Ce que cela signifie pour les développeurs
- Découpler la gestion de l'audio de la logique métier – Maintenez une boucle légère et toujours active qui traite l'entrée du microphone et la sortie des haut-parleurs. Déléguez tout ce qui peut attendre — requêtes de base de données, appels d'API externes — à un thread ou un service séparé.
- Prioriser la stabilité de la latence – Mesurez le temps de réponse en vous concentrant sur les délais dans le pire des cas plutôt que sur la simple moyenne. Les langages et environnements d'exécution offrant un contrôle plus précis sur l'ordonnancement (par exemple, Go, Rust) peuvent valoir l'effort d'ingénierie supplémentaire.
- Réduire la surcharge de connexion – Chaque échange de synchronisation supplémentaire ajoute des millisecondes qui finissent par s'accumuler. Regroupez l'authentification, la négociation de flux et la sélection du codec en un seul échange, et les utilisateurs remarqueront la différence.
Compromis et questions en suspens
La conception full-duplex ajoute de la complexité.
