System Design Space
Граф знанийНастройки

Обновлено: 21 июня 2026 г. в 20:57

Стоимость и маршрутизация LLM

средний

Экономика LLM-приложений: из чего складывается стоимость (токены, размер модели, контекст, KV-кэш, hosted против self-hosted) и как маршрутизировать запросы между моделями — каскады, кэширование, сокращение токенов и LLM-шлюз.

Стоимость 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 почти всегда дешевле и проще.

Частые ошибки

Ставить самую дорогую модель по умолчанию на весь трафик, не разделяя простые и сложные запросы.
Включать кэш без стратегии инвалидации — и тихо отдавать устаревшие ответы после изменения данных или промпта.
Не вести учёт стоимости по запросу и арендатору, обнаруживая перерасход только постфактум в счёте провайдера.
Оптимизировать длину промпта, но не ограничивать вывод, хотя именно выходные токены — самая дорогая статья.

Рекомендации

Измеряйте стоимость за решённую задачу, а не только за 1K токенов: только так видно реальную цену качества.
Начинайте с дешёвой модели и эскалируйте по уверенности или провалу проверки, а не наоборот.
Стройте кэширование слоями (точный → семантический → prompt caching провайдера) с явными правилами инвалидации.
Заведите шлюз больших языковых моделей (LLM) с учётом стоимости, бюджетами по арендатору, фолбэками и сквозной наблюдаемостью затрат.

Маршрутизация, кэш и контроль токенов работают только вместе и только с измерением: без учёта стоимости за решённую задачу любая «экономия» остаётся гипотезой.

Связанные главы

  • Оптимизация инференса LLM - Внутренности движка инференса: KV-кэш, батчинг и квантизация, которые определяют себестоимость токена на self-hosted-контуре.
  • Архитектура RAG-системы - Извлечение и сборка контекста определяют качество ответа — и тем же движением растят входные токены, а значит и стоимость каждого запроса.
  • AI Engineering: обзор - Широкий контекст инженерии приложений на больших языковых моделях (LLM), в который встраиваются маршрутизация моделей и контроль затрат.
  • Архитектура сервинга и инференса - Контур выполнения вывода, очереди и режимы деградации, поверх которых живут маршрутизация и экономика запросов.

Чтобы отмечать прохождение, включи трекинг в Настройки