Cómo crear un buen agente de voz

Cómo crear un buen agente de voz
VOLVER A LOS BLOGS
EN ESTA PÁGINA
Volver arriba

Con el avance de la IA generativa, hemos sido testigos de un crecimiento significativo de los productos de chatbot que dominan el mercado. Al mismo tiempo, la IA de voz ha mejorado hasta el punto de que ahora es posible mantener conversaciones fluidas con la IA. Tanto si estás creando IA para llamadas entrantes y salientes, servicios profesionales, apps de compañía, etc., la voz sigue siendo una parte fundamental de la experiencia y es importante para la conversión. Todos recordamos experiencias frustrantes con la IA durante las llamadas: voces robóticas, silencios incómodos, largos periodos de latencia y la necesidad de pulsar botones para interactuar, que en conjunto reducen la calidad humanizada de la experiencia y en ocasiones irritan a los usuarios.

¿Cuál es la diferencia entre la IA de voz y un humano?

Antes de entrar de lleno en cómo crear una gran experiencia de voz, tomémonos un momento para repasar cómo interactúa normalmente un humano en una conversación. Operamos con una latencia de <200ms cuando se produce el cambio de turno, damos señales de escucha según sea necesario, entendemos de forma subconsciente cuándo la otra parte termina su turno, comprendemos el significado y las emociones de la otra parte, usamos muletillas dentro de nuestras frases, dejamos de hablar cuando nos interrumpen... La lista podría continuar, pero lo esencial que quiero transmitir aquí es que hay muchísimos pequeños mecanismos que ocurren entre bastidores cuando mantenemos una conversación sencilla y fluida, y es extremadamente DIFÍCIL que las máquinas tengan en cuenta todo esto y actúen como los humanos.

¿Por qué es difícil crear una buena IA de voz conversacional?

Una pregunta habitual que nos hacen mucho es por qué tengo que usar la API de Retell: ¿no puedo simplemente combinar ASR (speech-to-text), LLM y TTS (text-to-speech) para crear una conversación de voz?

Bueno, mmm, deberías hacerlo si tienes tiempo, y ver hasta dónde te lleva un enfoque de simple combinación. El problema número uno que oímos de quienes crean su propio sistema de voz es que es difícil reducir la latencia; el problema número dos que vemos es que la gestión de interrupciones es difícil de implementar con una configuración sencilla; el problema número tres que vemos es que la respuesta del agente no es lo bastante conversacional como para sonar como un humano. Para abordar todo esto, repasemos una visión general de qué componentes deben estar presentes y qué trabajo hay que hacer para lograr una buena experiencia de IA de voz conversacional.

1. Integra con un frontend web o con herramientas de comunicación programables como Twilio, Vonage para obtener el audio del usuario.

2. Trabaja con bytes de audio y protocolos de streaming: el audio del usuario procedente de distintos frontends (web, llamada telefónica) llegará en diferentes codificaciones, formatos y se enviará a través de distintos protocolos de streaming. Es una tarea ardua, ya que los bytes de audio son difíciles de manipular y llevan mucho tiempo. Pregunta a cualquier ingeniero que conozcas que trabaje con señales de audio; te dirán lo mismo.

3. Comprende el audio: hay varias señales del audio que son vitales para una conversación fluida.

  • Texto: normalmente generado a partir del ASR (reconocimiento de voz asíncrono), debe ser en streaming, debe ser lo más rápido y preciso posible.
  • Emoción: comprender el estado emocional de la otra parte es vital para que los humanos den una buena respuesta en una conversación.
  • Calidad de la señal de audio: si hay ruido de fondo, si hay eco.
  • Diarización de hablantes: si hay varias personas hablando, identificar la identidad del hablante e identificar quién te habla a ti y quién no, etc.
  • Tonalidad y otros rasgos específicos del hablante.
  • Pausa: si el usuario deja de hablar, normalmente deducido a partir del VAD (Voice Activity Detection).

4. Decide si hablar: comprender si la otra parte terminará pronto su turno, o si ya lo ha terminado, si está esperando una respuesta o simplemente hace una pausa para ordenar sus ideas, etc. Es necesario combinar texto, emoción, tonalidad, pausa y otras entradas de audio para generar esta decisión.

  • La parte complicada es que los usuarios pueden terminar en cualquier momento cuando no los conoces bien personalmente, y la IA tiene que estar preparada para esos finales abruptos.
  • Que los usuarios sigan hablando de forma inesperada es un problema menor, ya que la IA simplemente puede seguir escuchando y revertir la decisión de hablar.

5. Generar las respuestas: generar una buena respuesta a lo que el usuario ha dicho es difícil y muy específico de cada escenario. Hay varias formas de hacer esta parte y se personaliza para cada caso de uso, así que aquí solo compartiré un flujo sencillo de generación de respuestas.

  • RAG (retrieval augmented generation): incrusta documentos, datos, base de conocimiento, etc., en una base de datos vectorial y recupera de ella solo la información relevante. Esta información relevante formará parte del prompt que se introduce en el LLM.
  • LLM: puede ser un modelo autoalojado ajustado (fine-tuned), o llamadas a la API de proveedores. Basándose en la información relevante del paso anterior y en algunos otros prompts personalizados para el usuario, genera una respuesta y la envía en streaming de vuelta a un sistema de generación de voz.
  • Verificación: para ciertas frases/palabras de alto riesgo, quizá verifícalas antes de enviarlas en streaming.

6. Sintetiza el audio: normalmente se logra usando modelos TTS (text to speech), transforma el texto de la respuesta en audio. Debe tener variación de tono y emoción que se adapte al escenario para ser humanizado. Idealmente, la salida del TTS debería enviarse en streaming de vuelta para una menor latencia.

7. Realizar acciones: una IA que puede hablar es genial, y una IA que puede realizar acciones es aún más genial. Esto normalmente se logra con las funcionalidades de function calling de ciertos modelos, o con salida de datos estructurada, de modo que la parte posterior pueda concertar citas cuando sea necesario y buscar información cuando corresponda.

  • Al realizar acciones, asegúrate de que tu agente pueda seguir respondiendo.
  • Un caso de uso concreto de esto es transferir la llamada o finalizar la llamada.

¿Qué puede hacer Retell AI para lograr una buena IA de voz conversacional?

Creo que a estas alturas la mayoría estará de acuerdo en que esto no es tan fácil como combinar ASR, LLM y TTS. Así que déjame presentar (sin ningún pudor) cómo Retell AI puede ayudar aquí. Al integrarte con Retell AI, puedes ahorrar meses de desarrollo, disfrutar de una experiencia de voz de vanguardia y tener cubierto todo lo siguiente:

  • Baja latencia: aplicamos optimizaciones en cada paso, por lo que la latencia se reduce al mínimo en la parte de audio. Ten en cuenta que la parte de generación de respuestas sigue estando en tus manos, así que tenemos poco control sobre ello. Nuestra demo tiene ~800ms entre el momento en que el usuario deja de hablar y el agente responde.
  • Gestión de interrupciones: el usuario puede interrumpir en cualquier momento, y el agente reacciona a ello a una velocidad vertiginosa, como un humano real.
  • Integración de audio: podemos conectarnos directamente con Twilio, y hemos publicado como código abierto el código del frontend web.
  • Trabajo con bytes de audio: lo tenemos cubierto y podemos ahorrarte cientos de horas.
  • Comprensión del audio: extraemos información del audio con la menor latencia y te enviamos transcripciones en tiempo real (otras señales llegarán pronto).
  • Decisión de cuándo hablar: tenemos nuestro propio modelo de cambio de turno y seguiremos iterándolo para tomar mejores decisiones sobre cuándo hablar.
  • Síntesis de audio: nos integramos con varios proveedores de TTS y contratamos a actores de voz para crear voces humanizadas adecuadas para la conversación.
  • Demo y panel rápidos: hemos configurado nuestro panel para permitir crear una demo en menos de 2 minutos.
  • Experiencia de dominio y soporte: tenemos experiencia de dominio en audio, modelado y creación de agentes. Estamos aquí para ayudar siempre que tengas algún problema.

Lo que tú tienes que hacer: seguir iterando en tu producto principal para mejorarlo, mientras nosotros nos encargamos de la parte de audio. Estas son las partes en las que tienes que trabajar:

  • Generación de respuestas: aunque admitimos la creación de demos en el panel, sabemos que para cada escenario el proceso de generación de respuestas puede ser drásticamente diferente. Por ello, nuestra API integrará fácilmente tu solución personalizada de generación de respuestas, tanto si se trata de una simple llamada a OpenAI como de una configuración de agente complicada.
  • Realizar acciones: para que el agente de voz realice acciones, probablemente tengas que integrarte con distintas herramientas (calendarios, CRM, etc.). Depende de ti decidir cuándo realizar una acción y qué acción tomar. No olvides seguir generando respuestas mientras realizas acciones.
  • Lógica específica de la llamada: los diferentes casos de uso transferirán / finalizarán las llamadas de forma distinta, y depende de ti decidir los detalles sobre el flujo de llamadas. Esto se puede configurar mediante function calling.

Espero que este blog pueda darte una idea general de cómo crear un gran agente de voz y, con suerte (y sin ningún pudor), que mi presentación de Retell AI pueda arrojar luz sobre cómo podemos ayudar.

¡Feliz creación!

Calculadora de ROI
Estima tu ROI al automatizar las llamadas

Descubre cuánto podría ahorrar tu empresa al pasar a agentes de voz impulsados por IA.

¡Listo! 
Tu envío se ha mandado a tu correo electrónico
¡Vaya! Algo salió mal al enviar el formulario.
   1
   8
20
¡Vaya! Algo salió mal al enviar el formulario.

Resultado del ROI

2,000

Total Human Agent Cost

$5,000
/month

AI Agent Cost

$3,000
/month

Estimated Savings

$2,000
/month
Demo en Directo
Prueba Nuestra Demo en Directo

Un número de teléfono de demostración de Retell Clinic Office

¡Gracias! ¡Tu envío ha sido recibido!
¡Vaya! Algo salió mal al enviar el formulario.

Read Other Blogs

Revolutionize your call operation with Retell