Операция выполнена!
Закрыть
Хабы: Говнокод, Инженерные системы, Лайфхаки для гиков, Проектирование и рефакторинг

Устал переплачивать за одну и ту же память, которуе гоняю по кругу, и решил разобраться, как у кого на самом деле устроен кэш, а не просто верить строчке "у нас есть кэширование" и "так дешевле" в доке.

Начал с клода, как с самой популярной тулы. Кэш там не работает сам по себе, нужно руками вешать cache_control: ephemeral на кусок промпта (тулы, системный промпт, длинный документ, что угодно стабильное). Ничего не закэшируется, если явно не попросишь. При этом ценой все прозрачно: запись на 5 минут стоит 1.25 от обычной цены, запись на час — уже 2x, а вот чтение из кэша дешевле раз в 10. Если один и тот же кусок дергается хотя бы пару раз за окно, уже в плюсе.

Но! Где-то в марте anthropic тихо поменял дефолтный TTL с часа на пять минут, без нормального анонса, просто взяли и поменяли поведение по умолчанию для тех, кто не указал TTL явно. У меня был пайплайн, заточенный под часовое окно, и я не сразу понял, почему счет подрос процентов на 15, пока не полез в changelog. Так что если у вас что-то крутится на клоде на автомате уже давно, стоит перепроверить, какой TTL у вас реально стоит сейчас, а не какой вы когда-то настраивали.

С openai все проще, и в хорошем смысле. Там кэш вообще не настраивается руками, он просто есть у любого промпта от 1024 токенов: система сама ищет совпадающий префикс с шагом в 128 токенов, и если находит, режет цену пополам. Ничего в коде трогать не надо. Из минусов, контроля тоже никакого, попал в кэш или нет, узнаешь только постфактум по usage в ответе. И живет это недолго: 5-10 минут простоя, максимум час, потом стирается железно.

Читать далее
Читайте также
НОВОСТИ

ПИШИТЕ

Техническая поддержка проекта ВсеТут

info@vsetut.pro