rtk - Proxy CLI que reduce el consumo de tokens de LLM en un 60~90%
(github.com/rtk-ai)- Un binario único en Rust (Windows/macOS/Linux) que filtra y comprime la salida de comandos CLI ejecutados por herramientas de codificación con IA antes de enviarla al LLM, logrando un ahorro de tokens del 60~90%
- Soporta más de 100 comandos como git, grep, ls, cargo test, etc., y aplica cuatro estrategias antes de pasar la salida del comando al contexto del LLM: filtrado inteligente, agrupación, truncamiento y eliminación de duplicados
- Soporta 10 herramientas de codificación con IA como Claude Code, Codex, Cursor y Gemini CLI, y al instalar el hook reescribe automáticamente y de forma transparente los comandos bash al mismo comando de rtk
- Este hook solo se aplica a llamadas de herramientas Bash; las herramientas integradas de Claude Code como
Read,GrepyGlobevitan este hooking, por lo que para aplicar el filtrado de RTK hay que usar comandos de shell o comandos explícitos de rtk
- Este hook solo se aplica a llamadas de herramientas Bash; las herramientas integradas de Claude Code como
- Según una sesión de Claude Code de 30 minutos, el ahorro estimado es de ~23,900 tokens (aprox. 80% menos) frente a los ~118,000 tokens estándar
- En runners de pruebas como
cargo test/npm test,pytestygo test, la reducción puede llegar hasta el 90%
- En runners de pruebas como
- Cómo empezar
# 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. Reinicia después la herramienta de IA git status # ahora funciona como rtk git status - Licencia Apache-2.0
9 comentarios
Al final, es un trade-off con la calidad, y también me preocupa si no terminará siendo una estructura en la que se usen más tokens para recuperar la calidad perdida.
Lo probé antes, pero como Claude seguía gastando más tokens para resolver problemas causados por rtk, terminé quitándolo.
(Por ejemplo, si haces una solicitud JSON con
curl, genera JSON inválido,jqlanza un error, Claude se pone a depurarlo y se consume los tokens, y al final vuelve a tomar la solicitud cruda decurlpara parsearla conjq.)Aun así, creo que la intención en sí es un buen intento, así que cuando esté más estable, parece que valdrá la pena probarlo.
No sé si de verdad lo reduzca. Le dije al agent varias veces que usara el comando
rtk ls.., pero no lo usa.Personalmente también lo he estado usando... pero por la compresión de rtk, hay casos en los que Claude Code no logra obtener del resultado del comando el contexto que necesita, así que creo que depende de cada caso.
A mí también me había parecido una lástima esa parte.
Pero en una actualización reciente hicieron que el
full outputse guarde en un archivo aparte para que el LLM pueda leerlo si lo necesita~Parece que hay algunos efectos secundarios en los casos de uso de otros usuarios.
Espero que puedan superarlo pronto y aplicarlo bien.
https://reddit.com/r/ClaudeCode/…
¡Si realmente lo reduce así, estaría buenísimo!
Buena idea.
Pero, como el entrenamiento probablemente se hizo tomando como base la salida normal de la CLI, me preocupa un poco si al condensarla así la salida seguirá siendo tan buena como antes.
Voy a probarlo.
Supongo que habrá que compararlo con contextmode...