5 puntos por sleeplesshan 8 시간 전 | 2 comentarios | Compartir por WhatsApp

Hola,

Quiero compartir un skill que hice para quienes suelen usar agentes de IA como Claude Code o Codex para analizar logs grandes o modificar código legacy, y terminan preocupándose por el costo de tokens y la latencia que se disparan en cuestión de segundos.

Se trata de token-router, un router híbrido de contexto para manejar archivos grandes con la idea de "explorar gratis en local, razonar con alto rendimiento en la nube".


🛑 ¿Qué problema resuelve?

Si envías a un LLM en la nube logs de despliegue de infraestructura de más de 2,000 líneas o archivos enormes de código fuente completos, se desperdician muchísimos tokens de entrada y además aumenta el tiempo de espera.

Para ahorrar, a veces se resume previamente el código con un modelo pequeño, pero ese enfoque es riesgoso. En el momento en que se omite una sola línea de error o la definición de una variable, la IA en la nube pierde el contexto y puede dar una respuesta equivocada.

Además, en la versión más reciente, el enrutamiento también se amplió a archivos estáticos de instrucciones de agentes que se adjuntan repetidamente en cada turno, como CLAUDE.md, AGENTS.md y .cursorrules. Sin embargo, no es posible reducir después el costo de tokens de archivos root largos que ya fueron inyectados automáticamente, por lo que se recomienda mantener corto el archivo de instrucciones root y separar las reglas largas específicas de cada tarea en archivos de referencia aparte, para enrutarlas solo cuando hagan falta.


🧠 ¿Cómo lo resuelve? (cómo funciona desde la perspectiva del usuario)

Esta herramienta no resume el texto; usa un método que recorta estrictamente solo las partes necesarias del original.

  1. Exploración local (Local Triage): se ejecuta en tu computadora mediante Ollama usando el modelo ligero Gemma 4 2B. Este modelo local encuentra rápidamente solo los números de línea exactos (coordenadas) que corresponden a la pregunta del usuario.
  2. Extracción del original (Raw Slicing): un script en Python recorta del disco fragmentos limpios del texto original, exactamente como están, con base en esos números de línea.
  3. Razonamiento en la nube (Reasoning): el modelo principal en la nube recibe solo fragmentos densos del original, ya sin ruido innecesario, junto con un mapa de la estructura del archivo, para concentrarse únicamente en depuración y escritura de código.

Como se envía el texto original sin procesar, es posible aprovechar al 100% la capacidad de razonamiento del modelo en la nube y al mismo tiempo reducir drásticamente el costo.

Actualmente soporta tres modos: error_log, heavy_code y agent_context. agent_context es un modo que recupera solo las líneas originales relevantes para la tarea actual desde documentos de referencia con instrucciones de agentes, como CLAUDE.md, AGENTS.md, GEMINI.md, .cursorrules y agent-context/*.md.


📊 Resultados de pruebas reales en mi PC

  • Log grande de infraestructura (2,000 líneas): el contexto de entrada se redujo de 41,711 tokens a 131 tokens (99.69% de ahorro, tiempo de procesamiento: 5.37 segundos).
  • Código fuente legacy con bug (2,155 líneas): se enviaron solo 70 tokens en lugar de los 7,520 tokens originales (99.06% de ahorro, tiempo de procesamiento: 4.46 segundos).

🛠️ Cosas que resultaron cómodas en uso real

  • Evita que la PC se ponga lenta: puede preocupar que usar IA local vuelva lenta la computadora, pero esta herramienta libera inmediatamente el modelo local de la memoria VRAM justo en el momento exacto en que termina la extracción de coordenadas de enrutamiento.
  • Expansión inteligente de contexto hacia atrás: si el fragmento de código recortado es demasiado estrecho y cuesta entender las dependencias alrededor, la IA en la nube no responde adivinando; se incluyó una protección en el prompt para que le pida de vuelta al script que “recorte otra vez un rango más amplio”.
  • Streaming de archivos grandes: incluso si el archivo es tan grande que supera la capacidad de memoria del modelo local, una lógica de streaming en el backend que primero escanea palabras clave y el final del archivo actúa automáticamente para mantener todo seguro.
  • Soporte para Claude Code: la versión más reciente también incluye un bootstrap compacto de CLAUDE.md para Claude Code. Las instrucciones largas específicas de Claude pueden dejarse en un archivo de referencia separado y usarse mediante enrutamiento con agent_context.

Está publicado completamente gratis bajo licencia MIT, y puede registrarse y usarse de inmediato ya sea como script independiente o en forma de skill de OpenAI Codex. También puede invocarse desde Claude Code usando como referencia el bootstrap de CLAUDE.md para llamar al mismo script router. Ojalá le sirva a la productividad de desarrollo de quienes trabajan con frecuencia en depuración de logs grandes o código pesado.

¡Agradeceré mucho cualquier feedback u opinión sobre la arquitectura o la optimización de prompts!

2 comentarios

 
hshim 6 시간 전

Buen skill, lo probé por encima.
De vez en cuando ocurrían casos en los que, al generar el JSON para enviarlo con Python, se rompía la sintaxis de JSON y daba error; cuando probé cambiándolo a 4b o qwen2.5-coder:7b, la tasa de errores se redujo notablemente.

 
sleeplesshan 6 시간 전

Oh, muchísimas gracias por probarlo apenas lo subí y además dejar comentarios tan concretos comparando modelos de distintos tamaños.
Como comentaste, parece que los modelos ultrapequeños de la clase 2B a veces tienen la limitación de romper las restricciones del system prompt y generar JSON con sintaxis inválida en entornos complejos con logs o caracteres especiales mezclados. Si tienen margen de VRAM, definitivamente parece que las líneas Qwen 2.5 Coder 7B o Gemma 4B generan las coordenadas de enrutamiento con mucha más estabilidad.
Si alguien más lo prueba y se encuentra con errores de sintaxis JSON, podría ser más útil ejecutarlo cambiando a un modelo de mayor tamaño mediante la configuración de variables de entorno, así:
OLLAMA_MODEL=qwen2.5-coder:7b python3 scripts/router.py ...
Gracias por compartir una opinión de benchmark tan valiosa en un entorno real.