Oi comunidade n8n,
Pipelines de extração de documentos lidam lindamente com faturas e CVs. Mas durante uma noite de jogos, alimentamos nossa IA com algo que parecia simples, mas a quebrou completamente: uma folha de pontuação de Kniffel (Yahtzee) manuscrita.
A armadilha da grade
O objetivo: Tirar uma foto, encontrar jogadores com um asterisco manuscrito (*) acima do nome, extrair suas pontuações, calcular o bônus de 35 pontos (se superior $\ge$ 63), somar tudo e enviar para Sheets e Telegram.
Olhe para a foto anexada:
É óbvio para os humanos. Mas a IA alucinoua nomes (“Ivan” virou “ban”), mesclou colunas e arruinou a matemática.
Aqui está o porquê dos dados espaciais quebrarem a IA, e a arquitetura de prompt que usamos para corrigi-la:
Quebrando o viés “da esquerda para a direita”
As IA leem como um livro (esquerda para direita, linha por linha). Uma folha de pontuação exige o oposto. Para parar o “vazamento de linhas” entre colunas, forçamos uma saída Array de Objetos ([{player_name, sum_top, sum_bottom}]). Isso força a IA a terminar de ler uma coluna vertical antes de passar para a próxima.
Matemática determinística, zero julgamento de IA
Já sabemos que o Extrator que estamos usando é incrivelmente confiável na classificação de documentos e na extração de dados estruturados, então decidimos testar seus limites e ver se conseguiria lidar com cálculos também. Grande erro. As IA são mecanismos de previsão de texto, não calculadoras. A solução: Instruímos a extrair apenas números brutos e usamos um nó Code JavaScript puro a jusante para lidar com a matemática e o bônus condicional.
Estados vazios explícitos impedem alucinações
Os jogadores escreveram traços (-) para caixas vazias. Como a IA não conseguia encaixar um traço de string em um esquema Number, entrou em pânico e saiu com -1, quebrando nosso JavaScript. Adicionar uma restrição rigorosa—“CRÍTICO: Se uma célula é um traço ou vazia, VOCÊ DEVE produzir 0”, corrigiu o pipeline instantaneamente.
Ancorar os olhos com rótulos
Para impedir que a IA se desviasse entre colunas, demos a ela coordenadas visuais. Instruímos a olhar para os rótulos impressos no extremo esquerdo (por exemplo, “Dreierpasch”), traçar uma linha horizontal invisível para a coluna com estrela e extrair apenas aquela célula.
Uma ressalva honesta
Descarregar matemática no JS garante lógica perfeita, mas o reconhecimento de caligrafia ainda depende da qualidade da foto. Se você precisar de dados impecáveis de escrita confusa, a validação com presença humana ainda é o máximo.
Como executar
Usei o easybits Extractor porque ele aplica cumprimento de esquema JSON nativamente sem lutar com prompts de nós HTTP. Tanto cloud quanto self-hosted se encaixam na camada gratuita.
-
n8n Cloud: Procure por
easybitsno painel de nós. -
Self-hosted: Instale
@easybits/n8n-nodes-extractora partir de Community Nodes.
Feedback bem-vindo
Anexei a imagem bruta. Estou muito curioso: o que acontece quando você executa exatamente essa imagem através de sua configuração atual de OCR ou IA? Você encontrou uma forma mais limpa de extrair colunas verticais de grades horizontais densas?
Abração,
Felix
