>_ DevTrendsfr

Langue

Accueil

Langages

Sections

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embarqué Sécurité
TypeScript

Comment nourrir un réseau de neurones avec du code en image et économiser 60% sur votre budget de tokens

Je me suis récemment rendu compte que nous nous sommes habitués à traiter les fenêtres de contexte des modèles de langage exclusivement comme du texte. Vous envoyez un fichier de 50 000 caractères et payez pour 12 à 15 000 tokens de texte. Si vous utilisez Claude Code ou Cursor pendant des heures, le contexte est constamment alimenté avec des instructions système, de la documentation d'outils et des logs d'exécution de commandes. La facture API à la fin du mois commence à devenir une surprise désagréable.

Les développeurs derrière le projet pxpipe ont remarqué une faille intéressante dans la tarification des modèles multimodaux modernes. Le coût d'une image en tokens dépend uniquement de sa résolution physique en pixels, pas de la quantité de texte qui y est dessinée. Si vous compressez du texte dense dans une capture d'écran compacte avec une petite police, un token d'image peut contenir environ 3 à 5 fois plus de caractères qu'un token de texte standard.

Exemple de rendu pxpipe : invite système et documentation d'outils compressées en une seule page

Et c'est ainsi qu'est née l'idée d'un serveur proxy local—qui redessine les parties lourdes d'une requête en pages PNG monochromes à la volée avant de les envoyer à Anthropic ou OpenAI.

Comment fonctionne cette astuce

Au format texte, les données denses comme JSON, les dumps de base de données ou le code sont consommés à un taux d'environ un caractère par token. Pendant ce temps, les modèles modernes comme Claude 3.5 Sonnet, Claude Opus ou Gemini reconnaissent excellemment les images raster grâce à leurs modules de vision intégrés.

L'outil pxpipe intercepte les requêtes API sortantes sur votre machine et découpe le contexte ingérable en images denses avec une police monospace personnalisée (par exemple, Spleen 5×8 ou JetBrains Mono).

Graphique montrant la croissance de la capacité de la fenêtre de contexte en caractères lorsqu'elle est transmise via des images

Au lieu de 25 000 tokens de texte brut pour l'invite système et les descriptions d'outils, le modèle reçoit quelques images pesant seulement 2 700 tokens. Pour une fenêtre de contexte de 1 million de tokens, cela augmente la capacité réelle en caractères près de cinq fois : de 4 millions de caractères à 19–21 millions.

Ce qui est compressé et ce qui reste en texte

Si vous convertissez l'ensemble du dialogue en image, le modèle finira inévitablement par faire des erreurs avec les identifiants précis. Les développeurs de pxpipe ont prévu cela, donc la compression fonctionne de manière sélective :

  1. Résultats d'exécution d'outils volumineux. Si la sortie de commande console, les logs de tests ou un fichier lu dépasse 6 000 caractères, ils sont convertis en PNG.
  2. Ancien historique de messages. Les premières étapes d'une longue session sont regroupées en pages d'archive.
  3. Invites système lourdes et spécifications d'outils MCP. Elles sont mises en cache et envoyées sous forme de feuille graphique.

Les dernières réponses de l'utilisateur, les nouvelles réponses du modèle et les courts extraits de texte sont transmis sous leur forme texte originale inchangée. Le modèle voit les modifications récentes octet par octet.

Démarrage rapide et connexion aux agents

Vous pouvez exécuter l'utilitaire sans installation permanente via npx. Il démarre un serveur local sur le port 47821 :

npx pxpipe-proxy

Après cela, il suffit de pointer Claude Code vers l'adresse locale :

ANTHROPIC_BASE_URL=http://127.0.0.1:47821 claude

Si vous ne voulez pas gérer les variables d'environnement, le dépôt inclut une commande wrapper warp. Elle proxy les appels réseau pour un processus spécifique :

pxpipe warp -- claude
# либо для других агентов
pxpipe warp -- cursor-agent

Avec le proxy, un tableau de bord web démarre à http://127.0.0.1:47821/. Il affiche les dollars économisés en temps réel, le nombre de tokens supprimés et un aperçu de chaque page générée à côté du texte original.

Exporter sans démarrer un serveur

Si vous n'avez pas besoin d'un proxy mais souhaitez alimenter une base de code massive ou un diff git dans une interface web de chat avec support d'images, vous pouvez utiliser le mode export :

npx pxpipe-proxy export src/
cat logs.txt | npx pxpipe-proxy export --stdin
npx pxpipe-proxy export --git

La commande crée un dossier avec des fichiers page-*.png prêts à l'emploi, un fichier bref des entités clés factsheet.txt et une invite à coller dans la fenêtre de dialogue.

L'autre face de la pièce et les limitations honnêtes

L'approche ressemble à de la triche, mais elle a des limitations physiques inevitables. Les développeurs les énumèrent directement dans la documentation :

  • Perte de précision sur les hashs et les ID. Le module de vision du LLM fonctionne via des patches d'embedding, pas un OCR classique avec probabilité par caractère. Quand il n'y a pas assez de pixels par lettre, le modèle de langage invente simplement un caractère plausible. Dans les tests des auteurs, les correspondances exactes de chaînes hexadécimales de 12 caractères sur Fable 5 ont atteint 13 sur 15, et sur certains modèles sont tombées à zéro. Les identifiants critiques sont mieux conservés en texte.
  • Latence de rendu. Avant d'envoyer une requête volumineuse, le processeur passe plusieurs centaines de millisecondes à générer des tampons PNG en mémoire.
  • Le bénéfice dépend de la densité du contenu. Les économies sont maximales sur le code, les traces de pile et les structures JSON. Sur du texte conversationnel ordinaire en langage naturel, le gain est minime ou absent entièrement, car dans un texte ordinaire un token contient déjà environ 3 à 4 caractères.

Pour qui le projet sera utile dès maintenant

Si vous utilisez régulièrement des agents de codage autonomes, exécutez des benchmarks ou alimentez le modèle avec des logs de build de plusieurs mégaoctets, pxpipe s'amortit dès le premier jour. Lors de longues sessions de débogage, la facture quotidienne passe de 40 $ à 6–7 $ tout en préservant la logique globale du fonctionnement de l'agent.

Vous pouvez essayer l'outil en quelques minutes, et pour le premier test vous n'avez même pas besoin de compiler quoi que ce soit depuis le code source. Toutes les statistiques de tokens sont soigneusement stockées par l'utilitaire dans un journal local ~/.pxpipe/events.jsonl, vous pouvez donc facilement vérifier le réel avantage sur vos tâches avec l'utilitaire pxpipe stats.

Projets similaires