Стоимость LLM-приложения складывается не из одной цены за токен, а из размера модели, длины контекста, KV-кэша и того, hosted это API или self-hosted с GPU-часами и утилизацией. Самая недооценённая статья — длинные промпты и RAG-контекст, которые тихо умножают входные токены на каждый запрос.
Управляют этим тремя рычагами: маршрутизацией между моделями (каскад дешёвая→дорогая, классификатор сложности, роутер под задачу), кэшированием (точный, семантический по эмбеддингу, prompt caching провайдера) и сокращением токенов (сжатие промпта, обрезка контекста, ограничение вывода). Каждый рычаг — это балансировка треугольника качество ↔ стоимость ↔ задержка.
Сверху всё это собирает LLM-шлюз: единая точка маршрутизации, учёт стоимости по запросу и арендатору, фолбэки и сквозная наблюдаемость затрат. Без измерения стоимости за решённую задачу любая экономия остаётся гипотезой, а дорогая модель по умолчанию и кэш без инвалидации — самые частые способы переплатить.
Практическая польза главы
Из чего складывается счёт
Токены входа и выхода (выход дороже), размер модели, длина контекста и KV-кэш, hosted API против self-hosted с GPU-часами и утилизацией. Скрытая статья — длинные промпты и RAG-контекст, умножающие входные токены на каждый запрос.
Маршрутизация моделей
Каскад дешёвая→дорогая по уверенности (FrugalGPT, Chen, Zaharia, Zou, 2023), классификатор сложности и роутер под задачу. Любой выбор — компромисс качество ↔ стоимость ↔ задержка: сдвиг к одной вершине оплачивается в двух других.
Кэш и сокращение токенов
Точный кэш ответов, семантический по эмбеддингу в векторной базе и prompt caching провайдера (у Anthropic чтение ~0.1x входного токена). Плюс сжатие промптов, обрезка контекста и жёсткий лимит вывода. Главный риск — устаревание без инвалидации.
LLM-шлюз и контроль
Единая точка маршрутизации, учёт стоимости по запросу и арендатору, фолбэки и cost-based-стратегии (LiteLLM), сквозная наблюдаемость затрат. Дешёвые задачи уводят в батч и async; квоты ставятся не только по запросам, но и по расходу.
Связанная глава
Оптимизация инференса LLM
Там — внутренности движка и себестоимость токена; здесь — экономика приложения поверх неё.
Эта глава — про экономику приложений на : из чего складывается и как маршрутизировать запросы между моделями. Она намеренно не дублирует три соседние темы. Внутренности движка — KV-кэш, батчинг, квантизация — разбираются в главе «Оптимизация инференса LLM». Сборка контекста и качество ответа — в «Архитектуре RAG-системы». Широкая картина инженерии приложений на — в «AI Engineering: обзор». Здесь вопрос только один: как удержать нужное качество в рамках бюджета — и по деньгам, и по задержке.
Большинство продуктов на проигрывают не по качеству, а по : дорогая модель стоит по умолчанию на всём трафике, кэша нет или он без инвалидации, а стоимость не считают по запросу. Дальше — из чего реально складывается счёт и какими рычагами им управлять.
Из чего складывается стоимость
Токены входа и выхода
Провайдеры тарифицируют отдельно входные и выходные , и выходные обычно стоят в несколько раз дороже. Длинный системный промпт умножается на каждый запрос, а многословный ответ напрямую бьёт по самой дорогой статье счёта.
Размер модели и контекст
Большая модель считает каждый токен дороже, а длинный контекст растит вычисления квадратично по вниманию, а память — линейно по KV-кэшу. То, как этот кэш устроен внутри движка, разбирается в соседней главе про оптимизацию инференса.
Hosted API против self-hosted
Hosted-тариф — это простая цена за токен без капитальных затрат. Self-hosted переводит счёт в GPU-часы, и тогда решает и утилизация: пустующий ускоритель стоит столько же, сколько загруженный.
Скрытая статья почти всегда одна и та же — длинные промпты и контекст из : они тихо умножают входные токены на каждый запрос, и именно их легче всего недооценить при оценке стоимости.
Каскад и маршрутизация: как это выглядит
Диаграмма показывает каскадный маршрут: лёгкий классификатор сложности направляет простые запросы на дешёвую модель, а сложные либо неуверенные ответы эскалируются на дорогую. Семантический кэш снимает часть трафика ещё до модели.
Метрики экономики
$ / 1K tok
Стоимость за 1K токенов
Базовая единица тарифа провайдера. Удобна для сравнения моделей, но ничего не говорит о том, сколько токенов реально тратит ваш сценарий.
$ / request
Стоимость за запрос
Учитывает реальную длину промпта, -контекста и ответа. Именно здесь всплывает скрытая стоимость длинных и раздутого контекста.
$ / task
Стоимость за решённую задачу
Метрика, которую видит бизнес: сколько стоит довести запрос до полезного результата с учётом повторов, и переключений между моделями.
$ / quality
Стоимость качества
Разница в цене между дорогой и дешёвой моделью на единицу прироста качества. Часто дорогая модель оправдана лишь на узком классе сложных запросов.
Маршрутизация моделей
Каскад моделей
Сначала отвечает дешёвая модель; при низкой уверенности или провале проверки запрос эскалируется к более дорогой. Подход формализован в работе FrugalGPT (Chen, Zaharia, Zou, 2023), где -каскад заявлен как способ удешевить инференс при сохранении качества.
Классификатор сложности
Лёгкий классификатор или эвристика заранее оценивает запрос и направляет простые случаи на дешёвую модель, а сложные — сразу на сильную, без лишней эскалации.
Маршрутизатор под задачу
Разные модели под разные задачи: компактная для классификации и извлечения, сильная для рассуждений и генерации. Здесь же выбирают компромисс между качеством, и стоимостью.
Любая маршрутизация — это балансировка треугольника «качество ↔ стоимость ↔ задержка»: каждый сдвиг в одну вершину оплачивается в двух других.
Кэширование
Точный кэш ответов
Совпадение по нормализованному запросу отдаёт готовый ответ без обращения к модели. Дёшево и быстро, но требует дисциплины с ключами кэша и аккуратной при изменении данных.
Семантический кэш
Похожие по смыслу запросы находятся через в . Это повышает долю попаданий, но добавляет риск отдать ответ на не совсем тот вопрос — порог сходства приходится калибровать.
Prompt caching провайдера
Переиспользование KV-состояния общего префикса промпта на стороне провайдера. У Anthropic явно тарифицируются запись и чтение кэша; у OpenAI кэширование включается автоматически для подходящих длинных префиксов и снижает стоимость входных токенов по текущим правилам платформы.
Главный риск всех слоёв — устаревание: кэш без понятных правил инвалидации экономит деньги ровно до момента, когда начинает молча отдавать неверные ответы.
Source note: provider-side prompt caching and token pricing are policy knobs, not protocol guarantees. Перед расчётом экономики сверяйте текущие страницы Anthropic/OpenAI; здесь важен архитектурный паттерн «стабильный префикс → eligible cache hit», а не фиксированный процент скидки.
Сокращение токенов
- Сжатие промптов: убрать повторы и воду в системной части, вынести стабильные инструкции в кэшируемый префикс.
- Обрезка контекста: отдавать модели только релевантные фрагменты после , а не весь найденный материал целиком.
- Ограничение вывода: жёсткий max_tokens и структурированный (например, JSON) ответ режут самую дорогую, выходную часть счёта.
- Контроль стоимости : каждый добавленный в контекст документ — это входные токены на каждый запрос, поэтому число и длина фрагментов из нужно бюджетировать так же строго, как и саму модель.
Батчинг, асинхронная обработка и квоты
- Дешёвые и нечувствительные к задержке задачи (разметка, обогащение, оффлайн-аналитика) уводят в и асинхронный режим, где провайдеры дают сниженный тариф.
- Квоты и задаются не только по числу запросов, но и по стоимости: лимит расхода на арендатора защищает от внезапного счёта из-за петель или абьюза.
- Очередь с приоритетами разводит интерактивный трафик и фоновые задачи, чтобы дешёвая массовая обработка не вытесняла платящего пользователя.
Шлюз больших языковых моделей (LLM): единая точка контроля
Единая точка маршрутизации
Шлюз перед провайдерами выбирает модель по правилам каскада и задачи, скрывая различия провайдерских API за одним контрактом — по сути расширение идеи на -трафик.
Учёт стоимости и фолбэки
Шлюз считает токены и деньги по каждому вызову, применяет бюджеты и переключается на резервную модель или провайдера при ошибке либо тайм-ауте. В LiteLLM это маршрутизация с cost-based-стратегией, cooldown и .
Наблюдаемость затрат
Сквозная по стоимости, токенам и доле кэша на уровне маршрута и арендатора превращает счёт за из непрозрачной строки в управляемую метрику.
Ключевые компромиссы
- Дешёвая модель экономит деньги, но повышает долю эскалаций; каскад экономит на среднем запросе ценой роста задержки на сложных.
- Агрессивный кэш режет счёт, но повышает риск устаревшего ответа; семантический кэш расширяет попадания ценой риска подмены вопроса.
- Богатый контекст из извлечённых документов (RAG) улучшает ответы, но линейно растит входные токены на каждый запрос — качество здесь напрямую конвертируется в деньги.
- Self-hosting окупается только при стабильно высокой утилизации GPU; на неровном трафике hosted-API почти всегда дешевле и проще.
Частые ошибки
Рекомендации
Маршрутизация, кэш и контроль токенов работают только вместе и только с измерением: без учёта стоимости за решённую задачу любая «экономия» остаётся гипотезой.
Источники и материалы
Связанные главы
- Оптимизация инференса LLM - Внутренности движка инференса: KV-кэш, батчинг и квантизация, которые определяют себестоимость токена на self-hosted-контуре.
- Архитектура RAG-системы - Извлечение и сборка контекста определяют качество ответа — и тем же движением растят входные токены, а значит и стоимость каждого запроса.
- AI Engineering: обзор - Широкий контекст инженерии приложений на больших языковых моделях (LLM), в который встраиваются маршрутизация моделей и контроль затрат.
- Архитектура сервинга и инференса - Контур выполнения вывода, очереди и режимы деградации, поверх которых живут маршрутизация и экономика запросов.
