Les agents vocaux permettent aux utilisateurs de poser des questions et d’accomplir des tâches en parlant à votre application. Le principal choix d’architecture porte sur la façon d’articuler la parole, le raisonnement et les appels d’outils. Vous pouvez opter pour une conversation continue avec un backend distinct, un modèle vocal unique ou un pipeline dont vous contrôlez chaque étape.
Choisissez l’architecture adaptée
| Architecture | Cas d’usage privilégié | Pourquoi la choisir |
|---|---|---|
| GPT-Live | Conversations en duplex intégral avec un backend distinct | Conservez votre workflow textuel et choisissez son backend indépendamment du modèle vocal. La conversation peut se poursuivre pendant le traitement. |
| Realtime API | Parole, raisonnement et utilisation d’outils dans une même session | Utilisez un seul modèle pour interpréter l’audio, décider de l’action à entreprendre et répondre à voix haute. |
| Pipeline vocal en chaîne | Contrôle de chaque étape du traitement de la parole et du texte | Examinez ou transformez le texte intermédiaire et remplacez chaque composant indépendamment des autres. |
Créez un agent vocal en duplex intégral
GPT-Live peut écouter et parler en même temps. C’est ce qu’on appelle le duplex intégral. Le modèle vocal gère la conversation en direct et délègue le raisonnement et les appels d’outils à un backend distinct. Les utilisateurs peuvent continuer à parler pendant que le backend traite leur demande.
Vous pouvez conserver votre workflow textuel, avec sa logique métier et ses outils, et lui ajouter GPT-Live comme interface vocale. Votre mode de délégation détermine qui exécute les tâches côté backend et qui fournit le contexte de la conversation.
- Délégation côté client : connectez votre propre agent ou workflow en utilisant le modèle et le fournisseur de votre choix pour le backend. Votre application exécute les tâches et renvoie les résultats à GPT-Live.
- Délégation à Responses : choisissez un modèle Responses hébergé par OpenAI pour le raisonnement et les appels d’outils côté backend. GPT-Live fournit le contexte de la conversation et gère les appels à ce modèle. Votre application reste chargée d’exécuter les fonctions personnalisées.
Dans les deux modes, votre application contrôle les autorisations et les données métier. Définissez la façon de s’exprimer dans le prompt du modèle vocal et les règles métier dans le prompt du backend.
Commencez par le guide Premiers pas avec GPT-Live. Consultez Délégation et outils pour configurer le backend et Rédaction de prompts pour les modèles vocaux pour définir la façon dont le modèle s’exprime.
Créez un agent vocal parole à parole
Avec la Realtime API, utilisez un RealtimeAgent et une RealtimeSession pour démarrer dans le navigateur. La session gère les tours de parole, les outils, les interruptions et les passages de relais entre agents. Vous trouverez désormais l’exemple de démarrage complet dans Premiers pas avec la Realtime API.
Créez un workflow vocal en chaîne
Optez pour un pipeline en chaîne si vous souhaitez examiner ou transformer le texte entre la reconnaissance vocale, le traitement par votre agent et la synthèse vocale. Votre application gère trois étapes :
- La transcription de la parole en texte
- Le workflow de l’agent proprement dit
- La synthèse vocale à partir du texte
import asyncio
import numpy as np
from agents import Agent, function_tool
from agents.voice import AudioInput, SingleAgentVoiceWorkflow, VoicePipeline
@function_tool
def get_weather(city: str) -> str:
"""Get the weather for a given city."""
return f"The weather in {city} is sunny."
agent = Agent(
name="Assistant",
instructions="You are a helpful voice assistant.",
model="gpt-6-astra",
tools=[get_weather],
)
async def main() -> None:
pipeline = VoicePipeline(workflow=SingleAgentVoiceWorkflow(agent))
audio_input = AudioInput(buffer=np.zeros(24000 * 3, dtype=np.int16))
result = await pipeline.run(audio_input)
async for event in result.stream():
if event.type == "voice_stream_event_audio":
print("Received audio bytes", event.data.nbytes)
if __name__ == "__main__":
asyncio.run(main())Choisissez cette architecture si vous devez pouvoir observer ou remplacer chaque étape. Vous pouvez, par exemple, enregistrer la transcription, vérifier le respect de vos règles avant que l’agent textuel ne réponde, appeler des systèmes internes, puis lancer la synthèse vocale une fois la réponse du workflow approuvée.
Évaluez votre agent vocal
Testez à la fois la conversation et le résultat de la tâche. Pour un assistant de prise de rendez-vous, écoutez la confirmation et vérifiez que le rendez-vous enregistré correspond à la demande.
- Choisissez des scénarios représentatifs et précisez pour chacun les résultats attendus, les appels d’outils prévus et les autorisations nécessaires.
- Enregistrez l’audio, les événements, les résultats des outils et l’état de l’application nécessaires pour vérifier chaque résultat. Distinguez les cas où l’évaluation elle-même échoue de ceux où elle se déroule correctement mais où l’agent échoue dans sa tâche.
- Répétez les scénarios et comparez la réussite des tâches, le délai avant que l’appelant entende la réponse, les interruptions et les silences indésirables. Pour mesurer l’effet d’une modification, gardez le même appelant, la même configuration de modèle, les mêmes outils et le même mode de transport.
Pour GPT-Live, évaluez séparément les dimensions suivantes :
- Résultats des tâches et des outils : vérifiez que l’agent respecte l’intention de l’appelant. Contrôlez les tâches déléguées, les arguments transmis aux outils, les autorisations et l’état final de l’application. Vérifiez que les confirmations orales correspondent aux actions effectivement réalisées.
- Rythme de la conversation : mesurez le délai avant que l’appelant entende la réponse, les silences indésirables et les chevauchements de parole. Évaluez aussi la capacité de l’agent à céder la parole lorsqu’on l’interrompt, notamment si l’appelant apporte une correction pendant le traitement côté backend.
- Parole et langue : testez la reconnaissance vocale avec différents accents, du bruit de fond, des changements de langue, des noms et des nombres. Évaluez l’intelligibilité de la réponse et le choix de la langue séparément de la reconnaissance vocale.
- Fiabilité des sessions : suivez les échecs de connexion, les pertes audio, les dépassements de délai et les sessions incomplètes indépendamment des scores de réussite des tâches.
Augmentez progressivement la complexité en trois étapes : voix de synthèse, enregistrements humains et conversations simulées.
- Voix de synthèse : utilisez la parole synthétique pour tester, dans des conditions contrôlées, des demandes formulées en un seul tour de parole. Conservez le même audio généré, le même contexte applicatif et le même résultat attendu pour pouvoir reproduire les comparaisons.
- Enregistrements humains : rejouez des enregistrements représentatifs de personnes formulant une demande en un seul tour de parole. Testez ainsi l’influence des voix, des microphones, des pauses et des conditions acoustiques sur le comportement de l’agent.
- Conversations simulées : utilisez un simulateur d’appelant indépendant pour mener des conversations continues sur plusieurs tours de parole. Testez la façon dont l’agent clarifie une demande, s’adapte à de nouvelles exigences, gère les interruptions et reprend le fil lorsque la conversation se poursuit pendant le traitement côté backend.
Complétez les scores automatisés par une écoute humaine pour juger de la prononciation, du naturel de la parole et du rythme de la conversation.
Vous trouverez un harnais d’évaluation pour GPT-Live dans l’exemple du Cookbook consacré à l’évaluation des agents vocaux.
Pour accéder à un harnais d’évaluation pour Realtime et à des exemples détaillés, consultez le guide d’évaluation de Realtime dans l’OpenAI Cookbook.
Mesurez la latence
Mesurez le temps que les appelants attendent avant d’entendre une réponse utile. Mesurez séparément le temps de traitement côté backend pour repérer les retards. Comparez la médiane et le 95e centile sur des appels similaires.
Pour comparer les modèles côté frontend, gardez le même appelant, le même enregistrement, le même modèle côté backend, le même prompt, le même mode de transport, la même cadence audio et le même évaluateur.
Avec GPT-Live, horodatez les étapes que votre application peut observer : réception de la demande déléguée, début de la requête au backend, premier résultat utile, début et fin de l’exécution de l’outil, envoi du résultat, arrivée de l’audio et lecture côté client. Avec la délégation côté client, votre application peut observer directement ses requêtes au backend. Avec la délégation à Responses, elle a accès aux événements des réponses imbriquées et aux outils personnalisés qu’elle exécute.
Utilisez ces mesures pour repérer les retards liés à l’établissement de la connexion, au traitement par le modèle, aux outils, à la mise en mémoire tampon ou à la lecture audio. Mesurez séparément le délai avant un accusé de réception tel que « Je vérifie » et le délai avant la réponse dont l’appelant a besoin.
Modifiez un seul facteur à la fois et répétez les mêmes scénarios. Vérifiez si des réponses plus rapides ont aussi un effet sur la réussite des tâches, la bonne utilisation des outils ou les interruptions. Consultez Réduction de la latence côté backend.
Les agents vocaux reposent sur les mêmes composants de base que les autres agents
L’interface vocale modifie le mode de transport et la boucle de traitement audio. Les choix de conception du workflow restent les mêmes :
- Consultez Utilisation des outils lorsque l’agent vocal a besoin de fonctionnalités externes.
- Consultez Exécution des agents lorsque vos workflows vocaux nécessitent une diffusion en continu, la reprise de l’exécution ou un état persistant.
- Consultez Orchestration et passages de relais lorsque vos workflows vocaux orientent les demandes vers différents agents spécialisés.
- Consultez Garde-fous et vérification humaine lorsque vos workflows vocaux nécessitent des contrôles de sécurité ou des approbations.
- Consultez Intégrations et observabilité si vous avez besoin de fonctionnalités accessibles via MCP ou si vous souhaitez examiner le déroulement d’un workflow vocal.
En pratique, choisissez d’abord l’architecture audio, puis concevez le reste du workflow de l’agent comme vous le feriez pour du texte.
Étapes suivantes
Choisissez le guide sur le temps réel ou l’audio adapté à votre cas d’usage.
Découvrez comment gérer le cycle de vie d’une session Realtime et utiliser son modèle d’événements.
Connectez directement les flux audio d’un navigateur ou d’un appareil mobile à une session Realtime.
Ajustez le raisonnement, les préambules, l’utilisation des outils, l’extraction des entités et la façon dont l’agent s’exprime.