Nos premières impressions sur l’API GPT-Live-1 pour les agents vocaux
OpenAI a rendu disponible dans l’API GPT-Live-1, son nouveau modèle vocal full-duplex, il y a deux jours. Nous créons et exploitons des agents téléphoniques IA en production, alors nous l’avons mis sur un vrai numéro de téléphone et nous l’avons appelé. Beaucoup.
Nous l’avons testé avec un script de qualification de prospects chauds d’environ 13 000 tokens pour l’un de nos clients du secteur de l’assurance, avec des phrases imposées à réciter mot pour mot, des règles strictes de reformulation et des suivis conditionnels. Au cours d’une longue journée, nous avons effectué une douzaine de vrais appels téléphoniques, environ 25 entretiens simulés et une série de tests non structurés.
Voici nos premières impressions, avec transcriptions et audio. Une analyse plus approfondie arrive très bientôt.
Les transcriptions proviennent de nos appels de test, tels que transcrits par GPT-Live. Nous avons modifié les noms et les formulations permettant d’identifier les personnes, raccourci certains échanges et regroupé des fragments séparés. Les horodatages, en secondes depuis le début de l’appel, viennent des enregistrements d’origine.
Le naturel est exceptionnel
GPT-Live-1 est l’interlocuteur conversationnel au rendu le plus naturel que nous ayons mis sur une ligne téléphonique. C’est une véritable avancée.
Il écoute et parle sur un flux audio continu, sans étapes distinctes de transcription et de synthèse. La plupart des mécanismes conversationnels fonctionnent simplement. Les appelants entendaient son premier son environ 1,3 seconde après avoir cessé de parler (médiane), ou autour de 0,7 seconde sans le segment téléphonique. Nous n’avons ajouté aucune détection d’activité vocale ni logique de gestion des tours de parole. Il gère les interruptions avec fluidité, produit des acquiescements verbaux naturels (« Mm-hmm ») et parle à un rythme vif, proche de celui d’un humain.
Lorsqu’on lui donne des objectifs plutôt que des phrases à lire, il adapte ses questions à la conversation et accepte les corrections sans difficulté :
Il n’a jamais perdu son calme face aux corrections, aux interruptions ou aux appelants qui changeaient leurs réponses en cours d’appel. Si le naturel était tout ce qui comptait, cet article s’arrêterait ici. Malheureusement, ce n’est pas si simple.
Il ne suit pas les instructions de manière fiable
GPT-Live-1 ne suit pas de manière fiable les instructions concernant les comportements essentiels à un appel téléphonique scénarisé.
À plusieurs reprises, il a répondu à un « oui » clair comme si la réponse avait été « non », en reposant la question ou en poursuivant comme si l’appelant avait refusé.
L’échec le plus constant était sa tendance à prendre les instructions trop littéralement. Notre prompt indiquait : si l’appelant dit que sa situation de logement enregistrée est erronée, demandez-lui s’il est propriétaire, locataire ou vit chez ses parents. Un appelant a répondu « non, j’en suis propriétaire maintenant », ce qui répond déjà à cette question. Le modèle a tout de même récité le menu :
Certaines étrangetés initiales venaient de notre prompt, mais ce littéralisme s’est maintenu dans toutes les variantes de prompt que nous avons essayées. Toute réponse que nous n’avions pas explicitement prévue était traitée mécaniquement plutôt qu’avec bon sens.
Il lui arrive aussi de réfléchir à voix haute sous pression :
Les nombres et les codes alphanumériques sont risqués
Les noms épelés, les adresses, les dates de naissance et les numéros d'identification doivent être exacts. C'est là que la synthèse vocale de GPT-Live-1 pose le plus de problèmes.
Nous l'avons entendu supprimer et remplacer des caractères dans des chaînes alphanumériques. Ici, il lit un numéro de dossier fictif ; les extraits n'ont pas été modifiés, à part la suppression des silences. En anglais, sa transcription était correcte, mais l'audio a ajouté un « Y » :
En russe, c'était pire : le « Q » est devenu un « X » à la fois dans l'audio et dans sa transcription.
Les dates ont causé le même problème. Un appelant a donné une date de naissance sous forme de chiffres, que le modèle a ensuite relue comme un nombre :
Il prononce aussi parfois une réplique qui appartient à l'appelant :
Les accents dans d'autres langues
Nous testons les nouveaux modèles vocaux dans les 47 langues prises en charge par notre produit. Le russe de GPT-Live-1 était fluide, mais avec un fort accent américain (alors que les voix TTS que nous utilisons en production sonnent généralement comme des locuteurs natifs) :
Nous avons aussi essayé le luganda. Lors du premier appel, il a répondu en swahili à la place. Lors du second, il a parlé luganda, plus naturellement que ce que nous attendions d'un modèle généraliste, mais là encore avec un fort accent américain. Nous n'avons pas testé toutes les langues, mais nous pensons que ce schéma d'accent se généralise probablement. Cela n'a pas d'importance pour un agent limité à l'anglais, mais constitue une réserve assez importante pour les cas d'usage dans d'autres langues.
Quelques contraintes de l'API à connaître
D'après ce que nous avons constaté cette semaine, quelques contraintes de l'API comptent pour un véritable agent :
- Les instructions sont immuables après le début de la session, et limitées à 16 384 tokens.
- L'audio de sortie ne cesse jamais d'être diffusé en streaming — le silence est aussi diffusé — donc « l'audio s'est arrêté » ne peut pas servir de signal de fin de tour pour les cas d'usage qui doivent segmenter les tours.
- Il n'est accessible que via le nouvel endpoint
v1/live/sessions, et n'était pas encore disponible sur Azure lorsque nous avons vérifié.
Notre première impression
Les agents téléphoniques en production doivent paraître naturels et suivre les scripts de manière constante. GPT-Live-1 est remarquable pour le premier point, mais présente quelques problèmes sérieux sur le second. Nous effectuerons davantage de tests au fil du temps et continuerons à partager nos conclusions.