Voltar para o blog
Machine Learning

Como implantar agentes de voz com Pipecat e Amazon Bedrock AgentCore Runtime: Guia prático – Parte 1

25 de março de 2026
20:34
inteligência artificialAWSWebRTCAmazon Bedrock AgentCorePipecatAgentes de vozWebSocketsStreaming de áudioTelefônicaGuia prático
Como implantar agentes de voz com Pipecat e Amazon Bedrock AgentCore Runtime: Guia prático – Parte 1

Desafios na implantação de agentes de voz em tempo real

Desenvolver agentes de voz inteligentes que mantenham conversas naturais e fluídas exige streaming de áudio de baixa latência, escalabilidade dinâmica e segurança rigorosa. Pequenos atrasos podem comprometer a experiência do usuário, especialmente em aplicações críticas como suporte ao cliente, assistentes virtuais e campanhas de atendimento.

Amazon Bedrock AgentCore Runtime e Pipecat: soluções para agentes de voz

O Amazon Bedrock AgentCore Runtime oferece um ambiente serverless seguro para executar agentes de voz, com isolamento por microVMs e escalabilidade automática para lidar com picos de tráfego. Ele suporta sessões contínuas de até 8 horas, ideal para interações longas e multi-turno, e cobra apenas pelos recursos efetivamente consumidos.

Pipecat é uma framework para construção de pipelines de voz em tempo real, que pode ser empacotada em containers ARM64 (Graviton) e implantada diretamente no AgentCore Runtime. O runtime suporta streaming bidirecional contínuo e oferece observabilidade integrada para traçar o raciocínio do agente e as chamadas de ferramentas.

Arquiteturas de streaming para agentes de voz no AgentCore Runtime

Para manter conversas naturais, a latência deve ser inferior a um segundo no caminho completo. Isso envolve streaming bidirecional em múltiplas etapas:

  • Cliente para agente: dispositivos web, mobile ou hardware de borda com condições variadas de rede.
  • Agente para modelo: interação em tempo real via APIs WebSocket de modelos de fala, como Amazon Nova Sonic.
  • Telefônica: integração com sistemas tradicionais via protocolo SIP ou transferência de sessão.

Este primeiro artigo foca no transporte entre cliente e agente, detalhando quatro abordagens principais.

Quatro abordagens de transporte de rede para agentes de voz

Abordagem Descrição Consistência de desempenho Facilidade de implementação Indicação
WebSockets Conexão direta via WebSockets para aplicações web e mobile. Boa Simples Prototipagem e casos leves
WebRTC (TURN assistido) Conexão WebRTC com relé TURN para otimizar latência e resiliência. Excelente Médio Produção com relé TURN via VPC
WebRTC (gerenciado) Infraestrutura WebRTC globalmente distribuída, com recursos avançados. Excelente Simples Produção em escala com observabilidade e multi-participantes
Telefônica Integração com chamadas telefônicas tradicionais via provedores SIP. Excelente Médio Centros de contato e telefonia

Exemplo prático: streaming bidirecional usando WebSockets

WebSockets é a abordagem mais simples para streaming bidirecional entre cliente e agente. O fluxo básico é:

  1. O cliente faz uma requisição POST para um servidor intermediário para obter um endpoint WebSocket seguro.
  2. O servidor intermediário gera uma URL pré-assinada AWS SigV4 com credenciais embutidas.
  3. O cliente conecta-se diretamente ao agente no AgentCore Runtime usando essa URL e inicia o streaming de áudio bidirecional.

Essa arquitetura separa a gestão de credenciais da lógica do agente, mantendo a segurança sem expor as credenciais AWS para o navegador. Para um exemplo de código, consulte o repositório oficial no GitHub.

Exemplo prático: streaming bidirecional usando WebRTC com TURN

WebRTC oferece melhor desempenho e resiliência, utilizando UDP para baixa latência e fallback automático para TCP. A conexão é estabelecida via protocolo ICE, que tenta:

  • Conexão direta peer-to-peer (não suportada no AgentCore Runtime devido a restrições de IP público).
  • Conexão assistida por STUN (não suportada devido a NAT simétrico do AWS NAT Gateway).
  • Conexão relay via TURN, recomendada para AgentCore Runtime configurado em VPC.

Para configurar TURN, você pode usar serviços gerenciados como Cloudflare, Twilio, Amazon Kinesis Video Streams (KVS) ou soluções self-hosted como coturn. O tráfego é roteado via VPC com NAT Gateway para acesso à internet.

Exemplo de configuração para Cloudflare TURN:

# Em agent/.env e server/.env
ICE_SERVER_URLS=stun:stun.cloudflare.com,turn:turn.cloudflare.com:53,turn:turn.cloudflare.com:3478,turn:turn.cloudflare.com:5349

Para mais detalhes e código exemplo, consulte o repositório oficial.

Uso do Amazon Kinesis Video Streams (KVS) para TURN gerenciado

O KVS oferece TURN nativo AWS, eliminando dependência de terceiros e gerenciando automaticamente a rotação de credenciais via API GetIceServerConfig. O fluxo inclui:

  • Criação de um canal de sinalização KVS para fornecimento de credenciais TURN.
  • Recuperação dinâmica das credenciais temporárias durante a conexão.
  • Uso dessas credenciais para configurar a conexão WebRTC.

Considerações importantes:

  • Custo baixo (US$0,03/mês por canal ativo).
  • Limite de 5 transações por segundo por canal, recomendando uso de múltiplos canais em alta escala.
  • Requer saída para internet via NAT Gateway.

Veja o código exemplo no repositório oficial.

WebRTC gerenciado via AWS Marketplace

Para ambientes de produção em larga escala, provedores gerenciados como Daily oferecem infraestrutura WebRTC globalmente distribuída com recursos avançados, incluindo analytics, multi-participantes e baixa latência. Modelos de implantação:

  • SaaS totalmente gerenciado: conexão via API pública, rápida implantação.
  • Implantação em VPC do cliente: controle total da rede e conformidade com requisitos de dados.
  • SaaS com AWS PrivateLink: tráfego via endpoints VPC para reduzir latência e manter isolamento.

Para explorar essa opção, consulte seu time AWS ou veja o código exemplo com a chave DAILY_API_KEY.

Links úteis para aprofundamento e implementação