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.

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.
┌────────────────────────────┐
│ 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
- Documento chega pode ser upload via API, email, pasta monitorada
- Orchestrator classifica identifica se é PDF, imagem, CSV, etc.
- Agente especializado extrai usa as ferramentas certas para aquele formato
- Validator confere valida CNPJ, datas, valores obrigatórios
- 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
| Aspecto | LangChain | LangGraph | CrewAI |
|---|---|---|---|
| Foco | Conexão LLM + Tools | Fluxos stateful | Colaboração entre agentes |
| Complexidade | Baixa | Média | Média-Alta |
| Controle de fluxo | Linear | Total (grafos) | Sequencial ou hierárquico |
| Estado | Por chain | Compartilhado global | Por memória da crew |
| Melhor para | Tarefas simples | Workflows complexos | Problemas 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:
- Extração textual para PDFs com texto selecionável (nativos digitais)
- 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:
- Pré-processamento correção de contraste, conversão para escala de cinza
- OCR (Tesseract) extração de texto bruto
- 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:
- Upload usuário envia arquivo via API
- Classificação Orchestrator identifica: "É um PDF"
- Roteamento PDF Agent é acionado
- Extração textual PyMuPDF extrai texto das páginas
- Detecção de tabelas identifica itens da nota em formato tabular
- Análise visual para campos em posições não-padrão, usa Vision
- Merge combina resultados das três fontes
- Validação Validator confere contra schema de Nota Fiscal
- Tratamento de erros se falhou, tenta novamente ou reporta
- Integração envia JSON para API do ERP
- 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
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.


