$41 замість $100: як зекономити токени Claude Fable 5, перетворивши частину промптів на картинку

💡 Усі статті, обговорення, новини про AI — в одному місці. Приєднуйтесь до AI спільноти!

На GitHub виклали цікавий проєкт pxpipe. Його ідея полягає в тому, щоб зменшувати кількість вхідних токенів для AI-агентів, перетворюючи частину великого текстового контексту на зображення.

При цьому мова не про генерацію картинок та не про стиснення у звичному сенсі. Інструмент працює як локальний проксі між клієнтом та моделлю. Він перехоплює запит та знаходить у ньому великі текстові блоки. Наприклад результати роботи інструментів, логи, стару історію діалогу, системний промпт або описи інструментів.

Після цього рендерить їх у щільні PNG-сторінки та вже в такому вигляді передає моделі. Задум пояснюють тим, що вартість зображення в токенах залежить від розміру в пікселях, а не від кількості тексту всередині.

Адже якщо передати великий лог або довгий результат команди як текст, він може з’їсти багато контексту. Але якщо ж цей самий текст дуже щільно розмістити на зображенні, модель із хорошим зоровим зчитуванням може прочитати його дешевше за токенами.

Автори наводять приклад, коли приблизно 48 тисяч символів системного промпта та описів інструментів займали близько 25 тисяч токенів як текст, але лише 2,7 тисячі токенів як зображення.

Як модель бачить такі промти в картинках

Технічно pxpipe перехоплює запити, перепаковує придатні для цього блоки у PNG та вставляє їх назад у запит. Водночас він не чіпає відповідь моделі, актуальні повідомлення користувача, останні репліки діалогу, надто малі блоки тощо. Для цього є оцінювач, який вирішує, чи варто перетворювати конкретний блок на зображення.

За підрахунками авторів, за поточними цінами Fable 5 такий підхід дає приблизно на 59-70% менший підсумковий рахунок за використання моделі. В одному з прикладів сесія з pxpipe завершилася на $6,06 проти $42,21 без нього. А на зрізі з 13,7 тисячі запитів рахунок зменшився приблизно зі $100 до $41.

Втім, розробники уточнюють, що результат залежить від навантаження. Крім того, треба враховувати, що інколи моделі можуть хибно зчитувати зображення. Наприклад, у одному з тестів із 12-символьними hex-рядками Claude Fable 5 правильно зчитав 13 із 15 рядків у щільному зображенні, а Opus 4.8 — 0 із 15.

Тож за замовчуванням у pxpipe увімкнені лише Fable 5 та GPT-5.6, бо інші моделі гірше читають контекст на картинках. Але за потреби деякі інші моделі також можна ввімкнути.

👍ПодобаєтьсяСподобалось4
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Використання багу оцінки токенів — так собі рішення. Баг полагодять...але якщо як тимчасове рішення — можливо комусь буде і корисно на той час поки не полагодили))

$100 замість $4000 — звільнити програміста.

це ідіотизм якийсь — моделі не тренують по таких здоровенних зображеннях з текстом.
плюс це йде мултімодал реквест замість чисто текстового.
в результаті в багатьох випадках модель буде це назад в текст намагатись перетворити.
люди страждають х..нею.

Втім, розробники уточнюють, що результат залежить від навантаження. Крім того, треба враховувати, що інколи моделі можуть хибно зчитувати зображення. Наприклад, у одному з тестів із 12-символьними hex-рядками Claude Fable 5 правильно зчитав 13 із 15 рядків у щільному зображенні, а Opus 4.8 — 0 із 15.

З цього і треба було починати, толку з цієї економії якщо криві чи неповні дані. Ще не зрозуміло що робиться на стороні агента, скільки і як extracted інформація передається в модель, що з кешем. А що якщо агент вирішить з допомогою haiku картинку парсити, скільки там буде помилок?

У мене є свій метод економії.
Я помітив, що найбільше токенів використовується, коли агент робить багато кроків. Кожен крок — це коли модель приймає рішення використати інструмент, і при кожному кроці весь контекст зчитується заново. Контекст, грубо кажучи, множиться на кількість кроків, з наростаючим об’ємом.Щоб зменшити кількість кроків для дорогої моделі, я використовую дешеву модель, яка збирає всі необхідні для вирішення задачі фрагменти тексту з кодової бази в один єдиний файл. Потім цей текст подається на вхід дорогій моделі, але їй забороняється зчитувати кодову базу напряму (бо вся інформація вже є у файлі) та використовувати інструменти для модифікації файлів. Дорога модель повинна видати в чат результат — що саме треба зробити.
В фіналі дешева модель розбирає інструкції дорогої моделі та вносить правки в кодову базу.
У мене це непогано працювало, економія по токенах у декілька разів, але я не створив ніякої автоматизації, керуючи цими фазами вручну.

почитайте ще про кешування саме в Клоді, наприклад той же Опус дає 4К токенів, які живуть 5хв, при кроках ці 4К токенів (якщо вони байт-ідентичні) будуть тарифікуватись по 10% від вартості, але ніхто не каже, що коли ми кладемо в голову контексту шматок 4К+ то вони просто не кешуються, бо шматок повністю не лізе в кеш. Можна зекономити на виклику інструментів, але налізти на кешуванні. Ваша ідея класна, дякую, що поділились!

Підписатись на коментарі