AI / LLM
Prompt caching: измерь экономию
Читать про cache hit rate — не то же, что двигать его. Собери сервис с большим стабильным префиксом, инструментируй его честно, включи кэш и докажи, что он купил тебе — во входных долларах и во времени до первого токена — с доказательством на каждом шаге.
Преврати модель юнита в воспроизводимый цикл: упорядочи промпт под кэш, читай блок usage для расчёта реального cache-hit rate, защити стабильность префикса тестом и подтверди выигрыш по стоимости и latency числами до/после под идентичной нагрузкой.
Возьми LLM-сервис с большим переиспользуемым префиксом (RAG или агентное приложение с большим системным промптом + документами), добавь prompt caching и докажи, что он срезал стоимость входа и TTFT без изменения выводов — измеряя cache-hit rate, стоимость и latency до и после.
- Таблица до/после: cache-hit rate, стоимость входа на 1k запросов (запись/чтение отдельно) и p50/p99 TTFT — всё измерено под одной нагрузкой, не оценено.
- Блок usage на тёплом запросе показывает cache_read_input_tokens, покрывающий весь префикс, и cache_creation около нуля — доказательство чтений, а не повторных записей.
- Стоимость кэшированного входа на стабильном префиксе падает примерно на порядок (≈90%) против некэшированной базовой линии, а TTFT на тёплых запросах измеримо улучшается.
- Параграф с решением по TTL и распределением пауз, его обосновывающим, и подтверждение, что выводы побайтно идентичны с кэшем и без.
- Добавь намеренно отравленный вариант (впрысни 'Current time: {now}' в начало системного промпта) и покажи блоком usage, как hit rate схлопывается до нуля, а счёт за вход прыгает — затем откати и переподтверди. Сделай так, чтобы тест стабильности это поймал.
- Сложи несколько breakpoints на слоёном промпте (после tools, после system, после документа) и продемонстрируй, что изменение только документа переписывает лишь хвост, а префикс tools+system продолжает читаться по 0.1x.
- Добавь панель cache-hit rate на дашборд из рантайм-метрик и алерт, срабатывающий, когда скользящий hit rate падает ниже порога — недостающий сигнал, дающий отравлению префикса прятаться неделями.
- Сравни 5-минутный и 1-часовой TTL под симулированным паттерном всплесков (кучки с паузами >5 минут) и посчитай, сколько записей 1-часовой тариф превращает в чтения, затем вычисли, окупилась ли премия записи 2x.
Это цикл, который ты будешь гонять на каждом изменении кэша в продакшене: упорядочь промпт стабильным вперёд, поставь breakpoint на последнем неизменном блоке, читай блок usage для расчёта настоящего cache-hit rate, защити префикс побайтным тестом, выбери TTL из реального распределения пауз и подтверди выигрыш по стоимости и TTFT числами до/после под идентичной нагрузкой. Сделав это однажды на своём сервисе, ты доводишь продакшен-версию — включая отлов тихого отравителя — до мышечной памяти.