
Compartilhar:
Vince DiPaola runs teamvince, an AI enablement and product studio in Brooklyn. He builds practical agent systems and teaches teams how to turn repetitive tasks into AI workflows they can trust. When he's not building, you can find him throwing pots at BKLYN Clay, and on the mats at Marcelo Garcia Brazilian Jiu Jitsu.
Não crie um ciclo de latência: qual é o lugar dos ciclos de agentes na IA de voz
Tempo de leitura: 7 minutos
Pode parecer que toda semana surge um novo fluxo de trabalho de IA ou uma nova prática recomendada que é preciso aprender. “Engenharia de loop” é uma das novidades mais recentes, mas a ideia em si é simples.
Pense em usar um rolo para fiapos. Você passa o rolo pela camisa, verifica se os fiapos sumiram e, dependendo do resultado, para ou repete a operação. Você também decide que não vai ficar ali passando o rolo para sempre.
Um ciclo de agente segue o mesmo padrão. Atribua uma tarefa ao agente, defina como o sucesso será medido e automatize o ciclo de agir, verificar e decidir se deve continuar. O ciclo é interrompido quando o resultado é aprovado nessa verificação ou quando o limite de tempo, custo ou número de tentativas é atingido.
Isso é especialmente importante na IA de Voice. Uma conversa em tempo real valoriza a rapidez, enquanto a avaliação e o aprimoramento exigem tempo. Como se pode projetar uma solução que atenda a ambos os aspectos?
Este artigo explica como definir esse limite em uma arquitetura de agentes de voz da Vonage, onde os loops de agentes se encaixam e onde não se encaixam.
The voice agent responds quickly during the live call, while an offline loop reviews the interaction, verifies proposed changes, and improves future responses.
Por que a Voice muda o design
A latência de voz é o atraso entre o momento em que o chamador termina de falar e o momento em que ouve a resposta do atendente.
Em um site, quando uma ação demora, pode ser exibido um ícone giratório ou uma parte da página pode ser atualizada. Durante uma ligação telefônica, a demora soa como silêncio. A pessoa que está ligando não pode avançar rapidamente, alternar entre abas ou perceber que o sistema ainda está funcionando. Mesmo uma breve pausa pode parecer confusão, uma queda na conexão ou uma solicitação com falha.
O atraso também se acumula sequencialmente. O sistema pode precisar:
Compreender o que a pessoa que está ligando diz.
Descubra o que eles precisam.
Chame quaisquer sistemas externos necessários.
Gerar e retornar uma resposta falada.
Uma chamada lenta a uma ferramenta, uma nova tentativa do modelo ou uma resposta atrasada da conversão de texto em fala afeta tudo o que vem a seguir.
Os loops tornam o atraso mais difícil de prever. O sistema pode não saber com antecedência se será necessária uma passagem, três passagens ou várias chamadas de ferramenta antes que o resultado possa ser Verify.
Isso nos leva à questão fundamental do projeto:
O que precisa acontecer enquanto o chamador está aguardando e o que pode acontecer depois?
Desenhe a linha de latência
A solução é considerar o agente de voz como duas partes que funcionam em ritmos diferentes.
O fluxo de trabalho em tempo real lida com a conversa atual. Ele recebe o áudio do chamador, compreende a solicitação, aciona uma ferramenta aprovada quando necessário e retorna uma resposta falada. Cada etapa adicional causa atraso; portanto, esse fluxo deve ser fácil de explicar e apresentar um comportamento previsível.
O ciclo offline começa após a chamada. Ele pode analisar evidências, reproduzir falhas, comparar informações com um sistema de origem e propor uma alteração. Ninguém fica ouvindo silêncio enquanto esse trabalho é realizado.
The live workflow handles the caller’s request with bounded steps and tested fallbacks, while the offline workflow evaluates results and improves future calls.Manter o caminho ativo delimitado
Um fluxo de trabalho em tempo real útil não tenta resolver tudo. Ele executa a ação mais segura e útil dentro do tempo disponível do chamador.
Três táticas ajudam a manter esse caminho previsível:
Limite o trabalho. Dê ao agente acesso apenas às ferramentas necessárias para a tarefa atual e limite a frequência com que ele pode utilizá-las. Prefira uma única consulta bem definida em vez de uma cadeia aberta de pesquisas. Trate as leituras e as gravações de maneira diferente: as leituras geralmente podem atingir o tempo limite e recorrer a um plano alternativo, enquanto as gravações devem confirmar a intenção do chamador e evitar novas tentativas cegas quando o estado final não estiver claro.
Estabeleça prazos rígidos. Estabeleça um limite de tempo para cada chamada de ferramenta e para toda a troca de mensagens. Permita apenas tentativas de recuperação predefinidas para falhas temporárias e registre separadamente a transcrição, o modelo, a ferramenta e o tempo de fala, para que você possa identificar o verdadeiro gargalo.
Escreva a solução alternativa antes do lançamento. Se uma dependência estiver lenta ou falhar, use uma resposta testada que informe a verdade e indique ao usuário o próximo passo, em vez de pedir ao modelo para improvisar. Por exemplo: “Não consigo recuperar essa atualização no momento. Posso encaminhá-lo ao suporte ou enviar uma mensagem de acompanhamento.”
Essas regras variam de acordo com a tarefa. A consulta do status de um pedido é uma operação de leitura; portanto, o agente pode realizar uma consulta e recorrer a um plano alternativo caso ocorra um tempo limite. A alteração de um agendamento é uma operação de gravação; portanto, o agente deve confirmar a solicitação e evitar declarar sucesso se o estado final não estiver claro. Uma contestação de cobrança pode ser melhor tratada coletando-se os detalhes relevantes e encaminhando a questão a uma pessoa.
O objetivo não é a autonomia máxima. Trata-se de escolher a ação útil mais segura que o sistema possa realizar dentro do tempo disponível do usuário.
Inserir evidências de chamadas em loops offline
Assim que a ligação terminar, os limites rigorosos de latência são flexibilizados. Um ciclo offline pode analisar as evidências sem fazer o interlocutor esperar, mas deve gerar algo que possa ser utilizado, em vez de simplesmente resumir a ligação.
A Vonage oferece aos desenvolvedores várias maneiras de coletar essas evidências. Uma conexão WebSocket pode transmitir áudio entre a Voice API e o agente em tempo real. O webhook de resposta retorna o NCCO que controla a chamada, enquanto o webhook de evento recebe atualizações de status e do ciclo de vida. Quando a gravação for necessária, o NCCO ação de gravação pode capturar o áudio e enviar metadados da gravação para uma URL de evento.
Essas entradas podem servir de base para vários ciclos úteis:
Ciclo de regressão. Repita a análise das falhas detectadas em relação à próxima alteração no prompt, no modelo, no conhecimento ou no roteamento. O ciclo deve produzir um resultado claro de aprovação ou reprovação e bloquear regressões antes que alterações de maior impacto sejam implementadas.
Ciclo de atualização. Compare respostas ou entradas de conhecimento com sua fonte de referência. Se a informação estiver desatualizada, prepare uma proposta de atualização para verificação, em vez de alterar automaticamente o ambiente de produção.
Ciclo de transferência. Analise as transferências e as chamadas com falha para identificar perguntas de admissão ausentes, campos obrigatórios, alterações no encaminhamento ou tarefas que sempre devem ser encaminhadas a uma pessoa. O resultado deve ser uma proposta concreta para a próxima versão do sistema.
As gravações de chamadas podem melhorar o sistema, mas podem conter informações pessoais ou confidenciais. Armazene apenas o que for necessário para o processo de revisão, oculte os dados confidenciais, defina um prazo de retenção, restrinja o acesso e reutilize a transcrição em tempo real de voz para texto em tempo real em tempo real, quando for o caso.
Decida a que área o trabalho se enquadra
Use a live workflow when the caller is waiting, an agent loop when the work can wait and be verified, and human review when success cannot be checked reliably.Se o chamador estiver em espera, utilize um fluxo de trabalho delimitado. Limite as chamadas à ferramenta, defina o tempo limite e defina o plano alternativo antes da execução.
Se o trabalho puder esperar e o resultado puder ser verificado, use um ciclo. Guarde as evidências, verifique o resultado de forma independente e exija aprovação antes que alterações de alto impacto sejam implementadas.
Se ninguém consegue definir como é o sucesso, não transforme a tarefa em um ciclo autônomo. Mantenha o fluxo de trabalho fixo ou designe uma pessoa responsável.
A questão principal não é se uma tarefa pode ser automatizada. É se o sistema consegue identificar quando a tarefa foi concluída corretamente.
Conclusão: uma regra a ser lembrada
Não coloque a latência em loop.
Deixe que o fluxo de trabalho voltado para o chamador seja concluído rapidamente. Deixe que as informações dessa chamada alimentem um ciclo mais lento, capaz de avaliar, verificar e aprimorar o comportamento futuro.
Essa separação proporciona os dois resultados: uma experiência ágil para quem liga e um sistema que se torna mais confiável com o passar do tempo.
Tem alguma dúvida ou quer compartilhar o que está criando?
Inscreva-se no Boletim Informativo para Desenvolvedores
Siga-nos no X (antigo Twitter) para ficar por dentro das novidades
Assista aos tutoriais no nosso canal do YouTube
Conecte-se conosco na página de desenvolvedores da Vonage no LinkedIn
Fique conectado e acompanhe as últimas notícias, dicas e eventos para desenvolvedores.
Sobre Vince DiPaola
Vince DiPaola comanda teamvince, um estúdio de produtos e capacitação em IA no Brooklyn. Ele desenvolve sistemas de agentes práticos e ensina equipes a transformar tarefas repetitivas em fluxos de trabalho de IA nos quais possam confiar.
Compartilhar:
Vince DiPaola runs teamvince, an AI enablement and product studio in Brooklyn. He builds practical agent systems and teaches teams how to turn repetitive tasks into AI workflows they can trust. When he's not building, you can find him throwing pots at BKLYN Clay, and on the mats at Marcelo Garcia Brazilian Jiu Jitsu.