Les agents vocaux permettent aux utilisateurs de poser des questions et d’accomplir des tâches en parlant à votre application. Le principal choix de conception concerne l’articulation entre la parole, le raisonnement et les outils : une conversation continue avec un backend distinct, un modèle vocal unique ou un pipeline que vous contrôlez étape par étape.
Choisissez l’architecture adaptée
| Architecture | Idéal pour | Pourquoi la choisir |
|---|---|---|
| GPT-Live | Conversations en duplex intégral avec un backend distinct | Conservez votre workflow textuel existant et choisissez son backend indépendamment, tandis que la conversation se poursuit. |
| Realtime API | Parole, raisonnement et utilisation d’outils dans une seule session | Utilisez un seul modèle pour interpréter l’audio, décider des actions à effectuer et répondre oralement. |
| Pipeline vocal chaîné | Contrôle de chaque étape de traitement de la parole et du texte | Inspectez ou transformez le texte intermédiaire et remplacez chaque composant indépendamment. |
Créez un agent vocal en duplex intégral
GPT-Live peut écouter et parler simultanément, une capacité appelée duplex intégral. Le modèle vocal en temps réel gère l’interaction orale et délègue le raisonnement et l’utilisation d’outils à un backend distinct. Les utilisateurs peuvent continuer à parler pendant que le backend exécute les tâches.
Vous pouvez conserver votre workflow textuel existant, y compris sa logique métier et ses outils, et y ajouter GPT-Live comme interface vocale. Votre mode de délégation détermine qui exécute les tâches du backend et fournit le contexte de la conversation :
- Délégation côté client : Connectez votre propre agent ou workflow, avec 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 l’utilisation d’outils côté backend. GPT-Live fournit le contexte de la conversation et gère les appels à ce modèle ; votre application continue d’exécuter les fonctions personnalisées.
Dans les deux modes, votre application contrôle les autorisations et les données métier. Placez les consignes de comportement oral dans le prompt du modèle vocal en temps réel et les règles métier dans celui du backend.
Commencez par Bien démarrer avec GPT-Live. Consultez Délégation et outils pour configurer le backend et Conception de prompts pour les modèles vocaux pour définir le comportement oral.
Créez un agent vocal de parole à parole
Pour Realtime API, un RealtimeAgent et une RealtimeSession constituent un point de départ conçu avant tout pour le navigateur. La session gère les tours de parole, les outils, les interruptions et les transferts entre agents. L’exemple de démarrage complet se trouve désormais dans Bien démarrer avec Realtime API.
Créez un workflow vocal chaîné
Utilisez l’approche chaînée lorsque vous souhaitez inspecter ou transformer le texte entre la reconnaissance vocale, votre agent et la génération de parole. Votre application gère trois étapes :
- Transcription de la parole en texte
- Le workflow de l’agent lui-même
- Synthèse vocale à partir de 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", len(event.data))
if __name__ == "__main__":
asyncio.run(main())Utilisez cette approche lorsque chaque étape doit être observable ou remplaçable. Vous pouvez, par exemple, enregistrer la transcription, vérifier le respect des règles avant que l’agent textuel ne réponde, appeler des systèmes internes, puis générer la réponse vocale uniquement une fois que le workflow a abouti à une réponse approuvée.
Évaluez votre agent vocal
Testez séparément la qualité de la conversation et les résultats des tâches. Une réponse qui semble naturelle ne prouve pas qu’un outil a été exécuté ou que l’état de l’application a changé.
- Choisissez des scénarios représentatifs avec des résultats, des appels d’outils et des autorisations attendus.
- 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 une exécution d’évaluation qui échoue d’une exécution valide dans laquelle l’agent échoue à accomplir la tâche.
- Répétez les scénarios et comparez l’accomplissement des tâches, la latence des réponses audibles, les interruptions et les silences indésirables. Conservez le même interlocuteur, la même configuration du modèle, les mêmes outils et le même transport lorsque vous comparez des modifications.
Pour GPT-Live, mesurez ces dimensions indépendamment :
- Résultats des tâches et des outils : Vérifiez le respect de l’intention, les tâches déléguées, les arguments des 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 les délais de réponse audible, les silences indésirables, les chevauchements de parole et la capacité à céder la parole lors d’interruptions, y compris lorsque l’utilisateur apporte des corrections pendant l’exécution des tâches du backend.
- Parole et langue : Testez la reconnaissance de la parole en entrée avec différents accents, bruits de fond, changements de langue, noms et nombres. Évaluez l’intelligibilité de la sortie et le choix de la langue séparément de la reconnaissance.
- Fiabilité des sessions : Suivez les échecs de connexion, les pertes audio, les dépassements de délai et les sessions incomplètes séparément des scores des tâches.
Suivez les étapes Débuter, progresser et accélérer pour augmenter progressivement la complexité :
- Débuter : Utilisez une voix de synthèse pour des requêtes contrôlé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 obtenir des comparaisons reproductibles.
- Progresser : Rejouez des enregistrements représentatifs de personnes formulant des requêtes en un seul tour de parole pour tester l’effet des voix, des microphones, des pauses et des conditions acoustiques sur le comportement.
- Accélérer : Utilisez un interlocuteur simulé indépendant pour des conversations continues à plusieurs tours de parole. Testez les demandes de clarification, les changements d’exigences, les interruptions et la reprise lorsque la conversation et les tâches du backend se déroulent en parallèle.
Complétez les scores automatisés par une écoute humaine pour évaluer la prononciation, le naturel et la pertinence du rythme de la conversation.
Pour un harnais d’évaluation de GPT-Live, consultez le Cookbook sur l’évaluation des agents vocaux.
Pour un harnais d’évaluation de Realtime et des exemples détaillés, consultez le guide d’évaluation de Realtime dans l’OpenAI Cookbook. Le Cookbook regroupe les recettes d’évaluation exécutables ; cette page fournit la liste commune des points à tester.
Mesurez la latence
Définissez un événement de début et un événement de fin observables pour chaque mesure de latence. Le délai jusqu’à la première réponse audible, le délai avant délégation, le temps nécessaire pour céder la parole lors d’une interruption, le délai d’achèvement des tâches du backend et le délai jusqu’à l’accomplissement vérifié de la tâche correspondent à des intervalles différents. Utilisez une seule échelle de temps monotone et indiquez la population éligible, la médiane et la latence en queue de distribution. Ne remplacez pas le temps de réponse de bout en bout par une mesure limitée au backend.
Conservez le même interlocuteur, le même enregistrement, le même modèle de backend, le même prompt, le même transport, la même cadence audio et le même évaluateur lorsque vous comparez des modèles de frontend.
Pour GPT-Live, enregistrez les étapes que votre application peut observer : réception de la délégation, 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. La délégation côté client donne à votre application une visibilité directe sur ses requêtes au backend ; la délégation à Responses expose les événements des réponses imbriquées et les outils personnalisés que votre application exécute.
Utilisez ces intervalles pour localiser les retards dans l’établissement de la connexion, les traitements du modèle, les outils, la mise en mémoire tampon par l’application et la lecture audio. Mesurez le délai jusqu’à la première réponse orale utile séparément de celui d’un accusé de réception comme « Je vérifie ». Un accusé de réception plus rapide ne prouve pas que le résultat demandé est arrivé plus tôt.
Modifiez un seul facteur à la fois et répétez les mêmes scénarios. Comparez la médiane et les valeurs en queue de distribution du délai jusqu’aux réponses orales utiles, ainsi que la réussite des tâches, le bon fonctionnement des outils et les interruptions. Consultez Réduire la latence du backend pour des conseils de mise en œuvre.
Les agents vocaux utilisent les mêmes composants fondamentaux que les autres agents
L’interface vocale modifie le transport et la boucle audio, mais les principaux choix de conception du workflow restent les mêmes :
- Consultez Utilisation des outils lorsque l’agent vocal a besoin de capacités externes.
- Consultez Exécution des agents lorsque les workflows vocaux nécessitent du streaming, une reprise de l’exécution ou un état persistant.
- Consultez Orchestration et transferts entre agents lorsque les workflows vocaux se répartissent entre plusieurs spécialistes.
- Consultez Garde-fous et révision humaine lorsque les workflows vocaux nécessitent des contrôles de sécurité ou des approbations.
- Consultez Intégrations et observabilité si vous avez besoin de capacités reposant sur MCP ou souhaitez examiner le comportement du workflow vocal lors de son exécution.
En pratique, choisissez d’abord l’architecture audio, puis concevez le reste du workflow de l’agent comme vous le feriez pour le texte.
Étapes suivantes
Choisissez le guide sur le temps réel ou l’audio adapté à votre cas d’usage.
Utilisez le cycle de vie des sessions Realtime et leur modèle d’événements.
Connectez directement l’audio du navigateur et des appareils mobiles à une session Realtime.
Ajustez le raisonnement, les préambules, les outils, la capture d’entités et le comportement vocal.