Como construir um concierge de viagens por voz com Amazon Bedrock AgentCore, Knowledge Base e Nova Sonic

Voz como nova camada de interação em aplicativos de viagem

Companhias aéreas já dispõem de aplicativos e sites onde passageiros consultam voos, escolhem assentos e gerenciam reservas. O que a AWS propõe neste guia é adicionar uma camada de voz natural sobre essa infraestrutura existente — permitindo que o viajante troque um assento ou verifique um atraso simplesmente falando, sem sair do aplicativo ou navegar por menus.

Construir essa camada exige engenharia cuidadosa em várias frentes: transmissão de áudio em ambas as direções, manutenção do contexto da conversa ao longo de muitos turnos, integração com sistemas de backend sem acoplamento rígido ao agente, e escalabilidade automática nos picos de tráfego — como nas vésperas de feriados.

Os três serviços gerenciados no centro da solução

A solução apresentada pela AWS é construída sobre três serviços gerenciados principais:

  • Amazon Bedrock AgentCore: plataforma agnóstica para construir, implantar e operar agentes de Inteligência Artificial (IA) com segurança e escala, com liberdade de escolha de framework e modelo.
  • Amazon Nova Sonic: modelo de fala para fala (speech-to-speech) para interações de voz em tempo real, disponível no Amazon Bedrock.
  • Amazon Bedrock Knowledge Bases: serviço totalmente gerenciado de Geração Aumentada por Recuperação (RAG) que fundamenta as respostas nos documentos da própria empresa.

Com essa combinação, o passageiro fala e o concierge consulta o itinerário, troca o assento, atualiza a preferência de refeição, responde perguntas sobre políticas e, se necessário, conecta o viajante a um atendente humano — tudo dentro da mesma sessão, sem substituir as telas existentes do aplicativo.

Visão geral da arquitetura

A arquitetura separa o front-end, o agente de IA e os serviços de backend em camadas distintas, permitindo que cada uma seja desenvolvida e escalada de forma independente. A comunicação entre o agente e o backend usa o Protocolo de Contexto de Modelo (MCP), um padrão aberto para conectar aplicações de IA a ferramentas e dados externos, mantendo os dois lados fracamente acoplados.

Os serviços implantados pela solução são:

Fluxo de uma requisição do usuário

O fluxo completo de uma interação funciona assim: o usuário abre o aplicativo web hospedado no AWS Amplify e faz login. O Amazon Cognito autentica a requisição e retorna Tokens Web JSON (JWTs) e credenciais temporárias da AWS. O front-end abre uma conexão WebSocket assinada com SigV4 para o Amazon Bedrock AgentCore, que valida o token com o Cognito e inicializa o Amazon Nova 2.5 Sonic via Amazon Bedrock.

Quando o usuário fala, o Nova 2.5 Sonic processa o áudio e dispara chamadas de ferramentas. O agente invoca o AgentCore Gateway via MCP para recuperar dados de voos, gerenciar reservas e atualizar preferências de passageiros. O Gateway encaminha as requisições como chamadas REST ao API Gateway, que as roteia para funções Lambda. Essas funções consultam as tabelas do DynamoDB e retornam os resultados. O Nova 2.5 Sonic então gera uma resposta de voz contextual e a transmite de volta ao usuário pela conexão WebSocket.

Para perguntas sobre políticas, o AgentCore Gateway consulta diretamente o Amazon Bedrock Knowledge Bases por meio do conector MCP nativo, que retorna os trechos relevantes como citações ao agente. Quando o usuário solicita um atendente humano, o Lambda registra o escalonamento no DynamoDB e retorna um número de referência com tempo estimado de espera.

Pré-requisitos para implantação

Antes de começar, é necessário ter em mãos:

A solução é implantada com um único script do AWS Cloud Development Kit (AWS CDK). Para os passos detalhados, o README do repositório no GitHub contém todas as instruções.

Respondendo perguntas sobre políticas com Knowledge Base

Passageiros frequentemente perguntam sobre franquia de bagagem, taxas de alteração, viagem com pets e regras do programa de fidelidade. A solução responde a essas perguntas usando Geração Aumentada por Recuperação (RAG) via Amazon Bedrock Knowledge Bases, fundamentando as respostas nos documentos de política da própria companhia aérea.

O repositório já vem com documentos de exemplo cobrindo bagagem, cancelamentos e reembolsos, alterações e remarcações, regras de classe tarifária, termos do programa de fidelidade, viagem com pets, assistência especial e upgrades. O processo é simples: basta fazer o upload dos documentos para o Amazon S3 e criar a base de conhecimento uma única vez. A partir daí, o Amazon Bedrock cuida de todo o restante — embedding, chunking, indexação, armazenamento e recuperação. O armazenamento roda sobre o Amazon S3 Vectors, uma capacidade do Amazon S3. O Smart Parsing prepara os PDFs de origem para que tabelas e layouts estruturados sejam recuperados com precisão.

Quando os documentos de política são atualizados, basta sincronizar a base de conhecimento e o novo conteúdo fica disponível imediatamente — sem necessidade de reimplantar nenhum pipeline. A conexão da base de conhecimento ao agente é feita diretamente pelo AgentCore Gateway: basta adicioná-la como alvo de conector e escolher entre recuperação padrão ou agêntica. Para os passos de configuração, consulte como adicionar uma base de conhecimento como alvo de gateway.

Processamento de voz com Amazon Nova 2.5 Sonic

Cada sessão roda como um container gerenciado no AgentCore runtime com isolamento por microVM, mantendo as conversas dos passageiros separadas mesmo sob carga. O AgentCore oferece escalabilidade automática, monitoramento integrado e roteamento de sessões.

Para implantações em produção, a AWS recomenda adicionar Amazon Bedrock Guardrails para filtrar tentativas de injeção de prompt e validar o fundamentação das respostas. O padrão de confirmar antes de gravar — onde o agente pede confirmação antes de fazer qualquer alteração — já oferece uma linha de base de práticas responsáveis de IA.

O agente usa o framework Strands BidiAgents para definir o prompt do sistema, as ferramentas e o fluxo da conversa. O Amazon Nova 2.5 Sonic traz as seguintes capacidades ao concierge:

  • Reconhecimento de fala com robustez a diferentes sotaques e ruído de fundo.
  • Respostas faladas que se adaptam ao tom do passageiro.
  • Streaming bidirecional com baixa latência.
  • Chamada de ferramentas assíncrona que busca dados em paralelo sem pausar a conversa.
  • Mascaramento de latência que gera respostas faladas intermediárias enquanto aguarda os resultados das ferramentas, mantendo a conversa natural.
  • Interrupção (barge-in) e troca de turno natural.
  • Contexto mantido ao longo de muitos turnos de conversa.

O áudio é transmitido do front-end como PCM a 16 kHz pela conexão WebSocket para o AgentCore runtime. O Nova 2.5 Sonic transcreve a fala, o agente seleciona as ferramentas certas e as chama via MCP. O AgentCore Gateway traduz cada chamada MCP em uma requisição REST, o Lambda executa a lógica e retorna os resultados, e o Nova 2.5 Sonic incorpora esses resultados em uma resposta falada. Como as chamadas de ferramentas rodam de forma assíncrona, a conversa não trava enquanto os dados são carregados.

O que há de novo no Amazon Nova 2.5 Sonic

Esta solução usa o Amazon Nova 2.5 Sonic, um modelo de fala para fala com raciocínio aprimorado para voz em tempo real. Para um concierge de voz que chama ferramentas de backend e segue um prompt de sistema detalhado, esse raciocínio se manifesta de formas práticas:

  • Melhor chamada de ferramentas e conclusão de tarefas agênticas: o agente seleciona e encadeia as ferramentas certas de forma confiável em requisições com múltiplos passos — como consultar um itinerário e depois trocar um assento em uma única conversa.
  • Seguimento rigoroso de instruções e raciocínio: o modelo adere ao prompt do sistema, incluindo regras de formatação como ler códigos de confirmação e números de voo caractere por caractere.
  • Tratamento preciso de IA responsável: o modelo responde de forma útil a requisições legítimas de passageiros enquanto lida com segurança com requisições inadequadas.

Autenticação e fluxo de conexão WebSocket

A solução usa Amazon Cognito User Pools e Identity Pools para acesso baseado em função. O passageiro faz login com usuário e senha e recebe JWTs — um token de acesso e um token de identidade. O front-end troca o token de identidade pelo Cognito Identity Pool por credenciais temporárias da AWS compostas por chave de acesso, chave secreta e token de sessão.

Essas credenciais assinam a conexão WebSocket para o AgentCore runtime e as requisições ao API Gateway usando Signature Version 4 (SigV4). Apenas passageiros autenticados chegam ao aplicativo e às APIs de serviço. O navegador então transmite áudio PCM a 16 kHz e recebe respostas de voz e notificações de ferramentas pela mesma conexão, sem nenhum proxy intermediário no servidor.

Escalonamento para atendente humano

O concierge encaminha o passageiro para um atendente humano quando não consegue atender a uma solicitação ou quando o passageiro pede. Após a confirmação, o agente chama a ferramenta EscalateToAgent. O Lambda registra o escalonamento no DynamoDB e retorna um número de referência com o tempo estimado de espera. O agente compartilha esse número e o front-end no AWS Amplify realiza a chamada para a linha de suporte.

Limpeza dos recursos

Para evitar cobranças contínuas após os testes, a solução inclui um script de limpeza que destrói os recursos na ordem inversa da implantação — começando pelo front-end, depois o AgentCore runtime, o AgentCore Gateway e a infraestrutura de backend:

./cleanup-all.sh --dry-run
./cleanup-all.sh

Conclusão

A AWS demonstrou como é possível construir um concierge de viagens por voz totalmente funcional combinando Amazon Cognito para autenticação, Amazon Bedrock AgentCore para hospedagem do agente, API Gateway e Lambda para lógica de negócio, DynamoDB para armazenamento e Amazon Bedrock Knowledge Bases para respostas sobre políticas. O design em camadas separa front-end, agente e backend, permitindo que cada um evolua e escale de forma independente.

O pricing por uso e a escalabilidade automática mantêm os custos proporcionais ao tráfego. Com a integração via MCP, é possível adicionar uma nova função Lambda sem tocar no código do agente. Para começar, acesse o repositório da solução no GitHub e adapte o padrão aos seus próprios sistemas.

Recursos adicionais

Fonte

Build a voice travel concierge with Amazon Bedrock AgentCore, Managed Knowledge Base and Nova Sonic (https://aws.amazon.com/blogs/machine-learning/build-a-voice-travel-concierge-with-amazon-bedrock-agentcore-managed-knowledge-base-and-nova-sonic/)

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *