Resumo do Webinar: Dê uma Voz Natural ao Seu Chatbot de Texto
- Publicado
- Última atualização
OuvirOuça este artigo
Os agentes de chat se tornaram parte padrão da estrutura de software empresarial. A maioria das empresas já tem um ou está criando um. O que menos empresas descobriram é o que acontece quando um usuário prefere simplesmente falar.
A voz transforma a interação de maneiras que vão além da conveniência. Os usuários expressam frustração, urgência e confusão pelo tom de voz, algo que o texto elimina por completo. Um cliente que digita "meu pedido não chegou" e outro que diz isso com ansiedade perceptível estão enviando sinais diferentes — e o agente que só consegue ler a transcrição trabalha com apenas metade das informações.
A pergunta que a maioria das equipes faz agora não é se deve adicionar voz, mas como fazer isso sem reconstruir tudo o que já funciona.
No Workshop ao vivo: dê ao seu chatbot de texto uma voz que soe humana, Paul Asjes (Experiência do Desenvolvedor), Bhargavi Bhatt (Experiência do Cliente) e Fergal Burnett (Marketing de Produto, ElevenAPI) explicaram os desafios técnicos de adicionar voz a um agente existente e como uma integração funcional realmente funciona.
Por que desenvolver com voz é mais difícil do que parece
Um dos principais desafios é a alternância de turnos. As pessoas sabem quando alguém terminou de falar pela entonação, pelo ritmo e pelo contexto. Já a detecção de atividade de voz (a abordagem padrão) detecta apenas o silêncio.
O resultado geralmente é um sistema que trata cada pausa como um convite para falar: ele interrompe, corta a fala no meio do raciocínio e responde a hesitações naturais como se fossem frases concluídas.
Ele funciona tecnicamente, mas falha na conversa.
O contexto é a outra metade do problema. Enviar o histórico da conversa a um LLM a cada turno é necessário, mas não suficiente. As mesmas palavras têm significados diferentes dependendo de como são ditas — "estou bem" dito com alívio e "estou bem" dito com frustração geram a mesma transcrição, mas interações diferentes. Um sistema de voz que ignora essa dimensão sempre vai soar um pouco inadequado, independentemente da qualidade dos modelos individuais.
Há também a sobrecarga de engenharia. As equipes responsáveis pela própria orquestração de voz acabam mantendo a lógica de alternância de turnos, o tratamento de interrupções e a análise de latência como trabalho contínuo. Não é algo que se desenvolve uma única vez.
Como adicionar voz a um agente existente
A abordagem mais simples é uma arquitetura com dois WebSockets.
- Uma conexão é estabelecida entre o cliente e a API da ElevenLabs, e outra entre seu servidor e a API da ElevenLabs
- O usuário fala ao microfone, o áudio é enviado para a API da ElevenLabs, onde é transcrito e enviado ao seu servidor
- Seu servidor fornece ao LLM todo o histórico da conversa recebido da API da ElevenLabs, e a resposta em streaming retorna para a síntese de áudio
- Isso pode começar antes que o LLM termine de gerar a resposta — mantendo baixa a latência até o primeiro byte
O principal ponto de integração é o método onTranscript , que é acionado ao fim de cada turno e transmite todo o histórico da conversa ao LLM.
Um contextualUpdate no início da sessão mantém tudo o que aconteceu na parte em texto da conversa antes de o usuário mudar para a voz — permitindo que um único agente funcione nas duas modalidades sem perder o contexto.

Alguns pontos importantes para ter em mente durante o desenvolvimento:
- A escolha do LLM importa mais na voz do que no chat. Modelos de raciocínio profundo introduzem pausas que soam como hesitação artificial no áudio, mesmo que a qualidade da resposta seja maior. Para voz em tempo real, modelos mais rápidos quase sempre oferecem melhor qualidade percebida.
- Prefira WebRTC a WebSockets para áudio. O WebRTC inclui cancelamento de eco e ruído, o que se torna especialmente importante em dispositivos móveis ou ambientes barulhentos. Usar WebSockets para transportar áudio significa que você precisará lidar com isso por conta própria.
- Não peça aos usuários que selecionem um idioma. Isso interrompe o fluxo da conversa. Detectar o idioma nos primeiros segundos de fala e defini-lo é uma abordagem melhor — além de permitir mudanças fluidas sem exigir nenhuma ação do usuário.
- Separe seu modelo de alternância de turnos do LLM. Usar o LLM para decidir quando um usuário terminou de falar aumenta a latência e o custo a cada turno. Um modelo dedicado à alternância de turnos faz isso com mais rapidez e precisão, e vale a pena tratá-lo como um componente distinto da arquitetura.
Quanta infraestrutura manter sob seu controle
A resposta certa depende do que já existe. Se você tem um agente de chat funcional, adicionar uma camada de voz por cima — mantendo seu LLM, sua orquestração e sua lógica de negócios intactos — costuma ser o caminho mais rápido e de menor risco.
Você não está reconstruindo nada. Está adicionando uma interface de áudio a algo que já funciona.
Se as necessidades incluem telefonia, gerenciamento de canais de implantação, testes integrados e análises, faz sentido delegar uma parte maior da estrutura a uma plataforma de agentes de voz. As duas abordagens não são mutuamente exclusivas — as equipes podem começar com uma camada de voz leve e incorporar recursos de plataforma conforme o caso de uso amadurece.
Demonstração: como adicionar voz a um chatbot existente
Esta demonstração acompanha um usuário que está no meio de uma conversa com um chatbot de planejamento de viagens baseado em texto e pede recomendações de bairros e comidas para uma viagem ao Japão.
O que abordamos:
- O chatbot recebeu uma camada de voz sem nenhuma alteração no agente subjacente.
- O usuário mudou da digitação para a fala no meio da conversa — o agente manteve todo o contexto nas duas modalidades.
- O usuário falou em holandês; o agente detectou a mudança de idioma automaticamente
- Quando o agente foi interrompido e recebeu o pedido de voltar ao inglês no meio da frase, ele voltou — e terminou a resposta com um leve sotaque holandês, sem que isso fosse solicitado.
- Ao longo da conversa, a detecção de interrupções permitiu que o usuário falasse naturalmente por cima do agente sem que ele concluísse seu turno.
Por que isso importa:
A demonstração não mostrava um agente de voz desenvolvido para essa finalidade. Ela mostrava um agente de texto que já funcionava, com uma camada de voz adicionada por cima. O tratamento de contexto, a detecção de idioma e o comportamento diante de interrupções vinham todos da camada de voz — o agente de texto subjacente não foi alterado.
Assista à sessão completa
Assista ao webinar completo aqui.
.webp&w=3840&q=80)




