Представьте, что вы подключили LLM к своему сервису, а счет за API растет так, будто модель secretly копает тоннель до Марса за ваш счет. Трафик вроде бы плюс-минус стабильный, а деньги улетают, как в высокий сезон на авиабилеты.

Автор исходной статьи заметил простую, но болезненную истину: пользователи постоянно спрашивают одно и то же, только разными словами. «Какая у вас политика возврата?», «Как вернуть товар?» и «Мне нужен рефанд» — три почти одинаковых вопроса, но для модели это три отдельных платных вызова.

Точный кеш (по строке) здесь бесполезен — он ловит только идеально совпадающие запросы. В реальном продакшене так получается всего около 18% дублей. При этом почти половина запросов — семантически похожие, то есть по смыслу те же самые вопросы, но сформулированы по‑разному. Все эти деньги просто сгорают, хотя ответы у LLM выходят почти идентичные.

Отсюда рождается идея семантического кеша. Вместо того чтобы хешировать текст запроса, мы превращаем его в вектор с помощью модели-эмбеддинга и ищем в векторном хранилище (FAISS, Pinecone и их отечественные аналоги) самый близкий по смыслу запрос. Если похожесть выше заданного порога — достаем готовый ответ из кеша и не дергаем LLM вообще.

Такой подход в продакшене дал впечатляющие цифры:

  • попадания в кеш выросли с 18% до 67%;
  • затраты на LLM упали на 73% — с $47K до $12.7K в месяц;
  • средняя задержка уменьшилась с 850 мс до 300 мс, потому что быстрый кеш стал срабатывать чаще, чем медленный вызов модели.

Но магия в деталях. Главная тонкость — порог похожести. Если сделать его слишком низким, модель начнет путать «отменить заказ» и «отменить подписку» — смысл уже другой, а ответ может быть критически неверным. Поэтому пороги нужно настраивать по типам запросов: FAQ — почти безошибочно (0.94+), поиск по товарам — мягче, транзакционные вещи — максимально строго.

Важен и грамотный «уход» за кешом: TTL по типу контента, инвалидция по событиям (обновились цены — убрали старые ответы), периодическая проверка свежести через сравнение новых и старых ответов по эмбеддингам.

В результате семантический кеш превращается из «костыля ради экономии» в полноценный архитектурный паттерн. И для российских команд, которые строят свои LLM‑сервисы и вкладываются в инфраструктуру, это один из самых выгодных и технологичных способов приручить прожорливую нейросеть, не жертвуя качеством.