Docs
Primeros pasos

Cómo funciona VoiceAgent

Una mirada técnica a la arquitectura que convierte una llamada telefónica ordinaria en una conversación inteligente con un agente de IA.

Visión general del flujo

VoiceAgent actúa como una capa de orquestación entre la red telefónica (Twilio), el motor de reconocimiento de voz, el modelo de lenguaje y el sintetizador de voz. Todo ocurre en tiempo real con una latencia media de respuesta inferior a 800 ms.


  ┌─────────────┐     Llamada     ┌─────────────┐     WebSocket    ┌──────────────────┐
  │   CALLER    │ ─────────────► │   TWILIO    │ ──────────────► │   VOICEAGENT     │
  │  (usuario)  │                │  (carrier)  │                  │   (servidor)     │
  └─────────────┘                └─────────────┘                  └──────┬───────────┘
        ▲                               ▲                                 │
        │                               │                          ┌──────▼───────────┐
        │         Audio (TwiML)         │                          │  STT Engine      │
        │ ◄─────────────────────────────┘                          │  (Deepgram/      │
        │                                                           │   Whisper)       │
        │                                                           └──────┬───────────┘
        │                                                                  │  Texto
        │                                                           ┌──────▼───────────┐
        │                                                           │  DeepSeek LLM    │
        │                                                           │  (Procesamiento  │
        │                                                           │   IA)            │
        │                                                           └──────┬───────────┘
        │                                                                  │  Respuesta
        │                                                           ┌──────▼───────────┐
        │          Audio generado                                   │  Azure Neural    │
        └───────────────────────────────────────────────────────────│  TTS             │
                                                                    └──────────────────┘

1. Reconocimiento de voz — STT

Cuando el usuario habla, Twilio transmite el audio en tiempo real a VoiceAgent mediante un WebSocket de medios. El audio (formato mulaw 8kHz) se envía al motor de Speech-to-Text (STT), que convierte el habla en texto con baja latencia.

VoiceAgent utiliza Deepgram Nova-2 como motor STT primario por su rendimiento superior en español latinoamericano y su capacidad de streaming. Como alternativa de respaldo se usa OpenAI Whisper. Las características clave del STT son:

  • Transcripción en streaming (resultados parciales en tiempo real)
  • Detección automática de fin de turno (end-of-utterance)
  • Filtrado de ruido de fondo y cancelación de eco
  • Soporte para español (es-ES, es-MX, es-AR) e inglés (en-US, en-GB)
  • Puntuación y mayúsculas automáticas
  • Confianza por palabra para manejo de ambigüedades

Latencia STT

El tiempo de transcripción desde el fin del habla hasta obtener el texto completo es típicamente de 150–300 ms. Esto es fundamental para mantener una conversación fluida.

2. Procesamiento IA — DeepSeek LLM

El texto transcrito se envía al motor de razonamiento. VoiceAgent usa DeepSeek Chat (modelo deepseek-chat o deepseek-reasoner según el plan) como LLM principal, aprovechando su excelente relación calidad/coste para conversaciones en español.

Cada llamada mantiene un contexto de conversación completo. El agente recuerda todo lo dicho en la llamada y utiliza las instrucciones del sistema configuradas en el dashboard para guiar su comportamiento. El contexto típico de una llamada incluye:

[
  {
    "role": "system",
    "content": "Eres el asistente virtual de TuEmpresa. Ayudas a los clientes con..."
  },
  {
    "role": "assistant",
    "content": "Hola, bienvenido a TuEmpresa. ¿En qué puedo ayudarte hoy?"
  },
  {
    "role": "user",
    "content": "Quiero saber el horario de atención"
  }
]

El LLM genera la respuesta en texto. Esta respuesta está optimizada para ser hablada: frases cortas, sin markdown, sin listas con guiones, con pausas naturales indicadas mediante puntuación.

Funciones especiales del agente

El LLM puede invocar herramientas (function calling) durante la conversación. Las herramientas disponibles incluyen:

  • transfer_call — Transferir la llamada a un agente humano
  • book_appointment — Agendar una cita en el calendario conectado
  • send_sms — Enviar un SMS de seguimiento al llamante
  • end_call — Finalizar la llamada de forma controlada
  • lookup_customer — Consultar datos del CRM por número de teléfono

3. Síntesis de voz — Azure Neural TTS

La respuesta en texto se convierte en audio mediante Azure Cognitive Services Neural TTS. Las voces neurales de Azure suenan extremadamente naturales, con entonación, ritmo y prosodia casi indistinguibles de una voz humana.

El audio se genera en formato PCM 16-bit 8kHz, optimizado para la red telefónica, y se envía de vuelta a Twilio para que el llamante lo escuche. VoiceAgent implementa streaming TTS: el audio comienza a reproducirse mientras el resto se sigue generando, reduciendo la latencia percibida significativamente.

Voces disponibles en español

NombreLocaleGéneroEstilo
Elviraes-ESFemeninaConversacional
Álvaroes-ESMasculinoConversacional
Daliaes-MXFemeninaConversacional
Jorgees-MXMasculinoConversacional
Elenaes-ARFemeninaConversacional
Tomáses-ARMasculinoConversacional

4. Integración con Twilio

Twilio actúa como la capa de telecomunicaciones. VoiceAgent utiliza dos mecanismos complementarios de Twilio:

TwiML para control de llamadas

Para operaciones síncronas (reproducir audio pre-generado, redirigir llamadas), VoiceAgent responde con TwiML (Twilio Markup Language). Ejemplo de respuesta TwiML inicial:

<?xml version="1.0" encoding="UTF-8"?>
<Response>
  <Connect>
    <Stream url="wss://usvoiceagent.com/api/twilio/stream">
      <Parameter name="agentId" value="agent_xxxxxxxxxxxx" />
      <Parameter name="callId" value="call_yyyyyyyyyyyy" />
    </Stream>
  </Connect>
</Response>

Media Streams para audio bidireccional

La comunicación de audio en tiempo real usa Twilio Media Streams sobre WebSocket. Este WebSocket transmite el audio del llamante hacia VoiceAgent y VoiceAgent envía el audio sintetizado de regreso, todo en tiempo real con latencias de red mínimas.

Latencia total extremo a extremo

La latencia típica desde que el usuario termina de hablar hasta que escucha la respuesta del agente es de 600–900 ms en condiciones normales de red. Esto se descompone en: STT (~200 ms) + LLM (~300 ms) + TTS (~150 ms) + red (~100 ms).

Seguridad y privacidad

  • Todo el tráfico de audio está cifrado en tránsito con TLS 1.3
  • Las transcripciones se almacenan cifradas en reposo (AES-256)
  • Puedes configurar la retención de datos (30, 90, 365 días o indefinido)
  • Las grabaciones de llamadas pueden deshabilitarse por razones de privacidad
  • VoiceAgent es compatible con GDPR y la LOPD española
  • Las credenciales de Twilio se almacenan cifradas y nunca se exponen en logs