Triagem documental com IA multimodal
Robô de Documentação
IA multimodal que reconhece 26 tipos de documento, arquiva cada um na pasta certa e devolve ao CRM o checklist do que falta.
- tipos de documento reconhecidos
- 26
- por documento, em média
- 6,1 s
- de acerto no tipo (89 de 95)
- 94%
- testes automatizados
- 860+
Números medidos no repositório.
- Extração
- Classificação
- Revisão
- SharePoint
- CRM
| Arquivo recebido | Novo nome | Pasta | Situação |
|---|---|---|---|
| scan_0012.pdf | BALANCETE EMPRESA EXEMPLO 08.2026 | Contábil | ok |
| IMG_4471.jpg | CONTRATO SOCIAL EMPRESA EXEMPLO | Societário | ok |
| faturamento (2).xlsx | FATURAMENTO EMPRESA EXEMPLO 12.2025 A 08.2026 | Faturamento | ok |
| doc socio.pdf | RG SOCIO ANA EXEMPLO | Sócios | ok |
| extrato.pdf | ENDIVIDAMENTO BANCARIO EMPRESA EXEMPLO | Endividamento | Conferir: período não identificado |
Conferir: período não identificado (extrato.pdf)
Contexto e problema
Para analisar crédito, o time comercial recebe do cliente um pacote com dezenas de arquivos (balancetes, contratos, extratos, documentos de sócios) em ZIP, RAR, fotos e PDFs escaneados. Alguém abria arquivo por arquivo, dava um nome, guardava na pasta certa do SharePoint e depois preenchia no CRM o link da pasta e o que ainda faltava para a análise.
O robô faz esse caminho sozinho: recebe o pacote a partir do card do CRM, classifica cada documento com IA, renomeia no padrão TIPO ENTIDADE MM.AAAA, arquiva na pasta certa e devolve ao CRM o link e um checklist das pendências.
Restrições do projeto
- Na dúvida, quem decide é uma pessoa. A automação marca o que precisa de conferência e nunca reescreve tipo, período ou nome por conta própria.
- Nada se perde. O modo de substituição não apaga a pasta anterior, e um arquivo com extração falha não conta como documento entregue.
- Uma execução por cliente. Dois processamentos do mesmo cliente ao mesmo tempo são bloqueados na entrada.
- Arquivos hostis existem. Extração recursiva com limites contra bombas de compressão, e links simbólicos em RAR são recusados.
- Custo e latência importam. Cada documento passa por um modelo; escolher a configuração é uma decisão de engenharia, não de gosto.
Decisões que definiram o produto
Medir antes de escolher
Tipo e período corretos (de 95)
maior é melhor
- Sem raciocínio (0)71
- 512 tokens74
- 1024 tokens73
- Dinâmico (média de 2 rodadas)72
Latência média por documento
menor é melhor
- Sem raciocínio (0)3,9 s
- 512 tokens6,1 s
- 1024 tokens7,3 s
- Dinâmico (média de 2 rodadas)8,6 s
Custo para 95 documentos
menor é melhor
- Sem raciocínio (0)US$ 0,18
- 512 tokensUS$ 0,29
- 1024 tokensUS$ 0,36
- Dinâmico (média de 2 rodadas)US$ 0,44
Arquitetura
O analista envia o pacote a partir do card. A API identifica a área e o cliente e garante uma única execução por cliente. Os arquivos são extraídos com limites contra arquivos maliciosos, e cada documento é classificado por um modelo multimodal com saída em JSON. Depois de uma revisão por regras fixas, o documento é renomeado no padrão, enviado à pasta certa do SharePoint, e o CRM recebe o link e o checklist do que ainda falta.Se a revisão encontra algo duvidoso, o documento é marcado para conferência humana no checklist, e a regra nunca reescreve tipo, período ou nome. Se o SharePoint limita as requisições, o envio é repetido com backoff e um disjuntor abre após 5 bloqueios. O checklist é salvo no banco antes de ir ao CRM, então uma falha de escrita pode ser reenviada sem repetir o upload.
Lições de operação
- A extensão mente. Um vídeo salvo como
.pdfquebrou a classificação. Hoje o tipo real do arquivo é detectado antes de qualquer outra etapa. - Teste nunca toca produção. Uma execução de testes contra o banco real cancelou um trabalho de verdade e gerou 97 cópias. Agora um teste e uma guarda na configuração impedem isso.
- Sucesso precisa ser confirmado. Zero escritas confirmadas no CRM viram erro, nunca sucesso. O checklist fica salvo no banco, e um comando reenvia só a parte do CRM, sem repetir o upload.
- Arquivos grandes têm caminho próprio. Acima de 20 MB, o documento vai para a API de arquivos do modelo, e no SharePoint o envio é em blocos acima de 100 MB.
- Limite de requisição é esperado. Chamadas ao SharePoint têm retry com backoff e um disjuntor que abre após 5 bloqueios seguidos.
Meu papel
Concebi o robô e construí a base ao longo de quatro meses: o pipeline de ponta a ponta, as integrações com CRM e SharePoint, o padrão de nomes e pastas, o checklist, a idempotência e a operação. Em outubro, um colaborador conduziu uma rodada de endurecimento do classificador: o experimento de orçamento de raciocínio, a classificação em paralelo, a revisão por regras, o caminho para arquivos grandes e a proteção contra arquivos RAR maliciosos.
O que o produto entrega
- Classificação de 26 tipos de documento, inclusive fotos e PDFs escaneados, com entidade, período de competência e sinalização de documentos de dívida.
- Nomes e pastas padronizados, com pastas separadas para sócios e empresas do mesmo grupo.
- Checklist de pendências no CRM, calculado sobre a pasta inteira, alinhado às regras da equipe de análise de crédito.
- Acompanhamento ao vivo de cada execução e histórico completo.
O que eu faria diferente
- Um conjunto de referência anonimizado no CI. Hoje a amostra rotulada tem documentos reais e não pode viver no repositório, então a regressão de acerto ainda é medida fora da esteira.
- Pedir ao modelo um grau de confiança. Sem ele, a revisão depende só de regras; um score permitiria priorizar a conferência humana.
- Planejar a saída do processo único antes. Banco simples e um worker atendem bem o volume atual, mas são o limite de escala conhecido.