>_ DevTrendsnl

Taal

Home

Talen

Secties

Frontend Backend Mobiel DevOps AI / ML GameDev Blockchain Embedded Beveiliging
TypeScript

Hoe je een neuraal netwerk een muur van code als afbeelding kunt voeren en 60% bespaart op je tokenbudget

Ik betrapte mezelf er onlangs op dat we eraan gewend zijn geraakt om contextvensters van taalmodellen uitsluitend als tekst te behandelen. Je stuurt een bestand van 50.000 tekens en betaalt voor 12–15.000 teksttokens. Als je urenlang Claude Code of Cursor draait, wordt de context voortdurend aangevuld met systeeminstructies, tooldocumentatie en opdrachtuitvoeringslogs. De API-rekening aan het einde van de maand begint een onaangename verrassing te worden.

De ontwikkelaars achter het pxpipe-project ontdekten een interessante loophole in de prijsstelling van moderne multimodale modellen. De kosten van een afbeelding in tokens zijn alleen afhankelijk van de fysieke resolutie in pixels, niet van hoeveel tekst erop staat. Als je dense tekst comprimeert tot een compacte screenshot met een klein lettertype, kan één afbeeldingstoken roughly 3–5 keer meer tekens bevatten dan een standaard teksttoken.

Voorbeeld van pxpipe-rendering: systeemprompt en tooldocumentatie gecomprimeerd tot één pagina

En zo ontstond het idee van een lokale proxyserver—één die zware delen van een verzoek onderweg naar Anthropic of OpenAI realtime omtekent naar monochrome PNG-pagina's.

Hoe Deze Truc Werkt

In tekstformaat wordt dense data zoals JSON, databankdumps of code verbruikt met een snelheid van roughly één teken per token. Ondertussen herkennen moderne modellen zoals Claude 3.5 Sonnet, Claude Opus of Gemini rasterafbeeldingen uitstekend via hun ingebouwde visiemodules.

Het pxpipe-hulpmiddel onderschept uitgaande API-verzoeken op je machine en snijdt lastige context in stukken naar dense afbeeldingen met een aangepast monospace-lettertype (bijvoorbeeld Spleen 5×8 of JetBrains Mono).

Grafiek die de groei in contextvenstercapaciteit in tekens toont bij verzending via afbeeldingen

In plaats van 25.000 tokens aan ruwe tekst voor de systeemprompt en toolbeschrijvingen ontvangt het model een paar afbeeldingen van slechts 2.700 tokens. Voor een contextvenster van 1 miljoen tokens verhoogt dit de werkelijke tekencapaciteit bijna vijfvoudig: van 4 miljoen tekens naar 19–21 miljoen.

Wat Wordt Gecomprimeerd en Wat Blijft als Tekst

Als je het hele gesprek omzet naar een afbeelding, zal het model onvermijdelijk fouten gaan maken met precieze identifiers. De pxpipe-ontwikkelaars hebben hier rekening mee gehouden, dus compressie werkt selectief:

  1. Grote tooluitvoeringsresultaten. Als console-opdrachtoutput, testlogs of een gelezen bestand 6.000 tekens overschrijdt, worden ze geconverteerd naar PNG.
  2. Oude berichtgeschiedenis. Vroege stappen in een lange sessie worden verpakt in archiefpagina's.
  3. Zware systeemprompts en MCP-toolspecificaties. Deze worden gecachet en verzonden als een grafiekblad.

De nieuwste antwoorden van de gebruiker, verse modelresponsen en korte tekstfragmenten worden in hun oorspronkelijke tekstformaat ongewijzigd verzonden. Het model ziet recente bewerkingen byte-voor-byte.

Snelle Start en Verbinding met Agents

Je kunt het hulpmiddel draaien zonder permanente installatie via npx. Het start een lokale server op poort 47821:

npx pxpipe-proxy

Wijs daarna gewoon Claude Code naar het lokale adres:

ANTHROPIC_BASE_URL=http://127.0.0.1:47821 claude

Als je geen zin hebt in omgevingsvariabelen, bevat de repository een wrapper-opdracht warp. Deze proxiet netwerk-aanroepen voor een specifiek proces:

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

Samen met de proxy start een webdashboard op http://127.0.0.1:47821/. Het toont de bespaarde dollars in realtime, het aantal verwijderde tokens en een voorbeeld van elke gegenereerde pagina naast de oorspronkelijke tekst.

Exporteren Zonder een Server Op te Starten

Als je geen proxy nodig hebt maar wel een enorme codebase of git diff wilt invoeren in een chat-webinterface met ondersteuning voor afbeeldingen, kun je de exportmodus gebruiken:

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

De opdracht maakt een map met kant-en-klare page-*.png-bestanden, een kort bestand met belangrijke entiteiten factsheet.txt en een prompt om in het dialoogvenster te plakken.

De Andere Kant van de Medaille en Eerlijke Beperkingen

De aanpak lijkt op vals spelen, maar heeft onvermijdelijke fysieke beperkingen. De ontwikkelaars vermelden ze rechtstreeks in de documentatie:

  • Verlies van nauwkeurigheid bij hashes en ID's. De LLM-visiemodule werkt via embedding patches, niet via klassieke OCR met per-teken-waarschijnlijkheid. Wanneer er niet genoeg pixels per letter zijn, verzint het taalmodel simpelweg een plausibel teken. In de tests van de auteurs kwamen exacte overeenkomsten van 12-teken hex-strings op Fable 5 uit op 13 van de 15, en bij sommige modellen zakte dit naar nul. Kritieke identifiers kun je beter als tekst bewaren.
  • Renderingvertraging. Voordat een groot verzoek wordt verzonden, besteedt de processor enkele honderden milliseconden aan het genereren van PNG-buffers in het geheugen.
  • Voordeel hangt af van de dichtheid van de inhoud. De besparingen zijn maximaal op code, stack traces en JSON-structuren. Bij gewone conversatietekst in natuurlijke taal is de winst minimaal of afwezig, omdat in gewone tekst één token al roughly 3–4 tekens bevat.

Voor Wie het Project Nu Al Nuttig Is

Als je regelmatig autonome codeeragents gebruikt, benchmarks draait of het model multi-megabyte build logs voert, verdient pxpipe zich vanaf dag één terug. Bij lange debugsessies daalt de dagelijkse rekening van $40 naar $6–7 terwijl de algemene logica van de werking van de agent behouden blijft.

Je kunt het hulpmiddel in een paar minuten uitproberen, en voor de eerste test hoef je zelfs niets vanaf de bron te bouwen. Alle tokenstatistieken worden netjes opgeslagen door het hulpmiddel in een lokaal logbestand ~/.pxpipe/events.jsonl, dus je kunt gemakkelijk het echte voordeel op je taken verifiëren met het pxpipe stats-hulpmiddel.

Gerelateerde projecten