Blog • Artigo
    LangChainLangGraphPythonLLMs

    Sistema Multi-Agente para Extração Inteligente de Documentos

    Como combinar LangChain, LangGraph e CrewAI para automatizar a extração de dados de qualquer tipo de arquivo.

    Alexsander
    AlexsanderEngenheiro de Software
    Dec 22, 2025
    10 min de leitura
    Sistema Multi-Agente para Extração Inteligente de Documentos

    Imagine o seguinte cenário: sua empresa recebe diariamente centenas de documentos notas fiscais em PDF, fotos de comprovantes pelo WhatsApp, contratos em Word, planilhas de fornecedores em CSV. Cada documento precisa ter seus campos extraídos e enviados para o ERP. Hoje, alguém faz isso manualmente. E se um sistema inteligente pudesse fazer isso automaticamente, independente do formato?

    Neste artigo, apresento uma arquitetura de multi-agentes que resolve exatamente esse problema. A solução combina três frameworks que estão revolucionando o desenvolvimento de aplicações com IA: LangChain, LangGraph e CrewAI.


    O Problema: Documentos Heterogêneos, Processos Manuais

    Empresas lidam com uma diversidade enorme de formatos de documentos:

    • PDFs notas fiscais, boletos, contratos digitalizados
    • Imagens (PNG, JPG) fotos de documentos, comprovantes, recibos
    • Arquivos estruturados (CSV, JSON) exportações de sistemas, integrações
    • Documentos Word (DOC, DOCX) contratos, propostas, relatórios

    O desafio não é apenas ler esses arquivos. É extrair campos específicos (número da nota, CNPJ, valor total, data de vencimento) e enviar para sistemas externos (ERP, CRM, APIs) de forma confiável e validada.

    Soluções tradicionais de OCR falham em documentos com layouts variados. Regras fixas quebram quando o formato muda. É aqui que entra a inteligência artificial com agentes especializados.


    A Solução: Agentes Especializados Trabalhando em Equipe

    A arquitetura que proponho segue um princípio simples: cada tipo de documento tem um especialista dedicado, e um orquestrador coordena o trabalho de todos.

    Código
                        ┌────────────────────────────┐
                        │     ORCHESTRATOR AGENT     │
                        │  (Classifica e roteia)     │
                        └─────────────┬──────────────┘
                                      │
              ┌───────────────────────┼───────────────────────┐
              │                       │                       │
              ▼                       ▼                       ▼
    ┌──────────────────┐   ┌──────────────────┐   ┌──────────────────┐
    │    PDF Agent     │   │   Image Agent    │   │  Structured Agent│
    │  (Texto/Tabelas) │   │  (OCR + Vision)  │   │   (CSV / JSON)   │
    └────────┬─────────┘   └────────┬─────────┘   └────────┬─────────┘
             │                      │                      │
             └──────────────────────┼──────────────────────┘
                                    │
                                    ▼
                        ┌────────────────────────────┐
                        │     VALIDATOR AGENT        │
                        │   (Schema + Regras)        │
                        └─────────────┬──────────────┘
                                      │
                                      ▼
                        ┌────────────────────────────┐
                        │     INTEGRATOR AGENT       │
                        │    (API / ERP / Webhook)   │
                        └────────────────────────────┘
    

    Como Funciona na Prática

    1. Documento chega pode ser upload via API, email, pasta monitorada
    2. Orchestrator classifica identifica se é PDF, imagem, CSV, etc.
    3. Agente especializado extrai usa as ferramentas certas para aquele formato
    4. Validator confere valida CNPJ, datas, valores obrigatórios
    5. Integrator envia dispara para o ERP, webhook ou API externa

    O diferencial está na especialização: o agente de PDF sabe extrair tabelas, o agente de imagens combina OCR com visão computacional, o agente de dados estruturados faz mapeamento de campos. Cada um domina seu território.


    Os Três Frameworks: Quando Usar Cada Um

    A solução combina três tecnologias complementares. Entender o papel de cada uma é fundamental para fazer as escolhas certas no seu projeto.

    LangChain: A Base de Tudo

    LangChain é o framework que conecta modelos de linguagem (LLMs) ao mundo real. Ele fornece:

    • Conexão com LLMs OpenAI, Anthropic, modelos locais
    • Tools (ferramentas) funções que o agente pode chamar
    • Chains sequências de operações encadeadas
    • Prompts estruturados templates reutilizáveis

    No nosso sistema, LangChain é a fundação. Cada agente usa LangChain para se comunicar com o modelo de IA e executar suas ferramentas especializadas.

    Use LangChain quando: precisar conectar um LLM a ferramentas externas, APIs ou bancos de dados.

    LangGraph: Fluxos Complexos com Controle Total

    LangGraph estende o LangChain para criar workflows como grafos. Pense nele como um diagrama de fluxo onde cada nó é uma operação e as setas definem o caminho.

    O poder do LangGraph está em:

    • Estado compartilhado todos os nós acessam e modificam um estado central
    • Condicionais "se validação passou, vai para integração; senão, vai para tratamento de erro"
    • Loops pode voltar a nós anteriores (retry, refinamento)
    • Checkpointing salva o estado para retomar depois

    No nosso sistema, LangGraph orquestra todo o fluxo: classificação → extração → validação → integração, com tratamento de erros e retentativas.

    Use LangGraph quando: o fluxo tiver decisões condicionais, loops, ou precisar de estado persistente entre etapas.

    CrewAI: Agentes que Colaboram

    CrewAI adiciona uma camada de "equipe". Os agentes não apenas executam tarefas eles têm papéis, objetivos e podem delegar trabalho uns para os outros.

    Cada agente no CrewAI tem:

    • Role "Especialista em Extração de PDFs"
    • Goal "Extrair todos os campos da nota fiscal com alta precisão"
    • Backstory contexto que influencia seu comportamento
    • Tools ferramentas que pode usar

    A mágica acontece quando você cria uma Crew (equipe) e define Tasks (tarefas). O CrewAI gerencia a colaboração, passando contexto entre agentes.

    Use CrewAI quando: precisar de colaboração entre agentes, delegação de tarefas, ou quiser modelar o problema como uma equipe com especialistas.

    Comparativo Rápido

    AspectoLangChainLangGraphCrewAI
    FocoConexão LLM + ToolsFluxos statefulColaboração entre agentes
    ComplexidadeBaixaMédiaMédia-Alta
    Controle de fluxoLinearTotal (grafos)Sequencial ou hierárquico
    EstadoPor chainCompartilhado globalPor memória da crew
    Melhor paraTarefas simplesWorkflows complexosProblemas colaborativos

    Agentes Especializados: O Coração do Sistema

    Orchestrator: O Maestro

    O Orchestrator é o ponto de entrada. Ele recebe qualquer documento e decide para qual especialista enviar. A classificação é simples baseada no tipo MIME e extensão do arquivo mas poderia usar IA para casos ambíguos.

    Responsabilidades:

    • Identificar o tipo de documento
    • Rotear para o agente correto
    • Gerenciar casos não suportados

    PDF Agent: Especialista em Documentos Digitais

    PDFs são os documentos mais comuns em ambientes corporativos. O agente de PDF combina duas abordagens:

    1. Extração textual para PDFs com texto selecionável (nativos digitais)
    2. Análise visual para PDFs escaneados ou com layouts complexos

    A ferramenta principal é o PyMuPDF, que extrai texto, tabelas e metadados. Para documentos visuais, o agente converte páginas em imagens e usa um modelo de visão (GPT-4o, Claude) para interpretar.

    Image Agent: Quando o Documento é uma Foto

    Fotos de documentos são desafiadoras: iluminação ruim, ângulos tortos, baixa resolução. O Image Agent combina:

    1. Pré-processamento correção de contraste, conversão para escala de cinza
    2. OCR (Tesseract) extração de texto bruto
    3. Vision LLM interpretação inteligente da imagem

    O truque é usar o OCR como "dica" para o modelo de visão. O prompt inclui o texto extraído pelo OCR, ajudando o LLM a focar nos campos corretos mesmo quando a imagem é ruim.

    Structured Data Agent: Quando Já Vem Organizado

    Arquivos CSV e JSON já têm estrutura. O desafio é mapear campos para o schema de destino. "Valor_Total" no CSV pode precisar virar "total_value" no sistema.

    Este agente é o mais simples tecnicamente, mas crucial para integrações. Ele aplica mapeamentos configuráveis e valida tipos de dados.

    Validator Agent: O Guardião da Qualidade

    Antes de enviar qualquer dado para um sistema externo, o Validator confere:

    • Schema todos os campos obrigatórios presentes?
    • Tipos data é data, número é número?
    • Regras de negócio CNPJ válido? Data de vencimento após emissão?

    A validação usa Pydantic, garantindo que dados malformados nunca cheguem ao destino. Erros são reportados de forma clara para correção.

    Integrator Agent: A Ponte com o Mundo Externo

    O último agente da cadeia é responsável por enviar os dados validados para sistemas externos:

    • REST APIs POST para endpoints de ERP
    • GraphQL mutations para sistemas modernos
    • Webhooks notificações para sistemas que escutam eventos

    Ele implementa retry automático, tratamento de erros HTTP e logging de todas as operações para auditoria.


    Schemas de Validação: Definindo o Que Extrair

    Um ponto crucial é definir quais campos extrair. Isso é feito através de schemas Pydantic que servem como contrato entre os agentes.

    Por exemplo, para uma Nota Fiscal:

    • Número da nota
    • Série
    • Chave de acesso (44 dígitos)
    • Data de emissão e vencimento
    • CNPJ do emitente e destinatário
    • Itens (descrição, quantidade, valor)
    • Totais e impostos

    O schema não apenas lista os campos ele define validações. CNPJ precisa ter 14 dígitos. Chave de acesso precisa ter 44. Data de vencimento não pode ser anterior à emissão.

    Essa abordagem declarativa tem uma vantagem enorme: para adicionar um novo tipo de documento, basta criar um novo schema. Os agentes já sabem como usá-lo.


    O Fluxo Completo: Da Entrada à Integração

    Vamos acompanhar uma nota fiscal PDF passando pelo sistema:

    1. Upload usuário envia arquivo via API
    2. Classificação Orchestrator identifica: "É um PDF"
    3. Roteamento PDF Agent é acionado
    4. Extração textual PyMuPDF extrai texto das páginas
    5. Detecção de tabelas identifica itens da nota em formato tabular
    6. Análise visual para campos em posições não-padrão, usa Vision
    7. Merge combina resultados das três fontes
    8. Validação Validator confere contra schema de Nota Fiscal
    9. Tratamento de erros se falhou, tenta novamente ou reporta
    10. Integração envia JSON para API do ERP
    11. Confirmação retorna status de sucesso ao usuário

    Todo esse fluxo é gerenciado pelo LangGraph, que mantém o estado e toma decisões em cada etapa.


    Casos de Uso Práticos

    Automação Contábil

    Escritórios de contabilidade recebem documentos de dezenas de clientes em formatos diferentes. O sistema processa notas fiscais, recibos e comprovantes automaticamente, alimentando o sistema contábil sem intervenção manual.

    Onboarding de Clientes

    Bancos e fintechs precisam coletar documentos para KYC (Know Your Customer). Fotos de RG, comprovantes de residência, contracheques cada documento é processado e os dados extraídos para o cadastro.

    Gestão de Contratos

    Departamentos jurídicos lidam com milhares de contratos. O sistema extrai partes envolvidas, valores, datas de vigência e cláusulas importantes, alimentando uma base de dados consultável.

    Processamento de Pedidos

    E-commerces recebem pedidos por email, WhatsApp, formulários. Independente do formato, o sistema extrai itens, quantidades e dados do cliente para processamento.


    Considerações de Implementação

    Performance

    Para alto volume, considere:

    • Processamento paralelo documentos independentes podem ser processados simultaneamente
    • Cache de modelos reutilize conexões com LLMs
    • Filas use Redis ou RabbitMQ para gerenciar backlog
    • Streaming para documentos grandes, processe página por página

    Custo

    Chamadas a LLMs de visão são caras. Otimize:

    • Use OCR primeiro, Vision apenas quando necessário
    • Limite páginas analisadas (primeiras 3-5 geralmente bastam)
    • Considere modelos menores para classificação

    Segurança

    Documentos contêm dados sensíveis:

    • Valide tipos de arquivo na entrada
    • Não persista documentos após processamento
    • Use variáveis de ambiente para API keys
    • Implemente logs de auditoria

    Tratamento de Erros

    Nem toda extração será perfeita:

    • Retentativas automáticas com backoff
    • Fallback entre métodos (Vision → OCR → manual)
    • Filas de revisão humana para casos duvidosos
    • Métricas de confiança nos dados extraídos

    Conclusão

    A combinação de LangChain, LangGraph e CrewAI permite criar sistemas de extração de documentos que vão muito além do OCR tradicional. Agentes especializados, cada um dominando seu tipo de documento, colaboram para transformar arquivos heterogêneos em dados estruturados e validados.

    O investimento em arquitetura multi-agente se paga rapidamente em cenários com:

    • Volume alto de documentos
    • Formatos variados
    • Necessidade de integração com sistemas externos
    • Requisitos de validação e qualidade de dados

    Se sua empresa ainda processa documentos manualmente, este é o momento de automatizar. As ferramentas estão maduras, os modelos são capazes, e a arquitetura está pronta.


    Alexsander Valente | Engenheiro de Dados e IA

    alexsander.app.br | LinkedIn


    Quer implementar essa solução? O código completo com todos os agentes, tools e schemas está disponível como referência. Entre em contato para consultoria ou treinamento.

    Este conteúdo foi útil?
    Compartilhar artigo

    Quer aplicar isso no seu contexto?

    Vamos conversar sobre seus desafios e encontrar o melhor caminho para sua operação.

    Agendar conversa