Turo: instale uma vez e todos os seus coding agents enviam 70% menos tokens

Turo: instale uma vez e todos os seus coding agents enviam 70% menos tokens

Há um imposto silencioso em cada sessão com um agente: as palavras. Um system prompt anda entre 50k e 200k tokens, e a maioria dessas palavras carregam gramática, não significado — artigos, preposições, hedges, cortesias —. Você paga por cada uma, em cada turno, para sempre. Turo, que apareceu esta semana no Hacker News como “an aggressive token-saving proxy for CLI AI agents”, tem uma resposta direta: apunte para as palavras que importam e tire o resto.

O pitch são duas palavras — Point more. Token less. — e o exemplo estrela do README o torna concreto. Uma instrução de pull-request review de 138 tokens fica em 54 tokens com o significado intacto (−61%), ou em 41 tokens com --level ultra (−70%), onde as inflexões colapsam para sua forma base de dicionário. O detalhe que convém ter claro de entrada: esses contadores são a estimativa própria de turo, estilo cl100k, não um tokenizer real — o README o diz sem voltas, “treat them as a trend, not a bill”.

O que turo faz concretamente é passar seu texto por quatro etapas, todas ativadas por default: apaga filler (please, I think, of course), muda palavras por sinônimos de menos tokens (utilize → use), muda palavras pela palavra mais curta de sua definição (approach → come), e depois tira os stopwords restantes e fica só com as content words — nouns e verbs em ultra —, deduplicadas e em ordem de leitura. Repete até que a saída deixa de encolher. O resultado não é prosa. É um keyword stream, e esse é o trade-off deliberado: turo foi pensado para texto que só vai ler um modelo.

Essa é também a forma mais limpa de o situar frente a caveman, a ferramenta irmã com a qual se compara explicitamente. Caveman recorta filler com regex e mantém prosa legível; turo corre esse mesmo passe de filler e depois continua — classificando por POS, lematizando, glosando —, mudando legibilidade por um conteger muito menor. A regra que dá o próprio README: use caveman quando o resultado o lê uma pessoa, use turo quando o lê só um modelo.

A parte que o torna digno de instalação é o alcance. npx turo instala o binário e registra a skill de turo e o comando /turo com cada coding agent que encontra na sua máquina — Claude Code, Codex, Gemini CLI, opencode, Cursor, Windsurf, Cline, Copilot, e 20+ mais —. Você o instala uma vez; todos os agentes recebem o mesmo reducer. Prefere só o binário? brew install kdeps/tap/turo, go install, ou o script de curl. E para os agentes que turo não consegue tocar de dentro, há um proxy: turo run claude levanta um proxy local, aponta a variável de base-URL do agente para ele, e reduz cada request antes de chegar ao endpoint real — a resposta volta em streaming, sem tocar.

Dois guardrails o mantêm organizado. Os blocos de código, file paths, URLs, números de versão, nomes de API e error strings passam verbatim — turo só toca prosa —. E nunca emite uma saída maior que a entrada: se uma etapa não poupa tokens, o original passa sem mudanças. Há além disso uma pequena camada de observabilidade: turo gain totaliza o que você poupou (por projeto), turo discover escaneia seu histórico de Claude Code para estimar quanto você teria poupado, e turo doctor checa que tudo está bem conectado.

Uma curiosidade para o final: um nível wenyan muda cada palavra sobrevivente por um único caractere do chinês clássico (water → 水). Só ganha em tokenizers otimizados para CJK como Qwen ou DeepSeek — em modelos de OpenAI os caracteres custam mais, então é um dial de nicho, não o default —. Mas te diz até onde se pode levar a ideia de “a menor quantidade de tokens possível”.

Se você vem acompanhando a veia de eficiência de tokens, isso rima com Headroom, ainda que o mecanismo seja outro: Headroom brinca com caching e não toca o conteúdo; turo diretamente reescreve seu prompt a puras palavras com carga semântica.

¿Confiaria em um reducer lossy seu system prompt, ou há contexto que nunca recortaria? Onde você coloca o limite entre poupar tokens e perder nuance?