IA de voz no Cloudflare: encontre a origem da latência
Aprenda a usar o turnmetrics do Cloudflare para localizar atrasos, silêncios e falhas em cada etapa de um agente de IA de voz antes de trocar fornecedores.

Agora é possível provar em que ponto um turno lento ou silencioso de IA de voz no Cloudflare parou antes de trocar modelos, reescrever prompts ou pagar por uma síntese de fala mais rápida. O @cloudflare/voice 0.4.0 atribui a cada turno de fala e texto um resultado tipado e tempos por etapa. Assim, a primeira pergunta do diagnóstico deixa de ser “qual fornecedor devemos substituir?” e passa a ser “qual etapa falhou?”.
Resposta curta
Instale @cloudflare/voice@^0.4.0 com agents@^0.22.0, monitore o evento turnmetrics e agrupe cada turno pelo turnId, pela source, pelo outcome e pelos campos de tempo que de fato estiverem presentes. A versão de 11 de setembro da Cloudflare abrange fala e texto concluídos, saída vazia, limites do modelo, filtragem de conteúdo, erros do modelo, erros na geração de fala e turnos abortados.
É uma mudança relevante em relação ao guia atual do Voice, atualizado pela última vez em 16 de junho, que ainda apresenta quatro métricas de compatibilidade: llm_ms, tts_ms, first_audio_ms e total_ms. As quatro descrevem turnos de fala concluídos com sucesso e com resposta. Elas não explicam por que um turno de texto, uma resposta vazia, uma interrupção ou um turno com falha terminou sem áudio.
Pense na visualização antiga como um comprovante de entrega: ela informa quanto tempo um pacote entregue com sucesso levou. Já VoiceTurnMetrics funciona como o histórico de rastreamento. Um único identificador acompanha o pacote pelo recebimento, pela triagem, pelo despacho e pela conclusão — inclusive até o ponto em que uma entrega malsucedida parou.
client.addEventListener("turnmetrics", (turn) => {
console.log(turn.outcome, turn.turnTotalMs);
});O mesmo resumo mais recente fica disponível em VoiceClient, useVoiceAgent() e useVoiceInput(). O último oferece apenas conversão de fala em texto e, por isso, expõe somente as medições de fala e transcrição que consegue realizar.

O que cada medição revela na IA de voz
A unidade útil é um turno. turnId é a chave de correlação, source indica se a entrada veio de fala ou texto e outcome mostra como o turno terminou. Todos os demais campos representam durações em milissegundos.
Não some esses valores. Segundo a Cloudflare, os tempos usam o mesmo relógio do servidor e podem se sobrepor. A divisão em frases é o exemplo mais claro: o modelo pode continuar transmitindo enquanto frases já concluídas são sintetizadas. Somar as durações do modelo e do TTS contabilizaria parte do tempo de relógio duas vezes.
Um campo de tempo ausente também serve como evidência: significa que aquele marco do ciclo de vida não foi alcançado. Um turno de texto não deve ter campos de fala para transcrição. Em um turno no_output, não faz sentido ajustar o TTS, pois o modelo não produziu nada para ele receber. Se não houver ttsToFirstAudioMs, o turno nunca chegou ao primeiro envio de áudio do TTS pelo servidor.
Há um limite importante: a reprodução no navegador não faz parte de VoiceTurnMetrics. A Cloudflare a exclui porque o Worker e o navegador usam relógios independentes. Se o servidor registra um primeiro envio de áudio rápido, mas a pessoa ouve uma pausa, investigue o transporte, a decodificação, o roteamento no dispositivo ou a reprodução no cliente.
Faça três testes controlados antes de mexer na produção
Estas são observações de testes controlados do SDK, não comprovantes de latência em produção. O objetivo é provar que a instrumentação classifica corretamente caminhos conhecidos antes que você confie nela em chamadas de clientes. Use prompts neutros e não registre o conteúdo das conversas nos logs.
Teste 1: um turno de fala concluído
Inicie uma chamada, diga uma frase curta e fixa e deixe o agente terminar a resposta sem interrupções. No teste upstream da Cloudflare para esse caminho, o resultado traz source: "speech", outcome: "completed", um turnId, medições da transcrição, consumo do stream do modelo, trabalho de TTS e a duração total do turno.
Sua verificação deve ser estrutural, não competitiva. Confirme que o mesmo turnId aparece no resumo terminal e que os campos de etapa esperados estão presentes. Não publique os milissegundos resultantes como uma alegação de velocidade com base em uma única execução local.
Teste 2: um turno de texto concluído
Envie uma mensagem fixa com sendText(). Esse caminho ignora a conversão de fala em texto e segue direto para onTurn(). O teste controlado da Cloudflare recebe source: "text", outcome: "completed" e o tempo do stream do modelo. Não recebe speechStartToFirstInterimMs, speechStartToFinalMs nem afterTranscribeMs.
Isso faz do texto um bom controle. Se os turnos de fala parecem lentos, mas turnos de texto comparáveis chegam rapidamente ao primeiro texto do modelo, a suspeita sobre o modelo perde força diante da transcrição, da detecção de turno ou da passagem para onTurn().
Teste 3: uma resposta vazia controlada
Em uma ramificação exclusiva de teste, faça onTurn() retornar um stream vazio para uma entrada conhecida. O teste upstream da Cloudflare classifica esse turno de fala como no_output. Ele não gera eventos de transcrição do assistente, mensagem de métricas de compatibilidade nem estado speaking.
Essa é a demonstração mais clara de que silêncio não significa automaticamente um problema de TTS. O turno nunca teve texto de resposta para sintetizar. Remova a ramificação depois da asserção e jamais a acione a partir de texto da conversa controlado pelo usuário.

Sete resultados, sete diagnósticos diferentes
O resultado é o rótulo de roteamento. Tratar todo turno silencioso como uma única falha genérica elimina o principal valor desta versão.
A diferença entre no_output, output_limit, content_filtered e model_error importa porque, para quem liga, os quatro podem parecer “o agente não disse nada”. Apenas um aponta primeiro para a lógica do prompt ou do stream vazio. Nenhum deles recomenda começar pela compra de uma voz mais rápida.
Onde as métricas de latência geram retorno primeiro
Os melhores casos de uso são aqueles em que um diagnóstico errado cria retrabalho ou leva a equipe a trocar de fornecedor sem necessidade.
1. Agentes de atendimento ao cliente com turnos silenciosos
Uma equipe de engenharia de suporte pode registrar resumos de turno sem conteúdo ao lado do identificador de um chamado, agrupar os turnos silenciosos por resultado e encaminhar cada grupo ao responsável pelo modelo, pela segurança, pelo TTS ou pela conexão. O ganho está em reduzir repasses baseados em suposições. Um grupo no_output vai para a lógica de resposta; um grupo tts_error, para o caminho de fala.
2. Agentes de agendamento e reservas
Uma equipe que automatiza o atendimento de uma clínica ou de um restaurante pode testar um fluxo fixo de reservas, correlacionar todos os turnos e comparar onde os atrasos surgem antes e depois de uma versão. O valor para o negócio não está em um gráfico de latência mais bonito, mas em saber se a pessoa esperou pela transcrição, pelo texto do modelo, pela geração de fala ou pela reprodução local antes de mudar o fluxo responsável pelas reservas que geram receita.
3. Testes de regressão para agentes de voz
Uma equipe de produto pode manter uma pequena suíte de casos conhecidos de fala, texto, saída vazia e interrupção. A cada build, ela verifica o resultado terminal e a presença dos campos; depois, compara as distribuições por etapa entre versões. Assim, uma mudança no caminho de falha aparece antes que uma pontuação ampla, de ponta a ponta, a esconda.
4. Comparação de provedores sem culpar a camada errada
Ao avaliar provedores de fala, uma equipe pode manter o prompt e o modelo constantes e comparar ttsToFirstAudioMs e o trabalho de TTS em execuções controladas. Se o atraso ocorre antes de o texto do modelo aparecer, a comparação de TTS é irrelevante. Quando o TTS é o gargalo medido, a comparação de APIs de TTS de baixa latência passa a ser útil em vez de prematura.
5. Ajuste de transcrição multilíngue
Um serviço multilíngue pode executar a mesma tarefa com falas conhecidas em cada idioma compatível e examinar separadamente os tempos entre fala e transcrição parcial e entre fala e transcrição final, sem misturá-los ao tempo do modelo. Isso pode revelar um problema de transcrição ou detecção de turno que um único número para o turno inteiro esconderia. A precisão ainda exige uma avaliação própria, porque uma transcrição rápida pode estar errada.
6. Interfaces que combinam texto e voz
Um aplicativo de serviço em campo pode comparar um turno de controle digitado com outro falado, ambos passando pela mesma lógica do agente. Como o texto não passa pelo STT, a diferença entre os dois caminhos restringe a busca à entrada de fala e à finalização do turno. Os campos compartilhados turnId, source e outcome permitem manter um único esquema de diagnóstico nos dois canais.
7. Fluxos telefônicos com muitas interrupções
Uma equipe que substitui uma URA pode interromper de propósito respostas longas e confirmar o resultado aborted, em vez de contabilizar esses turnos como falhas sem explicação. O ganho é um relatório de falhas mais limpo e um trabalho de cancelamento mais seguro. Isso não prova que as pessoas gostaram do comportamento da interrupção; a equipe ainda precisa revisar o áudio e fazer testes com usuários.
Como essa evidência muda a decisão de orçamento
O novo evento permite fazer a triagem inicial por etapa dentro de um aplicativo de teste da Cloudflare. Ele não substitui uma plataforma completa de QA para voz.
Essa diferença importa porque os produtos especializados atuais cobram por um trabalho muito mais amplo. A Coval informa um plano Starter de $100 por mês e um plano Growth de $500 por mês, com recursos de simulação, monitoramento, retenção de traces e avaliação. A Roark informa $50 em créditos iniciais, um plano Team de $500 por mês convertidos em uso e preços Enterprise a partir de $4,000 por mês.
Se o problema imediato é “qual etapa tornou este turno no Cloudflare lento ou silencioso?”, instrumente turnmetrics antes de comprar uma solução mais abrangente. Se você precisa de chamadas sintéticas, pontuação, alertas, traces de longo prazo, revisão humana, fluxos de conformidade ou comparações entre plataformas, o evento do SDK é apenas matéria-prima. A divisão honesta do orçamento é esta: instrumentação para diagnosticar; um produto de QA para estruturar a operação ao redor do diagnóstico.
Três produtos que valem a pena construir
1. Um console nativo do Cloudflare para triagem de turnos
Esta é a oportunidade mais forte. O produto receberia VoiceTurnMetrics sem conteúdo, agruparia os resultados, mostraria as distribuições por etapa e conectaria eventos relacionados pelo turnId. Compradores de agentes de voz têm alto valor comercial: segundo o DataForSEO, ai voice agent recebe 6,600 buscas mensais nos EUA, com intenção comercial e CPC de $51.22. Já o termo específico voice agent latency soma apenas 10 buscas por mês, sinal de que este é um ponto de entrada especializado, não um produto de consumo amplo.
A menor versão que já pode ser vendida precisa de um coletor de eventos, controles de retenção, filtros por origem e resultado, comparações antes e depois de uma versão e o roteamento de decisões da tabela final abaixo. A pressão sobre preços aparece no mercado atual: a Coval parte de $100 por mês, enquanto modalidades mais abrangentes para equipes da Coval e da Roark chegam a $500 por mês.
O risco é a concentração na plataforma. A Cloudflare pode ampliar a própria interface, e a reprodução no navegador fica fora do resumo estável do turno. O diferencial defensável precisa virar fluxo de trabalho: comparação entre versões, evidências de regressão, controles de privacidade e um caminho rápido entre um grupo problemático e seu responsável.
2. Um gate de regressão de latência para pull requests
Esse produto executaria casos fixos de fala, texto, saída vazia e interrupção contra um deployment de prévia. Em seguida, bloquearia uma versão quando surgisse o resultado errado ou uma etapa medida piorasse em relação à linha de base da própria equipe. O DataForSEO registra 880 buscas mensais nos EUA por voice ai agent, com CPC de $36.64. O termo mais específico low latency voice agent tem somente 10 buscas por mês, mas CPC de $29.34 — outro sinal pequeno com cliques caros.
O MVP inclui um executor de testes, um repositório de linhas de base, asserções de resultado, comparações por percentil e um relatório de CI conciso. Ele deve comparar cenários equivalentes e nunca somar tempos sobrepostos.
O desafio é a fidelidade dos testes. Um caminho de microfone sintético não reproduz todas as redes, sotaques, navegadores, dispositivos ou etapas de telefonia de quem liga. Venda a solução como proteção de releases, não como prova da experiência em produção.
3. Um laboratório de benchmarks de provedores por etapa
Esse produto permitiria à equipe manter quase todo o pipeline constante, trocar um provedor por vez e comparar apenas a etapa que ele realmente pode afetar. Segundo o DataForSEO, voice agent platform recebe 40 buscas mensais nos EUA, com intenção comercial e CPC de $44.12. É um volume modesto, mas o preço do clique sugere que os fornecedores disputam um grupo pequeno de compradores sérios.
O MVP precisa de prompts e amostras de áudio reproduzíveis, configuração de provedores, resumos por etapa, taxas de resultado e um relatório de decisão exportável. Seu valor está em impedir que um provedor de TTS rápido receba o mérito por uma melhoria no modelo — ou a culpa por um atraso na transcrição.
O desafio é a atribuição. VoiceTurnMetrics mede marcos do ciclo de vida do SDK, não o trace completo de um provedor. A localização da rede, a reprodução no navegador, a qualidade da entrada e as filas internas do provedor ainda exigem evidências separadas.
O que essas métricas não resolvem
As métricas de turno mostram onde investigar. Elas não dizem se a transcrição estava correta, se a resposta foi útil, se a voz soou natural, se a pessoa concluiu a tarefa ou se a reprodução no cliente pareceu fluida.
O stream de diagnóstico no console do navegador pode ajudar localmente porque combina eventos do ciclo de vida do servidor com eventos de microfone, conexão, primeiro áudio e reprodução. Mantenha-o como auxílio temporário de depuração. Segundo a Cloudflare, ele vem desativado por padrão e os nomes e campos dos eventos podem mudar; portanto, não é um contrato estável de analytics.
O resumo estável não inclui conteúdo de propósito, mas suas próprias mensagens podem desfazer essa proteção. A Cloudflare remove campos de conteúdo conhecidos e não inspeciona corpos arbitrários vindos dos provedores. Não inclua transcrições, prompts, argumentos de ferramentas, identificadores de clientes nem outro conteúdo de conversa em strings personalizadas de erro.
Por fim, o guia do Voice ainda está marcado como Beta. Trate a fixação de versões, uma suíte de testes controlados e a revisão de cada release como parte da implementação, não como limpeza administrativa.
Perguntas frequentes sobre IA de voz e Cloudflare
O que são os Cloudflare Realtime Agents?
Cloudflare Realtime Agents é um runtime anterior de voz em tempo real, criado em torno de WebRTC, orquestração de pipeline e componentes configuráveis de fala e modelo. O pacote @cloudflare/voice abordado aqui é o caminho de voz do Agents SDK sobre WebSocket. As duas ofertas de voz da Cloudflare são relacionadas, mas a versão de métricas de turno de 11 de setembro se aplica especificamente a @cloudflare/voice.
Como funcionam os agentes de IA de voz em tempo real?
Em um turno típico, o sistema captura a fala, converte-a em texto, passa esse texto pela lógica do aplicativo e do modelo, sintetiza a resposta em fala e reproduz o áudio para a pessoa. O pacote da Cloudflare transmite o áudio do microfone por WebSocket, executa onTurn(), divide o texto transmitido pelo modelo em frases e devolve o áudio da fala.
A Cloudflare oferece agentes de IA?
Sim. O Agents SDK da Cloudflare oferece agentes com estado criados sobre Durable Objects, enquanto @cloudflare/voice acrescenta caminhos completos para voz e entrada de fala. Segundo o guia atual, o pacote de voz continua em Beta.
Onde fica o repositório do Cloudflare Agents no GitHub?
O repositório oficial é o cloudflare/agents no GitHub. Os tipos e testes de voz nele mostram o esquema estável de turnos e o comportamento controlado dos resultados por trás desta versão.
Na segunda-feira: encaminhe as evidências
Na próxima semana, adicione o listener do evento a um build de teste e execute os três caminhos controlados acima. Retenha apenas resumos sem conteúdo. Depois, use esta tabela em vez de trocar um modelo por instinto.
Se você quer um sistema de atendimento por voz com esse ciclo de diagnóstico já integrado, posso ajudar a projetá-lo e colocá-lo em produção.
- Última atualização
- 12 de set. de 2026
- Categoria
- Build







