Экономия на длинных разговорах
Поставщик модели держит кэш переписки около часа: пока он жив, продолжение диалога стоит примерно десятую часть. Система удерживает кэш выбранных сессий.
Длинный рабочий диалог с агентом стоит денег не потому, что вы много пишете, а потому что при каждом сообщении модели заново отправляется вся предыдущая переписка.
Откуда берётся экономия
Поставщик модели кэширует уже отправленное и держит запись около часа. Пока кэш жив, повторная отправка всей истории стоит примерно десятую часть обычной цены. Как только запись истекла, следующее сообщение переписывает весь контекст заново — по полной.
На практике это выглядит так: сотрудник поработал, ушёл на обед, вернулся через два часа — и первое же сообщение после перерыва стоит как весь разговор до него.
Что делает система
Функция «Держать сессию тёплой» точечно удерживает кэш только у тех сессий, которые вы отметили. Это не фоновая молотилка:
- ограничение на число одновременно «тёплых» сессий;
- ограничение на срок — сессия, которую забыли, сама остывает;
- тихие часы, когда греть не нужно вовсе (например, ночью).
Проверено замерами
Способ подогрева выбирался не по документации, а по живым замерам на настоящих сессиях: первый очевидный вариант кэш вообще не обновлял, зато платил полную цену. Работающий способ найден и закреплён замером.
Вторая половина той же задачи: кэш не должен обваливаться
Удерживать кэш бессмысленно, если он рушится сам. Запрос к модели склеивается в жёстком порядке и кэшируется по своему началу: изменился один байт в начале — заново записывается всё, что после него, включая всю накопленную переписку.
Разбор журналов за трое суток показал, во что это обходилось: из 208 возобновлений работы 137 сбрасывали кэш полностью, и 116 из них — при паузе меньше часа, когда кэш обязан был сработать. Впустую переписано 40 миллионов токенов. Один такой сброс большого разговора стоит как отдельный дорогой ход, и повторялся он десятки раз в день.
Виноваты были две вещи: строка с текущим временем в самом начале запроса, менявшаяся при каждом обращении, и сторож простоя, убивавший соединение через 10 минут — при том что кэш у поставщика живёт час. Пауза в полчаса означала, что кэш ещё тёплый, а процесс уже снят.
Что сделано:
- стартовый пакет собирается один раз на сессию и дальше отдаётся тем же самым текстом, байт в байт;
- срок жизни соединения поднят с 10 минут до часа — под срок жизни кэша;
- системный запрос записывается один раз на разговор и переиспользуется дословно, а машинно-зависимые части вынесены из него в первое сообщение, то есть в замороженную историю.
Свежесть данных при этом не теряется: всё, что зависит от вопроса, подаётся на каждый ход отдельно, а не через начало запроса.
Как включить
- Откройте настройки рабочего места и включите плагин «Держать сессию тёплой».
- Задайте, сколько сессий греть и как долго.
- Укажите тихие часы.
- Отметьте сессии, которые должны оставаться тёплыми.
Нужен такой агент в вашей компании?
Устанавливаем под ключ: настройка на компьютерах сотрудников, единый аккаунт, интеграция с 1С и внутренними системами, обучение команды. Подробнее о внедрении →