Tokencito Jogo do dia Jogar

O que é um tokenizador?

Um tokenizador é o programa que transforma o texto em tokens antes de um modelo de linguagem ler, e que volta a montar texto com os tokens que o modelo responde. Usa um vocabulário fixo de pedaços aprendido de muitíssimo texto. Cada família de modelos tem o seu, por isso a mesma frase não dá igual em todos.

Teste o que aprendeu

Uma pergunta do app. Escolha uma resposta.

O mesmo texto em inglês e em português, no mesmo modelo: quantos tokens?

Jogue a lição completa: O que é um token?

O que faz um tokenizador?

Em linhas gerais, muitos tokenizadores partem das letras soltas (ou dos bytes) e percorrem uma montanha de texto procurando o par que mais se repete junto. Se "q" e "u" aparecem grudadas o tempo todo, "qu" vira uma peça nova. Depois "qu" e "e" formam "que", e assim por diante, milhares de vezes, até chegar ao tamanho de vocabulário escolhido. Essa ideia é conhecida como BPE (byte pair encoding) e existem variantes.

O resultado: o que era frequente nesse texto vira uma peça só, e o raro se monta juntando várias. Cada peça tem um número, e é isso que o modelo de linguagem recebe de verdade: uma lista de números, não letras. Por isso muitos modelos têm dificuldade para contar quantos "r" tem uma palavra: nunca viram as letras separadas.

Por que cada modelo divide diferente

Cada família de modelos (GPT, Claude, Gemini) treina seu tokenizador com seu próprio texto, escolhe o tamanho do vocabulário (de dezenas de milhares a centenas de milhares de peças) e suas regras para espaços, maiúsculas e números. Um tokenizador pode tratar "Olá", "olá" e " olá" como três peças diferentes. Com números acontece algo parecido: alguns os cortam em grupos fixos de dígitos e outros do jeito que der, então "1.250.000" pode ficar dividido de formas estranhas.

A consequência prática: se você troca de modelo, muda a contagem de tokens do mesmo texto, e com ela o custo e quanto cabe na janela de contexto. Um limite de "100.000 tokens" não diz o mesmo em dois modelos diferentes.

Acentos, cedilha e nomes próprios

Letras com acento, o "ç" e o til aparecem menos que as letras sem marca no texto com que muitos tokenizadores são treinados, e às vezes viram peça à parte: uma palavra como "coração" pode ser cortada justo no "ç" ou no "ã". Nomes de lugares e sobrenomes pouco comuns, como "Itaquaquecetuba" ou "Pindamonhangaba", costumam se dividir em vários pedaços. Os emojis também podem ocupar mais de um token cada.

Tirar os acentos para "economizar" é má ideia: a diferença costuma ser pequena e o texto fica pior, às vezes com outro sentido ("avó" não é "avô"). O que vale é saber que um texto cheio de nomes próprios ou emojis vai pesar mais do que parece.

Como contar tokens sem chutar

Use o tokenizador do modelo que você vai usar: muitos provedores oferecem um contador no site ou na API, e a resposta da API costuma informar quantos tokens cada consulta consumiu. Contar com o tokenizador de outro modelo dá um número parecido, não o real.

A regra de "uns 4 caracteres por token" foi pensada para o inglês; em português costuma dar menos caracteres por token. Um método simples: pegue 20 ou 30 textos reais do seu app, conte e tire a média. Se der, por exemplo, 3,2 caracteres por token, use esse número para estimar, não o do inglês.