Разработчик мобильного приложения снизил стоимость API LLM с четырёхкратной первоначальной оценки примерно до четверти этой суммы, устранив две основные неэффективности: наивную повторную отправку полной истории и избыточное внедрение контекста RAG.
- Наивная повторная отправка истории разговора приводила к росту количества токенов по закону O(n²), поскольку каждый ход отправлял полный список предыдущих сообщений, что усугубляется тем, что мобильные приложения восстанавливают состояние из локальных кэшей.
- Контекст RAG заново извлекался и внедрялся при каждом ходе независимо от стабильности темы, что приводило к повторной оплате за одни и те же фрагменты базы знаний.
- Кэширование промптов структурировало системный промпт и контекст RAG как стабильный префикс, обеспечивая снижение стоимости ввода для закэшированных частей на 90%.
- История разговора за пределами заданного окна суммируется меньшей моделью, чтобы предотвратить квадратичный рост затрат при сохранении непрерывности потока.
- Лёгкий классификатор обнаруживает сдвиги темы для управления извлечением RAG, предотвращая избыточное получение фрагментов во время непрерывных разговоров.
- Маршрутизация моделей направляет простые ходы на более дешёвые модели, оставляя крупные модели для сложных задач рассуждения.
Эти адаптации учитывают специфические ограничения жизненного цикла мобильных приложений, такие как перевод в фоновый режим и восстановление состояния, которые часто упускаются из виду в стандартных руководствах по оптимизации на стороне сервера.