O que é e porque importa
Um token é um pedacinho de texto: é a unidade com que se mede quanto o modelo trabalha. Cada mensagem que envias, cada ficheiro que o Claude lê, cada resposta e cada raciocínio consomem tokens. Com uma subscrição contam para os teus limites de utilização. Com a API acabam na fatura.
O que no início eu não tinha percebido é isto: a cada mensagem, o Claude Code volta a enviar ao modelo a conversa inteira, não só a tua última frase. A cache torna essa releitura mais barata, mas não a põe a zero. Por isso um chat longo custa mais a cada pergunta, mesmo que a pergunta seja de uma linha.
A segunda: o grosso do desperdício não é o modelo que escolhes, são as voltas em vão. Escreves um pedido vago, o Claude faz outra coisa, tu dizes «refaz», ele relê tudo e tenta outra vez. Cada volta paga-se.
1. Chats curtos, ficheiros longos
As decisões importantes não as deixo no chat. Escrevo-as num ficheiro do projeto. Eu chamo-lhe DECISOES.md, mas o nome escolhes tu. Lá dentro vai pouca coisa: o que decidimos, porquê e o que falta.
Quando o chat fica longo, ou quando passo para um trabalho que não tem nada a ver, fecho-o e abro um novo. No Claude Code faz-se com /clear: recomeças com uma conversa vazia, e os ficheiros do projeto ficam onde estão.
Antes de fechar escrevo:
Atualiza o DECISOES.md com o que decidimos hoje e o que falta.
Depois /clear, e no chat novo:
Lê o DECISOES.md e recomeça a partir daí.
Assim o chat novo arranca leve, só com o que é preciso, em vez de arrastar horas de tentativas, erros e mensagens ultrapassadas. Se te importas com um chat antigo, não o perdes: com /resume voltas a ele.
Uma nota sobre o CLAUDE.md, o ficheiro de instruções que o Claude Code carrega sozinho em cada sessão. Aí ponho só as regras que valem sempre e mantenho-o curto, porque entra em cada sessão mesmo quando não é preciso. As decisões do dia vão para o DECISOES.md, que o Claude lê quando lhe pedes.
2. Não coles os logs
Um log é o registo do que o programa faz enquanto corre: erros, avisos, mensagens. Muitas vezes são centenas ou milhares de linhas. Se as colas no chat, entram todas na conversa e ficam lá. E como a conversa é reenviada a cada mensagem, essas linhas voltas a pagá-las em cada pergunta seguinte.
Eu já não colo nada de longo. Digo ao Claude onde está o ficheiro, ou peço-lhe que seja ele a correr o comando, e peço-lhe que volte só com o que importa:
Lê o logs/server.log e encontra-me o erro: diz-me só as linhas que importam.
Corre tu os testes e vê o output: diz-me o que falha e porquê.
Uma coisa a saber: o que o Claude lê também entra no chat. A vantagem é que ele pode procurar dentro do ficheiro e ler só as partes úteis, em vez de levar tudo como quando colas tu. Se o output for mesmo enorme, tipo todos os testes do projeto, passo o trabalho a um ajudante: o ruído fica na conversa dele e a mim só chega o resumo.
Usa um ajudante para correr os testes: a mim traz só quais falham e porquê.
3. Raciocínio alto, não máximo
No Claude Code podes decidir quanto o Claude raciocina antes de responder. Chama-se nível de effort e tem cinco degraus: low, medium, high, xhigh e max. Quanto mais alto, mais tokens gasta a pensar, e os tokens do raciocínio pagam-se como os da resposta.
Nos modelos atuais o nível de partida é medium. Eu como base tenho-o em medium ou high, ou seja, médio ou alto, conforme o trabalho: é uma escolha minha, não uma regra. Muda-se com o comando /effort: sozinho abre um cursor, ou escreves logo o nível.
/effort high
O máximo só o ligo para a sessão em que é preciso: um bug que não se encontra, um trabalho que mexe no projeto todo. Depois recomeço do meu nível base. É prático, porque o max vale só para a sessão em curso e não fica guardado. E a própria documentação avisa que em max o modelo tende a pensar demais, com um ganho que muitas vezes não compensa os tokens.
4. Ajudantes com o modelo pequeno
O Claude Code pode entregar partes do trabalho a ajudantes, os subagentes (subagents). Cada ajudante trabalha na sua própria conversa separada e no fim devolve-te só o resultado. Para os trabalhos simples, tipo procurar onde se usa uma função, resumir um ficheiro ou rever uns textos, não é preciso o modelo maior.
Se não disseres nada, um ajudante costuma usar o mesmo modelo do chat principal. O modelo mais pequeno, o Haiku, serve para estes trabalhos e consome menos. Há duas maneiras de o usar.
Pedes-lhe na hora
Quando o Claude lança um ajudante, pode escolher o modelo para esse trabalho. Basta pedir:
Usa um ajudante com o modelo pequeno para encontrar todos os sítios onde se usa o login, e depois dá-me a lista.
Crias uma vez e reutilizas
Os ajudantes que usas muitas vezes podes guardá-los como ficheiros na pasta .claude/agents/ do projeto. O mais simples é pedir ao Claude que crie um. No ficheiro, o campo model decide o modelo: com model: haiku corre sempre no pequeno.
Cria um ajudante para este projeto que procure no código e resuma os ficheiros. Guarda-o em .claude/agents/ e põe-lhe model: haiku.
Os ajudantes também consomem tokens, que se somam aos do chat principal. A poupança vem do modelo mais pequeno e de o ruído deles não acabar no teu chat.
5. Um pedido claro
Três pedidos vagos custam mais do que um claro. Com «arranja o perfil» o Claude tem de explorar meio projeto para perceber o que queres dizer, depois se calhar arranja a coisa errada, e recomeça-se. Um pedido preciso fá-lo ler poucos ficheiros e ir direto.
Antes de escrever ponho quatro coisas:
- Onde: que página, que ficheiro, que botão.
- O que está mal: o que acontece agora.
- O que quero: o que tem de acontecer depois.
- Como verifico: um teste, uma verificação, um resultado que eu possa ver.
Em vez de «arranja o perfil» escrevo:
Na página de perfil, o botão Guardar não guarda o email. Corrige e acrescenta um teste que o prove. Não mexas noutros ficheiros.
O «como verifico» é a parte que mais conta: se o Claude puder verificar sozinho o seu trabalho, encontra o erro antes de tu teres de o encontrar. E um «refaz» a menos é uma volta inteira de tokens poupada.
E se o Claude partir na direção errada, trava-o logo com Esc em vez de esperar que acabe.
Os números: um dia típico, num mês de trabalho
Estes números são um exemplo realista de como as coisas mudam, não uma fatura. Dependem de quanto trabalhas, do projeto e do modelo. Servem para veres de onde vem a poupança.
- Antes, com os chats longos e os logs colados: cada nova funcionalidade pedia em média 4 ou 5 voltas de «refaz», e um dia de trabalho consumia cerca de 6 milhões de tokens.
- Depois dos cinco hábitos: 1 ou 2 voltas por funcionalidade, e o mesmo dia consome cerca de 3 milhões.
O grosso da poupança vem de duas coisas: os chats limpos, porque o chat longo é relido inteiro a cada mensagem, e menos «refaz». No fim do mês o gasto é mais ou menos metade, com o mesmo trabalho feito.
Os teus números vês com /usage: mostra os tokens da sessão e, se tens subscrição, quanto dos teus limites já usaste. Com /context vês o que está a encher o chat neste momento.
A regra: o gasto não é o preço do modelo, é quantas vezes o pões a refazer a mesma coisa.
Os erros mais comuns
- Ter um só chat aberto o dia todo: a cada mensagem reenvias a história toda, por isso fecha-o com /clear quando mudas de trabalho.
- Deixar as decisões só no chat: quando o fechas já não as tens à mão, por isso pede que as escreva antes no DECISOES.md.
- Colar logs e outputs inteiros: diz ao Claude onde está o ficheiro e pede-lhe só as linhas que importam.
- Deixar o raciocínio em max também para as coisas pequenas: usa-o só na sessão do bug difícil e depois recomeça do teu nível base.
- Mandar pedidos vagos e depois corrigir à base de «refaz»: escreve onde, o que está mal, o que queres e como verificas.
Checklist
- Tenho um ficheiro DECISOES.md no projeto
- Peço que o atualize antes de cada /clear
- Não colo logs longos no chat
- Raciocínio base em médio ou alto, max só para a sessão que precisa
- Os ajudantes para trabalhos simples usam o modelo pequeno
- Cada pedido diz onde, o que está mal, o que quero, como verifico
- De vez em quando vejo o /usage
Perguntas frequentes
Se usar /clear, perco o trabalho?
Não. O /clear esvazia a conversa, não mexe nos ficheiros do projeto. O código fica, o DECISOES.md fica, e a memória do projeto, como o CLAUDE.md, mantém-se. Se precisares do chat antigo, recuperas com /resume.
Melhor /clear ou /compact?
Depende. O /compact resume o chat e deixa-te continuar a mesma conversa: útil se estás a meio de um trabalho, mas para resumir tem de reler tudo, por isso não é grátis. O /clear recomeça do zero e não custa nada: melhor quando mudas de trabalho. O Claude Code também faz um resumo automático quando o chat se aproxima do limite, mas eu não espero por isso.
Com a subscrição, isto interessa-me mesmo?
Sim. Com a subscrição não pagas por token, mas os tokens gastam os teus limites de utilização. Quanto menos tokens desperdiçares, mais trabalho fazes antes de chegar ao limite.