← semua berita

Proxy yang mengubah prompt jadi PNG untuk menekan biaya token

Engineering · · · sumber (github.com)

Gambar yang dikirim ke language model dikenai jumlah token tetap berdasarkan ukuran pikselnya, tak peduli seberapa banyak teks yang dijejalkan di dalamnya. pxpipe memanfaatkan keanehan itu untuk menghemat biaya. Ini adalah proxy lokal yang duduk di antara tool Anda dan Claude, lalu merender bagian-bagian berat dari sebuah permintaan, seperti system prompt, dokumentasi tool, dan riwayat chat lama, menjadi gambar PNG sebelum meneruskannya. Model kemudian membaca gambar itu, bukan teks mentahnya.

Perhitungannya adalah inti argumennya. Teks biasa berjalan sekitar satu karakter per token, sedangkan gambar memuat sekitar 3,1 karakter per vision token. Satu PNG berukuran 1928 kali 1928 piksel memakan sekitar 4.761 token tetapi bisa menampung hingga 92.000 karakter, yang kalau berupa teks setara sekitar 48.000 token. Teks baru lebih hemat kalau kepadatannya di atas kira-kira 19 karakter per token, sementara transkrip Claude Code umumnya berada di sekitar 1,91. Pada beban kerja nyata, pembuatnya melaporkan penurunan biaya menyeluruh 59 sampai 70 persen, dan di SWE-bench Lite ia menyelesaikan kesepuluh tugas sampel dengan token per permintaan 65 persen lebih sedikit. Giliran percakapan terbaru tetap berupa teks, dan prompt caching masih berfungsi.

Kekurangannya, proses jadi gambar ini bersifat lossy. Nilai eksak seperti string hex, ID, dan angka panjang terbaca benar 13 dari 15 kali pada Fable 5, tetapi nol dari 15 pada Opus, dan model cenderung mengarang diam-diam alih-alih menandai kegagalannya. Karena itu pxpipe secara default hanya mengompres Fable 5 dan menyisakan giliran paling baru dalam bentuk teks.

Kenapa ini penting

Kalau Anda menjalankan agent di codebase besar dan melihat tagihan terus naik, ini tuas konkret yang bisa Anda tarik hari ini tanpa mengganti model atau prompt. Tapi uji dulu pada data yang mengandung identifier eksak sebelum memercayainya, karena hash yang salah terbaca diam-diam di sebuah diff jauh lebih merepotkan daripada jumlah token yang sedikit lebih besar.

InferenceClaude Code