Pular para conteúdo
Logo
Overview
12.927 posts classificados em 3 minutos: testando o JEV com a tatuzada

12.927 posts classificados em 3 minutos: testando o JEV com a tatuzada

September 20, 2026
4 min read

Exportei mais de uma década de posts do Facebook. Quase 13 mil itens entre textos, fotos e comentários. Precisava identificar quais mencionavam minhas filhas Marina e Isabella, quais eram relevantes e qual o sentimento de cada um. O objetivo: transformar esse backup numa espécie de álbum de memórias. Codinome interno: tatuzada.

Já tinha tentado GLM, Trae, Codex, várias ferramentas. Gastei alguns fins de semana classificando manualmente. Aí lançou o JEV.

O que é o JEV e por que ele é diferente

JEV é o modelo da TypeSafe AI. Ele não gera texto. Só responde perguntas estruturadas sobre um texto que você passa. São três tipos:

  • Noul — probabilidade de sim/não (0 a 1). “O texto menciona Marina?” → 0.89
  • Choice — escolha entre opções definidas. “Qual o tipo de conteúdo?” → frase_filha
  • Score — nota em escala. “Qual o valor sentimental?” → 2.1 (de 0 a 3)

O modelo não inventa. Não alucina. Você pergunta, ele pontua.

O nome vem do framework cognitivo de Daniel Kahneman: Sistema 1 (rápido, intuitivo) versus Sistema 2 (lento, deliberativo). O JEV opera no modo Sistema 1 — decisões estruturadas, sem a lentidão de gerar texto.

O batching que mudou tudo

Comecei com uma chamada HTTP por pergunta. Oito perguntas por post. Quase 13 mil posts. Fazendo as contas: 103 mil requests. Ia demorar horas.

Lendo a documentação da TypeSafe encontrei um cookbook chamado Parallel questions. O exemplo mostrava 13 perguntas sobre um artigo da Wikipedia sendo enviadas numa única request.

O benchmark deles:

  • ~12.2x mais barato (o documento é enviado uma vez só)
  • ~10x mais rápido (uma ida e volta em vez de treze)
  • Mesmas respostas (cada pergunta é avaliada de forma independente)

Fazia sentido: enviar todas as oito perguntas de classificação numa única chamada. O texto do post vai uma vez, as perguntas vão juntas, as respostas voltam juntas.

O código original já fazia isso. O que faltava era aumentar o paralelismo.

Tip

Aumentei de 50 para 200 requests simultâneas. O TypeSafe aguentou tranquilo.

Primeira linha do log depois do ajuste:

[Batch 1] 200/200 OK em 3.1s | 👧M:2 👧I:1 ⭐:0

Três segundos para 200 posts. Cada post com oito perguntas. São 1.600 decisões estruturadas em três segundos.

Os números finais

MétricaValor
Total processado12.927 itens
Tempo total205 segundos (~3.4 min)
Velocidade~63 itens/segundo
Mencionam Marina91 posts
Mencionam Isabella69 posts
Mencionam ambas21 posts
Candidatos destaque424 posts

O modelo identificou corretamente o post do nascimento da Marina (“Nasceu a Marina!!! 3.395 kg e 49 cm!!”) como destaque máximo. Identificou 184 “frases das filhas” — aquele padrão “Marina em:” ou “Isa em:” que eu usava na época. Marcos de desenvolvimento por fase da vida também apareceram bem classificados.

Comparando com a classificação manual

Eu já tinha um blog com 279 posts curados manualmente. Classificados por personagem (Marina, Isabella, Juntas) e por categoria (lógica-infantil, marcos-crescimento, escola-amigos).

Os números do JEV ficaram menores. Por quê?

O tradeoff dos thresholds

O JEV retorna probabilidades. Eu usei 0.7 como corte: só conta como “menciona Marina” se a probabilidade for 70% ou mais.

Alguns posts do blog antigo ficaram abaixo:

  • “E a Isa na casa da vó…” → 0.62 (menção curta)
  • “Marina quase pronta para ir para casa!!” → 0.61 (contexto ambíguo)
  • “Essa careta da Tia Fran tá com uma cara de Marinoca” → 0.47 (apelido em comparação)

Se eu baixar o threshold para 0.5, os números ficam próximos do blog curado manualmente.

O threshold é uma escolha. Mais alto: menos posts, mais precisão. Mais baixo: mais posts, pode incluir falsos positivos.

O que o JEV não faz

  • Não gera texto. Se você quer um resumo do post, precisa de outro modelo.
  • Não explica. Ele dá 0.47 para “menciona Marina”, mas não diz por quê. Você infere pelo contexto.
  • Não aprende com feedback. É stateless. Cada chamada é independente.

O que o JEV faz muito bem

  • Consistência. A mesma pergunta sobre o mesmo texto dá o mesmo resultado. Não tem variação de temperatura, não tem “hoje acordou criativo”.
  • Velocidade. 63 itens por segundo, com oito perguntas cada. Throughput de banco de dados, não de LLM.
  • Estrutura. A resposta é JSON tipado. noul: 0.84, não “provavelmente sim, mas depende do contexto”.
  • Custo. O preço por token é uma fração do que você paga em modelos generativos. E você não paga por tokens de saída — a resposta é só a pontuação.

Quando usar

Classificação em escala. Triagem de conteúdo. Roteamento de intenção. Moderação. Qualquer coisa onde você precisa de decisões estruturadas sobre texto.

Se você está gerando N classificações com GPT e parseando JSON da resposta, provavelmente deveria estar usando isso.

Quanto custou?

Uns R3,50contandocomostestes.Ecomoquandovoce^criaacontaganha3,50 contando com os testes. E como quando você cria a conta ganha5 de crédito, ainda rolam mais alguns experimentos.


Para saber mais:

Publicado originalmente no Substack.

Leitura Relacionada