Cost per Token

cost per token — расчёт стоимости использования языковой модели

Раздел
Языковые модели
Обновлено
11.08.26

Cost per Token описывает тарификацию LLM API по объёму входа и выхода. К итоговой сумме могут добавляться кэш, инструменты, хранение и повторные вызовы. Конкретные ставки меняются, поэтому бюджет строят по текущему прайсу и реальному usage-логу.

Коротко

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

Базовая формула

Если ставки указаны за миллион токенов, стоимость одного вызова можно записать так:

input_tokens  × input_rate  / 1 000 000
+ output_tokens × output_rate / 1 000 000
+ cache_cost
+ tool_cost
+ storage_cost

Ставки input_rate и output_rate берутся из актуального прайса точной модели. Алиас модели, дата версии, регион и режим обработки могут влиять на цену.

Что входит во вход

Input — не только последняя фраза пользователя. В него могут попасть:

  • system и developer instructions;
  • история диалога;
  • документы из RAG;
  • описания инструментов и JSON-схемы;
  • результаты прежних вызовов;
  • служебные разделители и мультимодальные представления.

Поэтому короткий видимый вопрос иногда создаёт большой вход. Надёжный источник числа — поле usage в ответе API или журнал провайдера.

Почему выход считают отдельно

Генерация новых токенов и обработка готового контекста имеют разный вычислительный профиль. Провайдеры могут назначать для них разные ставки. Соотношение не является законом и меняется между моделями и режимами.

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

Кэш и пакетная обработка

Prompt caching позволяет повторно использовать вычисления для совпадающего префикса. Провайдер может отдельно считать запись в кэш, чтение и срок хранения. Экономия появляется только при фактическом попадании в кэш.

Пакетные и отложенные режимы иногда имеют другой прайс и время выполнения. Это удобно для несрочных задач, но условия не стоит фиксировать в статье: они принадлежат конкретному API.

Инструменты и другие модальности

Поиск, выполнение кода, работа с файлами, изображения и аудио могут тарифицироваться:

  • за вызов;
  • по объёму обработанных данных;
  • как дополнительные токены;
  • как отдельное вычислительное время.

Фраза «инструмент встроен» не означает, что он бесплатен. Формулу проверяют в документации провайдера и подтверждают по usage.

Наглядный пример

Редакция генерирует описания для карточек. Два кандидата показывают похожую цену токена, но ведут себя по-разному:

  • модель A чаще выдаёт готовый текст с первой попытки;
  • модель B дешевле за вызов, но требует длинной инструкции и повторной редакции.

В лог записывают вход, выход, кэш, инструменты, число попыток и результат проверки редактором. После этого считают:

стоимость принятых результатов / число принятых результатов

Такая метрика учитывает качество и переживает смену прайса лучше рекламного сравнения.

Как оценить месячный бюджет

Для каждой категории запроса берут реальное распределение, а не один «средний» пример:

  1. Собирают небольшой набор типичных, коротких и тяжёлых запросов.
  2. Запускают его через точную модель и сохраняют usage.
  3. Добавляют повторы, ошибки, кэш и инструменты.
  4. Умножают на ожидаемый объём.
  5. Закладывают резерв на пики и изменение поведения пользователей.

Отдельно полезно поставить технический лимит расходов и уведомление, чтобы ошибка цикла не превратилась в неожиданный счёт.

Токен не равен слову

Разные модели используют разные токенизаторы. Один русский текст может разбиться на разное число токенов, а служебные сообщения добавят собственный объём. Универсального коэффициента «слов на токен» нет.

Для предварительной оценки нужен токенизатор конкретной модели. Для финансового отчёта — фактический usage от API.

Облако и локальный запуск

При self-hosted запуске нет тарифа провайдера за токен, но остаются:

  • аренда или амортизация ускорителя;
  • электричество и охлаждение;
  • время простоя;
  • работа инженеров;
  • хранение, сеть и наблюдаемость;
  • запас мощности для пиков.

Сравнение проводят по полной стоимости на одинаковой нагрузке и одинаковом качестве. Универсального порога запросов, после которого локальный сервер выгоднее, не существует.

Как снижать расходы

  • Убирать повторяющийся и нерелевантный контекст.
  • Кэшировать стабильный префикс там, где это поддерживается.
  • Ограничивать бесконечные агентские циклы.
  • Использовать меньшую модель только после проверки качества.
  • Сжимать документы до релевантных фрагментов.
  • Не пересылать один и тот же результат инструмента без необходимости.
  • Маршрутизировать запросы по сложности и измерять ошибки маршрутизатора.
  • Настраивать разумный предел выхода и обработку обрыва.

Экономия, которая повышает число повторов или ручных исправлений, может оказаться мнимой.

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

  • Сравнивать только input rate. Выход и инструменты способны изменить итог.
  • Считать один запрос одной операцией. Агент может сделать несколько вызовов.
  • Использовать среднюю длину без распределения. Редкие длинные запросы заметно влияют на счёт.
  • Забывать служебный контекст. Схемы инструментов и история тоже тарифицируются.
  • Переносить коэффициент между языками и моделями. Токенизация различается.
  • Считать дорогую модель лучшей. Цена не измеряет качество конкретной задачи.

Частые вопросы

Где брать ставки?

В официальном прайсе провайдера для точного идентификатора модели и режима. Сравнительные таблицы удобны для поиска кандидатов, но не для финального расчёта.

Можно ли посчитать запрос заранее?

Примерно — токенизатором совместимой модели. Точное число зависит от служебной упаковки API, инструментов и фактического ответа.

Как учитывать ошибки?

Так же, как успешные вызовы: они расходуют токены и время. В бюджете нужна доля ретраев, тайм-аутов и ответов, которые не прошли проверку.

Как сравнить две модели?

Запустить один набор задач с одинаковыми критериями, а затем сравнить качество, задержку и стоимость принятого результата.

Главное

Cost per Token — исходная единица расчёта, а не полный бюджет продукта. Итог складывается из входа, выхода, кэша, инструментов, повторов и качества. Точные ставки быстро меняются; воспроизводимыми остаются формула, usage-лог и проверка на реальной нагрузке.