image

Acesse bootcamps ilimitados e +750 cursos pra sempre

75
%OFF
Article image
Cleofas Junior
Cleofas Junior09/11/2026 18:33
Compartilhe

Como Construir Soluções de IA e Nuvem para Desafios Reais de Delivery!

    Introdução: A Engenharia de IA no Mundo Real

    No cenário moderno de tecnologia, onde a Inteligência Artificial deixou de ser um conceito teórico para se tornar o motor central das grandes operações de negócios, a criação de soluções escaláveis exige muito mais do que chamadas de API genéricas. Em ecossistemas de altíssima concorrência e volume massivo — como o mercado de delivery alimentício liderado pelo iFood —, cada componente de software precisa aliar velocidade operacional, resiliência serverless, segurança biométrica e custo de computação otimizado.

    Para responder a dores operacionais concretas do mercado — desde a fricção no cadastro de novos parceiros até a mitigação de fraudes e a personalização de pedidos em milissegundos —, desenvolvi uma suíte de 4 projetos de engenharia de software e IA aplicados na AWS, com simuladores locais offline e arquiteturas em Python.

    Neste artigo, apresento a arquitetura interna, os algoritmos defensivos e os padrões de design adotados em cada uma dessas quatro soluções corporativas, demonstrando como unir Inteligência Artificial Tradicional, Visão Computacional, IA Generativa e Serviços Nativos em Nuvem para resolver problemas de negócios reais.

    1. Onboarding Automatizado de Entregadores (ifood-onboarding-automated)

    🎯 O Desafio de Negócio

    No modelo tradicional de expansão de frotas de delivery, a validação de documentos de identidade (como a Carteira Nacional de Habilitação - CNH) é realizada manualmente por equipes de backoffice. Esse processo gera três gargalos críticos:

    1. Lentidão no Onboarding: O tempo de espera para liberação do entregador na plataforma pode levar dias, gerando insatisfação e perda de engajamento (churn cadastral).
    2. Custo Operacional Elevado: Necessidade de alocar equipes massivas para analisar manualmente milhares de imagens diariamente.
    3. Fadiga e Erro Humano: Dificuldade em identificar inconsistências sutis em números de CPF ou CNHs vencidas sob alto volume de trabalho.

    🛠️ Arquitetura e Processamento com Amazon Textract

    Para automatizar esse fluxo, a arquitetura utiliza o Amazon Textract por meio da API especializada AnalyzeID. Diferente do OCR convencional — que extrai apenas texto bruto sem semântica —, o AnalyzeID utiliza modelos de Machine Learning treinados para reconhecer documentos de identidade sem a necessidade de criação de gabaritos (templates) manuais rígidos.

    O fluxo de dados integra a recepção da imagem do documento no Amazon S3, o disparo do evento para o AWS Lambda, o processamento estruturado no Textract e o armazenamento final de status no Amazon DynamoDB.

    A lógica central em Python (src/onboarding_cnh.py e src/utils.py) intercepta os dados estruturados e aplica um conjunto de regras defensivas de negócio:

    • Validação Matemática de CPF: Executa o algoritmo oficial de dígitos verificadores da Receita Federal (módulo 11), rejeitando instantaneamente documentos com sequências numéricas fraudulentas ou matematicamente inválidas.
    • Verificação Temporal de Validade: Compara a data de vencimento da CNH extraída com o fuso horário atual do servidor, sinalizando documentos expirados.
    • Checagem de Categoria da Habilitação: Valida se a categoria da CNH (ex: A, B ou superior) é elegível para o veículo cadastrado.
    • Filtro de Confiança da IA (Confidence Threshold): O algoritmo analisa a métrica de probabilidade fornecida pelo Textract para cada campo essencial. Se a pontuação de confiança for inferior a 90% (provocada por fotos tremidas, sombras ou baixa resolução), o cadastro é desviado para uma fila de revisão humana (Human-in-the-Loop), garantindo rigor e zero fraude cadastral.

    2. Prevenção de Fraude Biométrica Facial (ifood-facematch-antifraude)

    🎯 O Desafio de Negócio

    O compartilhamento não autorizado e o aluguel ilegal de contas de entregadores em plataformas de delivery representam sérios riscos de segurança para o cliente final, além de expor a empresa a passivos jurídicos e reputacionais. Era fundamental criar um mecanismo dinâmico de autenticação que confirmasse a presença do titular legítimo no momento em que ele inicia seu expediente.

    🛠️ Segurança Biométrica com Amazon Rekognition

    O sistema ifood-facematch-antifraude implementa uma solução de biometria facial utilizando a API compare_faces do Amazon Rekognition. O motor compara em tempo real a selfie capturada pelo aplicativo antes do início do turno com a foto oficial da CNH arquivada com segurança durante o onboarding.

    Tratando-se de Dados Pessoais Sensíveis (Biometria Facial), a solução foi concebida sob os preceitos da LGPD (Lei Geral de Proteção de Dados):

    • Validação de Borda: O script valida a extensão (.png, .jpeg) e limita o tamanho máximo do arquivo em 5 MB localmente antes de disparar chamadas de rede, reduzindo tráfego desnecessário.
    • Criptografia em Repouso: As imagens de referência no Amazon S3 utilizam chaves gerenciadas no AWS KMS (AES-256).
    • Ciclo de Vida Volátil: As selfies diárias são tratadas como dados temporários e possuem políticas de expiração no S3 configuradas para exclusão em até 24 horas após o término da validação, prevenindo a retenção indevida de dados biométricos.

    3. Digitalizador Inteligente de Cardápios Físicos (ifood-menu-digitizer)

    🎯 O Desafio de Negócio

    Para pequenos e médios restaurantes (merchants), o preenchimento manual do cardápio digital (inserindo nome do prato, descrição de ingredientes e preços) representa a maior barreira de entrada na plataforma, gerando desistências (churn no onboarding) e erros operacionais no faturamento.

    🛠️ Leitura de Layouts Tabulares com Amazon Textract Tables

    O ifood-menu-digitizer resolve essa fricção ao permitir que o comerciante envie uma simples foto do seu cardápio em papel. O pipeline aciona o Amazon Textract com a funcionalidade avançada de análise de Tabelas (analyze_document com a feature TABLES).

    Diferente da leitura sequencial de texto, o Textract mapeia a geometria bidimensional do documento, identificando blocos do tipo TABLE, CELL e WORD. O motor Python (src/menu_processor.py) implementa as seguintes otimizações técnicas:

    1. Mapeador Hash $O(1)$: Constrói um dicionário de indexação (block_map) para mapear os IDs de relacionamento em tempo constante $O(1)$, evitando travessias lentas de grafos $O(N)$ em estruturas de dados complexas.
    2. Parser de Layout Dinâmico (2 ou 3 Colunas): Adapta-se automaticamente a cardápios simples (Prato e Preço) ou refinados (Prato, Ingredientes e Preço).
    3. Normalização Financeira em BRL: Executa expressões regulares em Python para tratar variações textuais de preços (R$ 49,90, 35.00, 15,00 Lanche), convertendo-as em números decimais sanitizados.
    4. Mapeamento Lógico de Cortesias: Mapeia termos como "Grátis", "Cortesia" ou "Free" para o valor decimal 0.0.
    5. Filtragem de Cabeçalhos: Identifica e descarta automaticamente linhas administrativas (como "Item", "Descrição", "Preço"), retornando um JSON limpo e diretamente consumível pela API de catálogo.

    4. Orquestrador Serverless de Delivery com Step Functions e GenAI (delivery-assistant-stepfunctions-bedrock)

    🎯 O Desafio de Negócio

    Em sistemas de delivery de alta concorrência, a orquestração do pedido precisa aliar precisão transacional (validação, cobrança, cozinha) com uma comunicação humanizada e personalizada ao cliente, sem comprometer a latência ou introduzir acoplamentos frágeis entre microsserviços.

    🛠️ Máquina de Estados Finitos com Integração Direta ao Bedrock

    A solução implementa uma Máquina de Estados Finitos (FSM) no AWS Step Functions definida em Amazon States Language (workflow.asl.json), integrada diretamente ao modelo Claude 3 Haiku no Amazon Bedrock.

    O fluxo orquestrado executa os seguintes passos encadeados:

    1. ValidarPedido (AWS Lambda): Verifica a consistência dos itens e do endereço. Se inválido, desvia para NotificarPedidoInvalido (Fail).
    2. GerarPersonalizacaoBedrock (Amazon Bedrock): Chama o modelo generativo para sintetizar uma saudação personalizada e uma recomendação relevante de acompanhamento.
    3. ProcessarPagamento (AWS Lambda + Gateway): Processa a transação financeira. Se recusada, desvia para NotificarFalhaPagamento (Fail).
    4. DespacharParaCozinha (AWS Lambda): Envia o pedido aprovado para a cozinha e finaliza em PedidoConcluidoComSucesso (Succeed).

    Destaques de Engenharia e Resiliência Cloud:

    • Integração de Serviço Direta (bedrock:invokeModel): Em vez de envelopar a chamada à IA Generativa dentro de uma função AWS Lambda intermediária — o que geraria custos desnecessários de computação e latência de cold start —, o Step Functions gerencia o ciclo de vida da requisição diretamente com o Bedrock.
    • Manipulação Cirúrgica de Payloads: Usa Parameters para estruturar o prompt, ResultSelector ($.Body.content[0].text) para filtrar exclusivamente a resposta textual e ResultPath ($.assistenteIA) para anexar a sugestão generativa de acompanhamento e a mensagem acolhedora sem sobrescrever o payload original do pedido.
    • Resiliência com Backoff Exponencial: Define políticas de retentativa para exceções de throttling e timeout (Bedrock.ThrottlingException, Bedrock.ModelTimeoutException) com intervalo inicial de 2 segundos, multiplicador de 2x e limite de 3 tentativas.

    🌐 Links e Repositórios no GitHub:

    Artigo desenvolvido por Cleófas Júnior para a comunidade da plataforma DIO.

    Compartilhe
    Recomendados para você
    Microsoft - Certificação AI-103
    Neo4j - Certification
    DXC - IA do Zero ao Primeiro Agente
    Comentários (0)