Criei um agente de voz que você pode interromper (Murf Falcon 2, números reais de latência)
Autoria: Prompt Engineer 48 · Assistir no YouTube
Vídeo de autoria do canal indicado, não da IANIA; todos os direitos pertencem ao criador. Transcrição, resumo e tradução gerados automaticamente; o conteúdo no idioma original é preservado na versão em idioma original.
Idioma original: inglês
Vídeo original: I Built a Voice Agent You Can Interrupt (Murf Falcon 2, Real Latency Numbers) · Canal: Prompt Engineer 48 · 08:04 · Assistir no YouTube
Tópicos: Agentes de IA, Geração de conteúdo com IA, Inferência e otimização de modelos, Modelos multimodais
O vídeo apresenta um agente de suporte aéreo por voz que pode ser interrompido, consultar reservas, mudar de idioma durante a chamada e exibir sua latência. O sistema usa Whisper para transcrição, Claude Haiku 4.5 como modelo de linguagem e Murf Falcon 2 para gerar voz em streaming. Em dez turnos de conversa, a latência mediana da primeira resposta de áudio foi de 118 ms, enquanto o tempo total entre o fim da fala do usuário e a resposta ficou em 2,4 segundos. O criador também relata problemas com desempenho da GPU, regras de tarifas e reconhecimento de códigos de reserva, além do custo aproximado da geração de voz.
Pontos-chave
Seção intitulada “Pontos-chave”- O agente consulta e altera reservas em um sistema de reservas simulado, fazendo chamadas de função para executar essas ações.
- O sistema combina Whisper, Claude Haiku 4.5 via OpenRouter e Murf Falcon 2.
- O áudio é transmitido em pequenos blocos, que o navegador começa a reproduzir enquanto o modelo ainda gera o restante da resposta.
- Quando o usuário interrompe o agente, o navegador para a reprodução e solicita ao servidor que cancele o turno atual.
- Whisper detecta o idioma de cada turno; o agente responde nesse idioma usando uma voz e uma locale correspondentes do Falcon.
- A latência mediana da primeira resposta de áudio foi de 118 ms, com variação de 113 a 173 ms; o tempo total de voz para voz foi de 2,4 segundos.
- Uma transcrição fictícia executada a cada segundo mantém a GPU ativa e reduz o tempo de speech-to-text de cerca de 1,8 segundo para aproximadamente meio segundo.
- Para evitar que o agente invente descontos, o serviço inclui as regras da tarifa da reserva atual como a última mensagem de cada turno.
- O Falcon 2 custa cerca de um centavo por mil caracteres; as três chamadas usaram aproximadamente 1.400 caracteres de voz, ou cerca de um centavo e meio.
Capítulos
Seção intitulada “Capítulos”| Início | Capítulo | Resumo |
|---|---|---|
| 00:00 | Demonstração de alteração de reserva | O agente consulta uma reserva flexível, apresenta voos alternativos e muda o passageiro para outro voo sem taxa. |
| 02:05 | Arquitetura e streaming de voz | O criador explica o papel de Whisper, Claude Haiku 4.5 e Murf Falcon 2, além do envio de áudio em pequenos blocos. |
| 03:09 | Interrupções e troca de idioma | O agente interrompe a própria fala para responder a uma nova pergunta e depois demonstra atendimento em vários idiomas e encaminhamento a uma pessoa. |
| 05:27 | Medições de latência | O vídeo apresenta os tempos medidos de geração de áudio e de resposta completa, detalhando as principais parcelas da latência. |
| 06:31 | Problemas encontrados, custo e conclusão | O criador descreve ajustes para manter a GPU ativa, evitar informações incorretas sobre tarifas e reconhecer códigos, e encerra com custos e avaliação do sistema. |
Citações
Seção intitulada “Citações”Há três modelos no circuito: os ouvidos, o cérebro e a boca. — 02:05
No momento em que o navegador ouve o passageiro falar por cima do agente, ele para a reprodução e avisa o servidor para cancelar aquele turno. — 04:11
O tempo total de voz para voz, desde que você para de falar até ouvir a resposta, teve uma mediana de 2,4 segundos. — 06:00
Se o seu agente pode falar sobre dinheiro, não confie só no prompt. — 07:02
Conceitos e entidades
Seção intitulada “Conceitos e entidades”- Murf Falcon 2 (modelo): Modelo de geração de voz usado para transmitir a fala do agente e oferecer vozes em vários idiomas.
- Murf AI (empresa): Empresa que patrocina o vídeo e fornece o modelo de voz Falcon.
- Whisper large V3 Turbo (modelo): Modelo de speech-to-text executado localmente para transcrever a fala e detectar o idioma.
- Claude Haiku 4.5 (modelo): Modelo de linguagem usado como cérebro do agente por meio do OpenRouter.
- OpenRouter (ferramenta): Serviço por meio do qual o agente acessa Claude Haiku 4.5.
- Murf Python SDK (ferramenta): SDK oficial usado para chamar o streaming de voz do Falcon a partir de Python.
- Nimbus Air (conceito): Companhia aérea fictícia usada nas demonstrações do agente de suporte.
Tradução completa (pt-BR)
Seção intitulada “Tradução completa (pt-BR)”00:00 Certo. Neste vídeo, vamos criar um agente de voz de atendimento ao cliente que você pode interromper de verdade, que troca de idioma no meio de uma chamada e que mostra a própria latência na tela enquanto fala. Só para deixar claro, este vídeo é patrocinado pela Murf AI, e a voz do agente é o novo modelo Falcon da Murf. A voz do cliente que você vai ouvir também é uma voz Falcon: um interlocutor simulado que eu roteirizei, então posso repetir exatamente o mesmo teste quantas vezes quiser. Vamos ver como funciona. Esta é uma companhia aérea fictícia chamada Nimbus Air. A primeira chamada é sobre uma passagem flexível. O cliente
00:30 informa o código da reserva, pede um voo mais tarde, e o agente faz a remarcação. Observe as caixas laranjas na tela, porque elas mostram o agente realmente consultando informações, não apenas falando. >> Oi, meu código de reserva é NB4X2K. Você pode verificar para mim? >> Claro, vou consultar. Você está no voo NA212, de Mumbai para Delhi, em 12 de outubro de 2026, às 7h45, e sua reserva está confirmada com uma tarifa flexível.
01:02 Em que posso ajudar? >> Preciso viajar mais tarde no mesmo dia. Quais voos estão disponíveis? >> Vou verificar quais alternativas estão disponíveis para você. Temos o NA214 no mesmo dia, às 13h30, ou o NA216 na manhã seguinte, às 7h45. Qual deles é melhor para você? >> O das 13h30, por favor.
01:34 >> Perfeito. Vou transferir você para esse voo. Está tudo certo. Agora você está no voo NA214, em 12 de outubro, às 13h30, e não há taxa de alteração na sua tarifa flexível. Posso ajudar em mais alguma coisa? >> Perfeito. Obrigado. É só isso. >> Por nada. Tenha um ótimo voo. >> Então, dá para ver que ele consultou a reserva, listou as alternativas e mudou a reserva para o voo das 13h30. E, como é uma tarifa flexível, ele me informou que não há taxa de alteração. Cada caixa laranja
02:05 corresponde a uma chamada de função real em um sistema de reservas simulado. Então, como isso foi construído? Há três modelos no ciclo: os ouvidos, o cérebro e a boca. Os ouvidos são o Whisper, o modelo large V3 Turbo executado localmente neste laptop com GPU de 8 GB. O cérebro é o Claude Haiku 4.5, por meio do OpenRouter, e a boca é o Murf Falcon 2. O truque para que pareça rápido é que nada fica esperando por outra coisa. Assim que o modelo de linguagem produz a primeira frase, enviamos essa frase ao Falcon, e o Falcon transmite o áudio de volta em
02:37 pequenos trechos que o navegador começa a reproduzir imediatamente, enquanto o modelo ainda está escrevendo o restante. Do lado do Falcon, estou usando o SDK oficial do Murf para Python. Você cria um cliente com sua chave de API e uma região. Escolhi a Índia porque é a mais próxima de mim, e também há uma opção global que encontra o centro de dados mais próximo para você. Depois, é só uma chamada de streaming com o texto, um ID de voz, o modelo Falcon, o formato PCM e uma taxa de amostragem. E você percorre os trechos à medida que eles chegam. É basicamente só isso. A segunda chamada é a que eu gosto. Esta é uma tarifa econômica, então
03:09 não é reembolsável, e veja o que acontece quando o cliente perde a paciência. O cliente começa a falar enquanto o agente ainda está falando, e o agente para, escuta e responde à nova pergunta. >> Olá, gostaria de receber um reembolso da reserva QZ81LP. >> Claro, vou consultar. Encontrei sua reserva. Voo NA640, de Madri para Londres, em 15 de outubro, às 18h20, confirmado com uma tarifa econômica.
03:40 Infelizmente, tarifas econômicas não são reembolsáveis, mas posso ajudar você a trocar por outro voo, se quiser. >> Isso não é justo. Você pode explicar exatamente quais são as minhas opções? >> Entendo sua frustração. >> Desculpe interromper. Só me diga qual é a opção mais barata. >> A opção mais barata é manter sua reserva atual, sem custo. Mas, se quiser voar em outra data ou horário, a alteração custa US$ 40.
04:11 >> Então, dá para ver a interrupção. No momento em que o navegador ouve o cliente falando por cima do agente, ele interrompe a reprodução e avisa ao servidor para cancelar aquele turno. E observe que o agente diz: “A alteração custa US$ 40”. Vou voltar a isso, porque ele nem sempre dizia isso. Terceira chamada, o mesmo agente, mas agora o cliente troca de idioma. Primeiro inglês, depois espanhol, depois hindi e, no fim, o cliente pede para falar com uma pessoa. >> Oi, você pode verificar a reserva HT93RD?
04:42 >> Claro, vou consultar. Você está no voo NA108, de Bengaluru para Mumbai, em 9 de outubro, às 21h, e ele está atualmente atrasado em 90 minutos. Em que posso ajudar?
05:27 >> O Whisper detecta o idioma de cada turno. O modelo de linguagem responde nesse idioma, e eu escolho uma voz Falcon e uma localidade correspondentes para a fala. O Falcon tem vozes em 35 idiomas, então não é preciso mudar mais nada. Uma observação sincera: às vezes, o Whisper identifica hindi falado como urdu; quando isso acontece, executo o turno novamente como hindi. Agora, a parte que interessa a todo mundo: a velocidade. A Murf diz que o Falcon começa a gerar áudio em menos de 100 milissegundos. Nos 10 turnos destas três chamadas feitas da Índia, com uma conexão já aquecida, medi uma mediana de 118
06:00 milissegundos, com uma variação de 113 a 173. Então, é bem próximo do valor anunciado, mas não fica estritamente abaixo dele, e acho importante dizer isso. A primeira solicitação, em uma conexão fria, levou cerca de 350 a 450 milissegundos. Por isso, abro a conexão assim que a chamada começa. Mas o tempo total de voz a voz, desde quando você para de falar até ouvir a resposta, teve uma mediana de 2,4 segundos. Isso inclui meio segundo em que o aplicativo espera para ter certeza de que você terminou de falar, cerca de 470 milissegundos para converter a fala em texto, aproximadamente 850 para as primeiras palavras do modelo de linguagem e, depois,
06:31 os 118 milissegundos do Falcon. Então, a voz é a menor parte. Se você quer um agente mais rápido, é ao modelo de linguagem e ao temporizador de silêncio que deve prestar atenção. Três coisas deram errado durante a construção, e essa é a parte útil. Primeiro, a conversão de fala em texto estava levando 1,8 segundo nos turnos posteriores, mas só meio segundo quando testei o mesmo áudio offline. Descobri que a GPU do laptop caía para frequências de repouso enquanto o agente falava. Então, agora executo uma transcrição fictícia bem pequena a cada segundo durante uma chamada para mantê-la ativa, e o tempo voltou a cerca de meio segundo. Segundo,
07:02 o agente inventou um desconto para uma tarifa econômica. Ele me disse que a alteração era gratuita, quando a política determina que custa US$ 40. Colocar a política no system prompt não foi suficiente. Então, agora o serviço envia as regras tarifárias da reserva atual como a última mensagem em cada e, ao longo de seis rodadas de teste, ele parou de dispensar a taxa. Se o seu agente pode falar sobre dinheiro, não confie apenas no prompt. Terceiro, um problema menor: a conversão de fala em texto distorcia os códigos de reserva, até eu dar ao Whisper uma dica curta com códigos de exemplo e instruir o agente a corrigir o que ouvisse.
07:33 Quanto ao custo, a documentação da Murf lista o Falcon 2 por cerca de 1 centavo a cada mil caracteres. O agente falou aproximadamente 1.400 caracteres ao longo destas três chamadas, então isso dá cerca de um centavo e meio de voz. A conversão de fala em texto é executada na minha própria GPU, e o custo do modelo de linguagem também é baixo. Então, aqui vai meu veredito. O Murf Falcon faz o que promete no que diz respeito à voz. É rápido, as vozes soam naturais e trocar de idioma é só uma questão de parâmetro. O ciclo completo ainda não é instantâneo. No meu caso, fica em torno de 2 segundos e meio, mas isso se deve principalmente às minhas próprias escolhas: um modelo de linguagem na nuvem e um temporizador de silêncio conservador.
08:04 Se você tiver interesse, pode experimentar isso no seu próprio sistema também e me contar como foi. Vou deixar o link do Murf Falcon na descrição e, mais uma vez, este vídeo foi patrocinado pela Murf AI. Vejo você em outro vídeo. Confira o próximo.
Transcrição original
[00:00] All right. In this video, we will build a customer support voice agent that you can actually interrupt, that switches language in the middle of a call, and that shows its own latency on the screen while it talks. Now, mind you, this video is sponsored by Murf AI, and the agent’s voice is Murf’s new Falcon model. The customer you will hear is also a Falcon voice, a simulated caller that I scripted, so I can repeat the exact same test as many times as I like. Let’s go ahead and see it work. This is a made-up airline called Nimbus Air. First call is a flex ticket. The caller
[00:30] gives the booking code, asks for a later flight, and the agent rebooks it. Watch the orange boxes on the screen, because those are the agent actually looking things up, not just talking. >> Hi, my booking code is NB4X2K. Can you check it for me? >> Sure, let me pull that up. You’re booked on flight NA212 from Mumbai to Delhi on October 12th, 2026 at 7:45 a.m., and your booking is confirmed with a flex fare.
[01:02] What can I help you with? >> I need to leave later the same day. What flights do you have? >> Let me check what alternatives are available for you. We have NA214 on the same day at 1:30 p.m., or NA216 the next morning at 7:45 a.m. Which one works for you? >> The one at 1:30, please.
[01:34] >> Perfect. Let me move you to that flight. You’re all set. You’re now on flight NA214 on October 12th at 1:30 p.m., and there’s no change fee with your flex fare. Is there anything else? >> Perfect. Thank you. That’s all. >> You’re welcome. Have a great flight. >> So, you can see that it looked up the booking, listed the alternatives, and moved the booking to the 1:30 flight. And because it is a flex fare, it told me there is no change fee. Every orange
[02:05] box, there is a real function call on a mock booking system. So, how is this built? There are three models in the loop, the ears, the brain, and the mouth. The ears are Whisper, the large V3 Turbo model running locally on this 8-gig GPU laptop. The brain is Claude Haiku 4.5 through OpenRouter, and the mouth is Murf Falcon 2. The trick that makes it feel fast is that nothing waits for anything else. As soon as the language model produces its first sentence, we send that sentence to Falcon, and Falcon streams audio back in
[02:37] small chunks that the browser starts playing right away while the model is still writing the rest. On the Falcon side, I’m using the official Murf Python SDK. You create a client with your API key and a region. I picked India since that is closest to me, and there is also a global option that finds the nearest data center for you. Then, it is one streaming call with the text, a voice ID, the Falcon model, PCM format, and a sample rate. And you just loop over the chunks as they arrive. That is really all there is to it. The second call is the one I like. This is a saver fare, so
[03:09] it is not refundable, and watch what happens when the caller loses patience. The caller starts talking while the agent is still talking, and it stops, listens, and answers the new question. >> Hello, I’d like a refund on booking QZ81LP. >> Sure, let me pull that up. I found your booking. Flight NA640 from Madrid to London on October 15th at 18:20, confirmed on a saver fare.
[03:40] Unfortunately, saver fares aren’t refundable, but I can help you change to a different flight instead if you’d like. >> That’s not fair. Can you explain exactly what my options are. >> I understand your frustration. >> Sorry to cut in. Just tell me the cheapest option. >> The cheapest option is to keep your current booking with no cost. But if you want to fly on a different date or time, a change costs $40.
[04:11] >> So you can see the interruption there. The moment the browser hears the caller over the agent, it stops the playback and tells the server to cancel that turn. And notice the agent says, “A change costs $40.” I will come back to that because they did not always say that. Third call, same agent, but now the caller switches language. English first, then Spanish, then Hindi, and at the end the caller asks for a human. >> Hi, can you check booking HT93RD?
[04:42] >> Sure, let me pull that up. You’re booked on flight NA108 from Bengaluru to Mumbai on October 9th at 21:00 time, and it’s currently delayed 90 minutes. What can I help you with?
[05:27] >> Whisper detects the language of every turn. The language model answers in that language, and I pick a matching Falcon voice and locale for the speech. Falcon has voices in 35 languages, so nothing else has to change. One honest note, Whisper sometimes labels spoken Hindi as Urdu, so when that happens, I run the turn again as Hindi. Now, the part everyone cares about, speed. Murf says Falcon gets the first audio out in under 100 milliseconds. Across the 10 turns in these three calls from India on a warm connection, I measured a median of 118
[06:00] milliseconds with a range of 113 to 173. So, it is very close to the claim, not strictly under it, and I think that is worth saying. The very first request on a cold connection took around 350 to 450 milliseconds. So, I open the connection as soon as the call starts. But, the full voice-to-voice time from when you stop talking to when you hear the answer had a median of 2.4 seconds. That includes half a second where the app waits to be sure you have finished talking about 470 milliseconds for speech-to-text, about 850 for the language model’s first words, and then
[06:31] Falcon’s 118. So, the voice is the smallest slice. If you want a faster agent, the language model and that silence timer are where you should look. Three things went wrong while building this, and they are the useful part. First, speech-to-text was taking 1.8 seconds on the later turns, but only half a second when I tested the same audio offline. It turned out the laptop GPU was dropping to idle clocks while the agent was talking. So, now I run a tiny dummy transcription every second during a call to keep it awake, and it is back to about half a second. Second,
[07:02] the agent invented a discount on a saver fare. It told me the change was free when the policy says $40. Putting the policy in the system prompt was not enough. So, now the service sends the fare rules of the current booking as the very last message on every and across six test runs, it stopped waving the fee. If your agent can talk about money, do not trust the prompt alone. Third, a smaller one, speech-to-text mangled the booking codes until I gave Whisper a short hint with example codes and told the agent to clean up whatever it hears.
[07:33] On cost, Murf’s docs list Falcon 2 at about 1 cent per thousand characters. The agent spoke roughly 1,400 characters across these three calls, so that is about a cent and a half of voice. The speech-to-text runs on my own GPU and the language model cost is small as well. So, here’s my verdict. Murf Falcon does what it says on the voice side. It is fast, the voices sound natural, and switching languages is just a parameter. The whole loop is not instant yet. Mine sits around 2 and 1/2 seconds, but that is mostly my own choices, a cloud
[08:04] language model, and a safe silence timer. If you’re interested, you can go ahead and try this out on your own system as well and let me know how it goes. I will leave the Murf Falcon link in the description and again, this video was sponsored by Murf AI. I will see you in another one. Check out the next video.