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 infraestrutura de software corporativo. A maioria das empresas já tem um ou está desenvolvendo 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 de formas que o texto elimina por completo. Um cliente que escreve "meu pedido não chegou" e outro que diz isso com ansiedade audí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 aspectos técnicos de adicionar voz a um agente existente e mostraram como é, na prática, uma integração funcional.
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 por causa da entonação, do ritmo e do contexto. Já a detecção de atividade de voz (a abordagem padrão) detecta apenas o silêncio.
O resultado costuma ser um sistema que trata cada pausa como um convite para falar: interrompe, corta a pessoa no meio do raciocínio e reage a hesitações naturais como se fossem frases completas.
Ele é tecnicamente funcional, 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 soará um pouco estranho, por melhores que sejam os modelos individuais.
Há também a sobrecarga de engenharia. As equipes que cuidam da 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 um trabalho contínuo. Não é algo feito uma única vez.
Como adicionar voz a um agente existente
A abordagem mais simples é uma arquitetura com dois WebSockets.
- Uma conexão funciona entre o cliente e a API da ElevenLabs, e outra entre seu servidor e a API da ElevenLabs
- O usuário fala no microfone, o áudio é enviado à API da ElevenLabs, onde é transcrito e encaminhado ao seu servidor
- Seu servidor envia ao LLM todo o histórico da conversa que recebe da API da ElevenLabs, e a resposta transmitida volta para a síntese de áudio
- Isso pode começar antes de o LLM terminar de gerar a resposta, mantendo baixa a latência até o primeiro byte
O principal ponto de integração é o método onTranscript , acionado ao fim de cada turno e que envia todo o histórico da conversa ao LLM.
Um contextualUpdate no início da sessão mantém o que aconteceu na parte em texto da conversa antes de o usuário mudar para voz — permitindo que um único agente funcione nas duas modalidades sem perder o contexto.

Alguns pontos importantes para ter em mente ao desenvolver:
- 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 quando a qualidade da resposta é maior. Para voz em tempo real, modelos mais rápidos quase sempre têm melhor qualidade percebida.
- Prefira WebRTC a WebSockets para áudio. O WebRTC tem cancelamento de eco e ruído integrado, algo especialmente importante em dispositivos móveis ou ambientes barulhentos. Usar WebSockets para transportar áudio significa cuidar disso por conta própria.
- Não peça aos usuários que selecionem um idioma. Isso quebra o fluxo da conversa. Detectar o idioma nos primeiros segundos de fala e defini-lo é uma abordagem melhor — e permite alternâncias naturais sem exigir nenhuma ação do usuário.
- Separe seu modelo de alternância de turnos do LLM. Usar o LLM para decidir quando o usuário terminou de falar adiciona latência e custo a cada turno. Um modelo dedicado de alternância de turnos faz isso com mais rapidez e precisão, e vale a pena tratá-lo como um componente separado 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 os requisitos incluem telefonia, gerenciamento de canais de implantação, testes integrados e análises, faz sentido delegar uma parte maior da infraestrutura 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 à medida que o caso de uso amadurece.
Demonstração: adicionando voz a um chatbot existente
Esta demonstração acompanha um usuário no meio de uma conversa com um chatbot de planejamento de viagens baseado em texto, pedindo recomendações de bairros e comidas para uma viagem ao Japão.
O que mostramos:
- O chatbot recebeu uma camada de voz sem nenhuma alteração no agente subjacente.
- O usuário passou de digitar para falar no meio da conversa — e 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 solicitado a voltar ao inglês no meio da frase, ele fez isso — e terminou a resposta com um leve sotaque holandês, sem receber instruções para isso.
- Durante toda a conversa, a detecção de interrupções permitiu que o usuário falasse por cima do agente naturalmente, sem que ele concluísse seu turno.
Por que isso importa:
A demonstração não mostrava um agente de voz desenvolvido especificamente para isso. Ela mostrava um agente de texto que já funcionava, com uma camada de voz adicionada por cima. O gerenciamento de contexto, a detecção de idioma e o comportamento de interrupção vinham todos da camada de voz — o agente de texto subjacente não mudou.
Assista à sessão completa
Assista ao webinar completo aqui.
.webp&w=3840&q=80)



