Как это работает
Условия зависят от провайдера. Для примера, в документации Anthropic кешируется префикс промпта (инструменты, системный промпт, сообщения) до заданной точки; попадание в кеш требует полностью идентичного префикса, срок жизни записи по умолчанию — 5 минут, а для кеширования есть минимальная длина, зависящая от модели [1]. Сверяйтесь с документацией вашего провайдера: правила и цены меняются.
Практическое следствие: стабильные части ставят в начало промпта, а изменяемые (вопрос пользователя, текущая дата) — в конец. Динамические данные в начале, например метка времени, ломают кеш при каждом запросе.
Пример
[1] Системный промпт и правила ← стабильно, кешируется [2] Описание инструментов ← стабильно, кешируется [3] Длинный справочный документ ← стабильно, кешируется [4] История диалога и вопрос ← меняется в каждом запросе
Как применять в тестировании ИИ
Проверяйте эффект кеша замерами: сравните TTFT и стоимость «холодного» и «тёплого» запросов и убедитесь, что правка промпта не ломает кеш неожиданно. Добавьте тест на то, что изменяемые данные не попадают в начало промпта.
Типичные ошибки
- Ставить в начало промпта изменяемые данные (дату, идентификатор), из-за чего кеш не срабатывает.
- Не учитывать срок жизни кеша и минимальную длину: короткие или редкие запросы могут в кеш не попасть.
- Считать правила одного провайдера универсальными.
Частые вопросы
Как работает кеширование системного промпта?
Провайдер сохраняет обработанное начало промпта, и при повторном запросе с тем же началом переиспользует результат вместо повторной обработки. Это снижает задержку и стоимость, если начало совпало полностью.
Почему кеш промпта не срабатывает?
Частая причина: в начале промпта стоят изменяемые данные, и префикс отличается от запроса к запросу. Другие причины: истёк срок жизни записи или промпт короче минимальной длины для кеширования у провайдера.
Источники
- Prompt caching (пример реализации у провайдера) — Anthropic, документация Claude API