Опубликовано
pxpipe: как сократить токены Claude Code в 2-3 раза, рендеря контекст в изображения
Автор: Гусев Николай [портфолио]
Темы: repost, ai-agents, benchmarks
pxpipe: как сократить токены Claude Code в 2-3 раза, рендеря контекст в изображения
Когда плотный контекст отправляется в API как текст, каждый символ оплачивается токеном. Но модель видит вход не через текст, а через пиксели. Если перевести тяжёлые блоки в изображение фиксированного размера, стоимость этих данных падает кратно. Так работает pxpipe - локальный прокси, который перед отправкой запроса переводит системный промпт, документацию инструментов и старую историю в PNG.
Механика
На плотных данных - код, JSON, логи - плотность достигает примерно 3,1 символа на image-токен против 1 символа на text-токен. Одно изображение 1928x1928 вмещает около 92k символов и стоит фиксированно около 4761 vision-токенов. Прокси перехватывает запрос, упаковывает объёмные блоки в PNG и вставляет их обратно; ответ модели стримится без изменений. Сжатие применяется только ко входу, выход остаётся текстом.
Эффект
На реальном трафике Claude Code экономия составила 38-70% на запрос, что на текущих ценах превращается в снижение счёта на 59-70%. Бенчмарки на новых задачах: Fable 5 читает рендеры 100/100, Opus 4.8 - 93/100 и по умолчанию отключён из-за более высокой ошибки на деталях. SWE-bench Lite прошёл 10/10 при уменьшении запроса на 65%, Pro - 14/19 включено против 15/19 выключено, при этом вердикты совпали в 18/19. Экономия reproducible: каждый текст→изображение фиксируется в events.jsonl и можно сверить с обычным count_tokens.
Ограничения
Точные строки внутри изображений восстанавливаются не полностью: на 12-символьные hex-значения Fable 5 дал 13/15, а Opus 4.8 - 0/15. Ошибки не падающие, модель просто галлюцинирует недостающие символы, поэтому критичные идентификаторы, хеши и последние реплики диалога нужно оставлять в тексте. На sparse prose - тексте с большим количеством пробелов - изображение может оказаться дороже текста; прокси автоматически оставляет такой контент как есть.
Практика
Запуск займёт меньше минуты: установите npx pxpipe-proxy, затем направьте Claude Code на http://127.0.0.1:47821 через переменную окружения. По умолчанию imaging активен для Claude Fable 5 и GPT-5.6, для Opus 4.8 и GPT 5.5 его нужно явно включить через PXPIPE_MODELS или дашборд. Если точность критична - включите режим прохода текстом для subagent'ов.
Итог
Это не обход API и не снижение качества ответов, а адаптация формата данных под модель: когда вход оплачивается по заполнению, выгоднее упаковать плотный контекст в фиксированный объём. Для тех, кто работает с Claude Code интенсивно, это даёт реальное снижение расходов без изменения процессов.