Como construir um atendente de voz com IA para restaurantes usando o Amazon Connect

O problema: pedidos por telefone ainda dominam em restaurantes

Em muitos restaurantes, uma fatia expressiva dos pedidos ainda chega por telefone. O problema é que essas ligações geralmente caem no colo de um funcionário que já está atendendo clientes no balcão. O resultado é previsível: cliente esperando na linha, pedido anotado à mão e o caos se intensificando nos horários de pico.

Criar um app ou site resolve para quem prefere pedir online, mas não ajuda em nada quem quer simplesmente ligar. A AWS publicou um guia técnico mostrando como resolver exatamente esse problema: um sistema de pedidos por voz que atende a ligação e conduz o pedido do início ao fim, sem app, sem site e sem login.

Como a solução funciona

O cliente liga para um número de telefone. Um atendente de IA cumprimenta, responde perguntas sobre o cardápio, encontra a unidade de retirada mais próxima e confirma o pedido em voz alta. Tudo por telefone, sem nenhuma etapa digital adicional.

A arquitetura usa três serviços principais trabalhando juntos:

O design mantém três responsabilidades bem separadas: o Amazon Connect cuida da ligação, o agente de IA conduz a conversa e o backend armazena cardápio, carrinho, pedidos e localizações. Essa separação é intencional — o backend pode mudar sem que seja necessário mexer no agente.

Componentes implantados pela solução

A solução completa é implantada via Kit de Desenvolvimento em Nuvem da AWS (AWS CDK) em oito stacks. Os principais componentes são:

  • Amazon Connect: fornece a telefonia de entrada, o fluxo de contato e o número de telefone que recebe as ligações.
  • Amazon Lex V2: hospeda o bot de voz que o fluxo de contato conecta ao chamador, usando o Agentic Voice para fala e roteando cada turno ao agente de IA.
  • Amazon Connect Agentic Voice: oferece Reconhecimento Automático de Fala Avançado (Advanced ASR) com detecção de fim de turno baseada em confiança, além de síntese de voz (TTS) expressiva, tudo nativamente no Amazon Connect.
  • Amazon Connect AI Agents: o agente de orquestração alimentado pelo Anthropic Claude Haiku 4.5 no Amazon Bedrock.
  • Amazon Connect AI Guardrails: mantém a conversa segura e dentro do tema com filtros de conteúdo, tópicos negados e filtragem de linguagem inapropriada.
  • AgentCore Gateway: expõe as APIs do backend como ferramentas MCP que o agente pode descobrir e chamar pelo nome.
  • Amazon AppIntegrations: registra o AgentCore Gateway como uma aplicação MCP que o agente de IA pode usar.
  • Amazon API Gateway: expõe o backend com endpoints REST protegidos por Gerenciamento de Identidade e Acesso da AWS (IAM).
  • AWS Lambda: executa a lógica de negócio para cardápios, carrinhos, pedidos e buscas de localização.
  • Amazon DynamoDB: armazena perfis de clientes, pedidos, itens do cardápio, carrinhos e localizações.
  • Amazon Location Service: fornece geocodificação e cálculo de rotas para recomendações de retirada.

O fluxo de uma ligação de ponta a ponta

Quando o cliente liga, o Amazon Connect atende e um fluxo de contato entra em ação. Esse fluxo executa uma sequência curta de passos: habilita o registro no Amazon CloudWatch, define a voz Agentic Voice para a chamada, captura o número de telefone do chamador e abre uma sessão do agente de IA. Em seguida, uma função Lambda injeta o número de telefone nessa sessão — assim o agente já sabe quem está ligando sem precisar perguntar. Por fim, o fluxo reproduz uma saudação e conecta o chamador ao bot do Amazon Lex V2, que assume o controle da conversa usando o Agentic Voice para ouvir e falar.

Quando o agente de IA termina, o bot devolve o controle ao fluxo de contato, que lê o resultado e encerra a chamada. O agente sinaliza o fim com um de dois resultados: Concluído, para um pedido finalizado, ou Escalonar, quando o chamador pede para falar com uma pessoa. Nessa solução ambos os resultados encerram a chamada, mas como tudo vive dentro do Amazon Connect, é possível configurar o caminho de escalonamento para transferir o chamador para um atendente humano com o contexto completo da conversa.

Reconhecimento de voz e naturalidade na conversa

O Amazon Connect Agentic Voice cuida da camada de fala nativamente dentro do Amazon Connect. Seu Advanced ASR reconhece fala com diferentes sotaques e tolera o ruído de fundo típico de uma linha telefônica. A detecção de fim de turno baseada em confiança identifica quando o chamador terminou de falar, em vez de aguardar um silêncio fixo — isso encurta a pausa entre o fim da fala do cliente e a resposta do agente, tornando a conversa mais natural. O chamador também pode interromper o agente, como acontece em ligações reais.

O agente de IA, alimentado pelo Anthropic Claude Haiku 4.5, tem um prompt de sistema escrito para voz: respostas curtas, preços falados de forma natural (como “cinco reais e noventa e nove”) e sem leitura de IDs internos. O agente cumprimenta, responde dúvidas sobre o cardápio, resolve a localização de retirada, monta o carrinho, lê o resumo para confirmação e registra o pedido.

Os limiares de confiança de fim de turno e de silêncio podem ser ajustados por intenção, para casos como a leitura de um número de cartão ou um endereço. A AWS disponibiliza um guia de boas práticas do Agentic Voice para esses ajustes.

Conectando o agente ao backend via MCP

O agente de IA nunca chama as funções Lambda do backend diretamente. O AgentCore Gateway fica no meio e apresenta os endpoints do backend como ferramentas MCP que o agente descobre e chama pelo nome — consultas ao cardápio, operações de carrinho, registro de pedido, histórico do cliente, geocodificação e busca de localização.

O gateway é registrado no assistente Amazon Connect AI Agents como uma aplicação MCP via Amazon AppIntegrations, e autoriza cada chamada com um Token Web JSON (JWT) validado contra a instância do Amazon Connect. Quando o agente chama uma ferramenta como PlaceOrder, o gateway transforma isso em uma requisição REST para o Amazon API Gateway, que roteia para a função Lambda correspondente.

Como o agente fala com ferramentas nomeadas e não com funções específicas, é possível trocar um handler do backend ou adicionar uma ferramenta sem alterar o agente. O mesmo backend também pode servir outros canais, pois todos registram pedidos nas mesmas ferramentas e dados.

Identificando o chamador sem login

Um chamador por telefone não faz login. O sistema usa o número de telefone como base de identidade: o fluxo de contato captura esse número e uma função Lambda o injeta na sessão do agente como atributo de sessão. O agente converte esse número em um ID de cliente e o usa em todas as chamadas de ferramentas da conversa.

Se o número não estiver disponível — porque o chamador bloqueou o identificador de chamadas — o agente gera um ID anônimo para a sessão e o pedido ainda é processado. Cada chamador tem um carrinho isolado, então ligações simultâneas nunca interferem umas nas outras.

Vale destacar: isso reconhece um chamador recorrente, mas não é verificação de identidade. O número de telefone não deve ser tratado como prova de quem está ligando. Uma implantação em produção que exija identidade verificada pode adicionar uma etapa como senha de uso único.

Mantendo a conversa segura com AI Guardrails

O agente de IA tem um Amazon Connect AI Guardrail configurado que mantém a conversa segura e dentro do tema. O guardrail aplica filtros de conteúdo para categorias como discurso de ódio, insultos, conteúdo sexual, violência e ataques de prompt. Ele bloqueia tópicos negados como discussões políticas e conselhos de investimento financeiro, e filtra linguagem inapropriada com uma lista gerenciada e uma lista personalizada.

Quando o chamador diz algo fora do tema ou inadequado, o guardrail intervém e o agente responde com uma mensagem padrão, como “Desculpe, só posso ajudar com pedidos do restaurante”, e redireciona a conversa.

Um ponto de atenção: filtros muito amplos podem bloquear turnos legítimos. Filtros de informações pessoais identificáveis, em particular, podem capturar o endereço ou CEP que o chamador precisa fornecer para encontrar uma unidade de retirada. Vale calibrar o guardrail contra o seu próprio prompt antes de subir para produção.

Armazenamento: cardápio, carrinhos e pedidos

Cinco tabelas do Amazon DynamoDB cobrem o fluxo de pedidos. A tabela Customers armazena perfis com nome, telefone e informações de fidelidade. A tabela Orders guarda o histórico de pedidos com a localização de retirada. A tabela Menu contém itens, preços e disponibilidade, que podem variar por unidade. A tabela Carts mantém carrinhos em andamento com um valor de tempo de expiração (TTL) para limpeza automática de carrinhos abandonados. A tabela Locations armazena detalhes dos restaurantes como coordenadas, horários e alíquotas de impostos.

O DynamoDB opera em modo sob demanda, então não há throughput para gerenciar.

Localização de retirada com Amazon Location Service

Um chamador por telefone não tem navegador para compartilhar localização. O agente pede um CEP ou um cruzamento de ruas e usa o Amazon Location Service para converter isso em coordenadas. A partir daí, o backend pode encontrar os restaurantes mais próximos, ranqueá-los por tempo de deslocamento em vez de distância em linha reta, ou geocodificar um endereço específico. Isso permite que o agente diga algo acionável como “a unidade mais próxima fica na Rua Principal, a cerca de cinco minutos daqui”.

Pré-requisitos e implantação

Para implantar a solução, são necessários:

A solução completa está disponível no repositório de exemplo no GitHub. Após clonar o repositório, basta executar o script de implantação com um prefixo:

./scripts/deploy-all.sh --deploymentPrefix qsr-cn

O script executa uma verificação prévia e implanta cada stack do AWS CDK em ordem de dependência. Ao final, ele exibe o número para discagem. A AWS recomenda a região US East (Norte da Virgínia), us-east-1, como ponto de partida, pois todos os serviços necessários estão disponíveis lá.

Custos estimados

Segundo a AWS, em julho de 2026, executar essa solução com as configurações padrão na região US East (Norte da Virgínia) custa aproximadamente US$ 35 por mês para 1.000 pedidos por voz com média de cinco minutos cada. Os maiores itens de custo são os minutos de chamada de entrada no Amazon Connect, os tokens do Anthropic Claude Haiku 4.5 para orquestração e as requisições de fala do Amazon Lex V2. Não há cobranças fixas de computação, pois o Amazon Connect e os serviços de IA cobram por uso. A AWS recomenda configurar um orçamento no AWS Cost Explorer para acompanhar os gastos.

Limpeza dos recursos

Para evitar cobranças contínuas, a AWS disponibiliza um script de limpeza que remove os stacks em ordem inversa:

./scripts/cleanup-all.sh --force --deploymentPrefix qsr-cn

Atenção: a limpeza é destrutiva. Ela libera o número de telefone, apaga o histórico de pedidos no DynamoDB e remove a instância do Amazon Connect, o assistente, o agente de IA, o guardrail, o bot Lex e o AgentCore Gateway. Faça backup do que quiser preservar antes de executar. Ao final, confirme no console do AWS CloudFormation que todos os oito stacks foram removidos.

Recursos adicionais

Fonte

Building a restaurant telephony AI host with Amazon Connect (https://aws.amazon.com/blogs/machine-learning/building-a-restaurant-telephony-ai-host-with-amazon-connect/)

Comments

Leave a Reply

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