Cómo alimentar una red neuronal con paredes de código como imágenes y ahorrar un 60% en tu presupuesto de tokens
Hace poco me di cuenta de que nos hemos acostumbrado a tratar las ventanas de contexto de los modelos de lenguaje exclusivamente como texto. Envías un archivo de 50.000 caracteres y pagas por 12–15.000 tokens de texto. Si estás ejecutando Claude Code o Cursor durante horas, el contexto se va llenando constantemente con instrucciones del sistema, documentación de herramientas y registros de ejecución de comandos. La factura de la API al final del mes empieza a convertirse en una sorpresa desagradable.
Los desarrolladores detrás del proyecto pxpipe descubrieron un interesante vacío en los precios de los modelos multimodales modernos. El costo de una imagen en tokens depende solo de su resolución física en píxeles, no de cuánto texto se dibuja en ella. Si comprimes texto denso en una captura de pantalla compacta con fuente pequeña, un token de imagen puede contener aproximadamente 3–5 veces más caracteres que un token de texto estándar.

Y así fue como nació la idea de un servidor proxy local—uno que redibuja las partes pesadas de una solicitud en páginas PNG monocromáticas sobre la marcha antes de enviarlas a Anthropic u OpenAI.
Cómo Funciona Este Truco
En formato de texto, datos densos como JSON, volcados de base de datos o código se consumen a un ritmo de aproximadamente un carácter por token. Mientras tanto, modelos modernos como Claude 3.5 Sonnet, Claude Opus o Gemini reconocen imágenes rasterizadas excelentemente a través de sus módulos de visión integrados.
La herramienta pxpipe intercepta las solicitudes API salientes en tu máquina y divide contextos difíciles de manejar en imágenes densas con una fuente monoespaciada personalizada (por ejemplo, Spleen 5×8 o JetBrains Mono).

En lugar de 25.000 tokens de texto sin formato para el prompt del sistema y las descripciones de herramientas, el modelo recibe un par de imágenes que pesan solo 2.700 tokens. Para una ventana de contexto de 1 millón de tokens, esto aumenta la capacidad real de caracteres casi cinco veces: de 4 millones de caracteres a 19–21 millones.
Qué Se Comprime y Qué Permanecer como Texto
Si conviertes toda la conversación en una imagen, el modelo inevitablemente comenzará a cometer errores con identificadores precisos. Los desarrolladores de pxpipe tuvieron esto en cuenta, por lo que la compresión funciona de forma selectiva:
- Resultados grandes de ejecución de herramientas. Si la salida de comandos de consola, logs de pruebas o un archivo leído supera los 6.000 caracteres, se convierten a PNG.
- Historial de mensajes antiguo. Los pasos iniciales de una sesión larga se empaquetan en páginas de archivo.
- Prompts del sistema pesados y especificaciones de herramientas MCP. Se almacenan en caché y se envían como una hoja gráfica.
Las últimas respuestas del usuario, las respuestas frescas del modelo y los fragmentos de texto cortos se transmiten en su forma original de texto sin cambios. El modelo ve las ediciones recientes byte a byte.
Inicio Rápido y Conexión con Agentes
Puedes ejecutar la utilidad sin instalación permanente a través de npx. Inicia un servidor local en el puerto 47821:
npx pxpipe-proxy
Después de eso, solo apunta Claude Code a la dirección local:
ANTHROPIC_BASE_URL=http://127.0.0.1:47821 claude
Si no quieres lidiar con variables de entorno, el repositorio incluye un comando wrapper warp. Este hace proxy de llamadas de red para un proceso específico:
pxpipe warp -- claude
# либо для других агентов
pxpipe warp -- cursor-agent
Junto con el proxy, se inicia un panel web en http://127.0.0.1:47821/. Muestra los dólares ahorrados en tiempo real, el número de tokens reducidos y una vista previa de cada página generada junto con el texto original.
Exportar Sin Levantar un Servidor
Si no necesitas un proxy pero quieres alimentar una base de código masiva o un diff de git en una interfaz web de chat con soporte de imágenes, puedes usar el modo de exportación:
npx pxpipe-proxy export src/
cat logs.txt | npx pxpipe-proxy export --stdin
npx pxpipe-proxy export --git
El comando crea una carpeta con archivos page-*.png listos para usar, un archivo breve de entidades clave factsheet.txt, y un prompt para pegar en la ventana de diálogo.
La Otra Cara de la Moneda y Limitaciones Honestas
El enfoque parece hacer trampa, pero tiene inevitables limitaciones físicas. Los desarrolladores los enumeran directamente en la documentación:
- Pérdida de precisión en hashes e IDs. El módulo de visión del LLM funciona a través de parches de embedding, no OCR clásico con probabilidad por carácter. Cuando no hay suficientes píxeles por letra, el modelo de lenguaje simplemente inventa un carácter plausible. En las pruebas de los autores, las coincidencias exactas de cadenas hexadecimales de 12 caracteres en Fable 5 llegaron a 13 de 15, y en algunos modelos cayeron a cero. Los identificadores críticos es mejor mantenerlos en texto.
- Retraso en el renderizado. Antes de enviar una solicitud grande, el procesador invierte varios cientos de milisegundos generando buffers PNG en memoria.
- El beneficio depende de la densidad del contenido. Los ahorros son máximos en código, stack traces y estructuras JSON. En texto conversacional regular en lenguaje natural, la ganancia es mínima o ausente por completo, porque en texto regular un token ya contiene aproximadamente 3–4 caracteres.
Para Quién Será Útil el Proyecto Ahora Mismo
Si usas regularmente agentes de codificación autónomos, ejecutas benchmarks o alimentas al modelo con logs de compilación de varios megabytes, pxpipe se amortiza desde el primer día. En sesiones largas de depuración, la factura diaria baja de $40 a $6–7 mientras se preserva la lógica general de la operación del agente.
Puedes probar la herramienta en un par de minutos, y para la primera prueba ni siquiera necesitas compilar nada desde el código fuente. Todas las estadísticas de tokens se almacenan ordenadamente por la utilidad en un log local ~/.pxpipe/events.jsonl, así que puedes verificar fácilmente el beneficio real en tus tareas con la utilidad pxpipe stats.
Proyectos relacionados