rtk - proxy CLI que reduz o consumo de tokens de LLM em 60–90%
(github.com/rtk-ai)- Um binário único em Rust (Windows/macOS/Linux) que filtra e comprime a saída de comandos CLI executados por ferramentas de codificação com IA antes de enviá-la ao LLM, reduzindo os tokens em 60–90%
- Suporta mais de 100 comandos como git, grep, ls e cargo test, e aplica 4 estratégias antes de passar a saída do comando para o contexto do LLM: filtragem inteligente, agrupamento, truncamento e remoção de duplicatas
- Suporta 10 ferramentas de codificação com IA, como Claude Code, Codex, Cursor e Gemini CLI, e ao instalar os hooks reescreve automaticamente e de forma transparente comandos bash para o comando equivalente do rtk
- Esse hook se aplica apenas a chamadas da ferramenta Bash; ferramentas embutidas do Claude Code como
Read,GrepeGlobignoram esse hooking, então para aplicar a filtragem do RTK é necessário usar comandos de shell ou comandos explícitos do rtk
- Esse hook se aplica apenas a chamadas da ferramenta Bash; ferramentas embutidas do Claude Code como
- Com base em uma sessão de 30 minutos no Claude Code, a economia estimada é de ~23.900 tokens (cerca de 80% de redução) em comparação com o padrão de ~118.000 tokens
- Em runners de teste como
cargo test/npm test,pytestego test, a redução pode chegar a 90%
- Em runners de teste como
- Como começar
# 1. Instalar rtk init -g # Claude Code / Copilot (default) rtk init -g --gemini # Gemini CLI rtk init -g --codex # Codex (OpenAI) rtk init -g --agent cursor # Cursor # 2. Depois reinicie a ferramenta de IA git status # agora funciona como rtk git status - Licença Apache-2.0
9 comentários
No fim, é uma questão de trade-off com a qualidade, e também fico preocupado se isso não vai acabar virando uma estrutura em que se gastam mais tokens para recuperar a qualidade perdida.
Já usei antes, mas acabei removendo porque o Claude continuava gastando ainda mais tokens para resolver problemas causados pelo rtk.
(Por exemplo, ao fazer uma requisição JSON com
curl, ele gerava JSON inválido, ojqretornava erro, e o Claude acabava queimando tokens depurando isso; no fim, voltava para uma requisiçãocurlbruta e fazia o parsing comjq.)Mesmo assim, acho que a intenção em si é uma boa tentativa, então, quando estiver mais estável, parece algo que valeria a pena usar.
Não sei se realmente reduz. Como o agent ficava mandando usar o comando
rtk ls.., achei que ele usaria, mas não usa.Pessoalmente também venho usando, mas por causa da compressão do rtk, em alguns casos o Claude Code não consegue obter, a partir do resultado dos comandos, o contexto de que precisa, então acho que depende do caso.
Eu também achei isso um ponto decepcionante!
Mas na atualização recente, eles passaram a salvar a saída completa em um arquivo separado, para que o LLM possa lê-la quando necessário~
Parece que há alguns efeitos colaterais nos casos de uso de outros usuários.
Espero que isso seja superado em breve e que a aplicação funcione bem.
https://reddit.com/r/ClaudeCode/…
Se reduzir bem mesmo, parece ótimo!
Boa ideia.
Mas, como o treinamento provavelmente foi feito com base em uma saída normal de CLI, tenho uma certa preocupação se, ao condensar desse jeito, a saída vai continuar funcionando tão bem quanto antes.
Vou experimentar.
Acho que vai ser preciso comparar com o contextmode também.