Un agente de voz puede construirse como una cadena de piezas o como un único modelo que escucha y responde. Las dos opciones funcionan. No cuestan lo mismo ni suenan igual.
El pipeline clásico
La forma más habitual de construir un agente de voz es encadenar tres piezas. Primero, un sistema de reconocimiento de voz, o STT, que convierte el audio en texto. Después, un modelo de lenguaje que entiende el texto y decide qué responder. Por último, un sistema de síntesis de voz, o TTS, que convierte la respuesta en audio.
Esta arquitectura tiene ventajas claras. Puedes cambiar cada pieza por separado, usar el mejor STT para tu idioma, guardar la transcripción, aplicar reglas sobre el texto y elegir una voz concreta. También puedes auditar lo que se dijo y lo que se respondió.
Dónde se va el tiempo
Cada salto añade latencia. El sistema tiene que detectar que la persona ha terminado de hablar, transcribir, enviar el texto al modelo, esperar la respuesta, sintetizarla y reproducirla. Si además el modelo consulta una herramienta, el tiempo crece. En una llamada, la suma se nota.
La latencia no es solo el tiempo total. Importa el tiempo hasta el primer audio. Una respuesta que empieza a sonar rápido y tarda en terminar se percibe mejor que una que tarda dos segundos en empezar. Por eso el streaming es importante: el TTS puede empezar a hablar antes de que el modelo haya terminado de generar toda la respuesta.
Turnos e interrupciones
Una conversación no es un turno de pregunta y respuesta. La gente duda, se interrumpe, cambia de tema y hace preguntas mientras el otro habla. Un agente de voz tiene que detectar cuándo la persona ha terminado, pero también tiene que dejar que la interrumpa.
La detección de actividad de voz, o VAD, ayuda a saber cuándo hay habla y cuándo hay silencio. Pero el silencio no siempre significa que el turno ha terminado. Un cliente puede estar pensando. Un sistema demasiado agresivo corta la conversación. Uno demasiado lento deja silencios incómodos.
Realtime
La API Realtime de OpenAI plantea otra arquitectura. El modelo trabaja directamente con audio, mantiene el estado de la conversación y puede llamar a herramientas. La conexión se hace por WebRTC en el navegador o por WebSocket en el servidor. El modelo escucha y responde sin pasar por un STT y un TTS separados.
Esto reduce los saltos y permite interrupciones más naturales. También conserva información que el texto pierde: el tono, las pausas, la energía. A cambio, tienes menos control sobre cada pieza. No eliges la voz del TTS por separado ni guardas una transcripción intermedia si no la pides.
Qué elegir
Si necesitas control, auditoría, voces concretas o integración con una centralita tradicional, el pipeline te da más piezas para gobernar. Si lo que buscas es una conversación fluida, con interrupciones y poca latencia, realtime suele ser mejor punto de partida.
También puedes mezclar. Usar realtime para la conversación y un pipeline aparte para transcribir y analizar. O usar STT y TTS de un proveedor especializado con un modelo de lenguaje propio. La decisión depende del caso, no de la moda.
El teléfono no es un altavoz
Una llamada telefónica tiene ruido, eco, acentos, mala cobertura y gente que habla a la vez. El audio llega comprimido y con menos calidad que en un micrófono de estudio. Un agente que funciona en una demo puede fallar en una llamada real.
Prueba con llamadas reales, no con audios limpios. Prueba con personas que hayan aceptado participar y, en la llamada real, avisa de que habla un sistema automático. Si quieres medir la reacción al aviso, conviértelo en una variable del estudio, no en un engaño. La calidad del sistema se mide en esas condiciones.
Cómo evaluarlo
Evalúa el resultado y la conversación. ¿Se resolvió la tarea? ¿Se derivó con contexto? ¿La persona tuvo que repetir? ¿Hubo interrupciones mal gestionadas? ¿El tono fue adecuado? ¿Cuánto tardó en responder? Una transcripción perfecta con una tarea sin resolver no es una buena llamada.
Las evals de voz necesitan casos reales y varias ejecuciones. La variabilidad del audio y de la conversación es mayor que la del texto. Un caso que funciona una vez no demuestra que el agente esté listo para atender el teléfono.
Sigue leyendo
