Назад в блог

Оптимизация расходовРазбор

Как рассчитать расходы AI-агента

Почему в счёте агента почти всё — входные токены, формула для расчёта до запуска, разобранный пример на 30 шагов и семь способов сократить расходы.

Автор: CheapTokens TeamОпубликовано Обновлено 3 мин чтения

График роста входных токенов по шагам сессии агента рядом с формулой стоимости
Содержание
  1. Формула
  2. Почему у агентов почти всё — вход
  3. Разберём пример
  4. Расчёт в коде
  5. Измеряйте, а не угадывайте
  6. Семь способов сократить расходы

AI-агент делает не один запрос, а десятки, и на каждом шаге заново отправляет растущий диалог. Поэтому в счёте агента почти всё — входные токены, а привычная по чатам интуиция «цена за ответ» здесь не работает. Разберём, как оценить стоимость до запуска агента и куда на самом деле уходят деньги.

Формула#

Стоимость одного запроса — это входные токены, умноженные на цену входа, плюс выходные токены, умноженные на цену выхода. Цены указываются за миллион токенов:

text
request_cost = input_tokens / 1,000,000 × input_price
             + output_tokens / 1,000,000 × output_price

Стоимость задачи — сумма по всем запросам, которые агент сделал, пока её решал.

Почему у агентов почти всё — вход#

На каждом шаге агент отправляет модели:

  • системный промпт и описания инструментов;
  • всю историю на этот момент — прошлые сообщения, предыдущие ответы модели и результаты инструментов (содержимое файлов, вывод команд, результаты поиска);
  • новую инструкцию.

Модель обычно отвечает коротким сообщением или вызовом инструмента. Затем результат инструмента добавляется в историю, и следующий шаг снова отправляет всё. Вход каждого шага растёт, а выход остаётся небольшим.

Разберём пример#

Условия (допущения — подставьте цифры своего агента):

  • системный промпт и описания инструментов: 6 000 токенов;
  • каждый шаг добавляет в историю 1 500 токенов результатов инструментов и 500 токенов ответа модели;
  • задача занимает 30 шагов;
  • модель: DeepSeek-V4-Flash — $0.0221 за 1M входных токенов и $0.10 за 1M выходных (текущие цены).

Вход шага n — 6 000 + (n − 1) × 2 000 токенов. За 30 шагов:

  • весь вход: 30 × 6 000 + 2 000 × (0 + 1 + … + 29) = 180 000 + 870 000 = 1 050 000 токенов;
  • весь выход: 30 × 500 = 15 000 токенов;
  • стоимость: 1,05 × $0.0221 + 0,015 × $0.10 ≈ $0.0247 за задачу.

На вход приходится 98,6% токенов и почти вся стоимость. Насколько вход преобладает, зависит от сценария: длинные ответы, генерация файлов и рассуждающие модели увеличивают долю выхода, а сокращённая история и короткий вывод инструментов уменьшают долю входа.

Та же задача на всех моделях по текущим ценам и, для сравнения, по справочным ценам OpenRouter:

Модель Стоимость OpenRouter
GLM-5.3-Flash $0.0296 $0.0534
DeepSeek-V4-Flash $0.0247 $0.0264
MiniMax-M2.7 $0.0548 $0.333

1 050 000 входных и 15 000 выходных токенов всего. Цены за 1M токенов актуальны и меняются вместе с нашими тарифами; столбец OpenRouter показывает справочные цены для той же нагрузки.

Расчёт в коде#

Тот же расчёт в виде функции — меняйте допущения и цены:

python
def estimate(steps, base_tokens, tool_tokens, out_tokens, price_in, price_out):
    """Токены и стоимость одной задачи агента. Цены — $ за 1M токенов."""
    grow = tool_tokens + out_tokens            # сколько каждый шаг добавляет в историю
    total_in = steps * base_tokens + grow * steps * (steps - 1) // 2
    total_out = steps * out_tokens
    cost = (total_in * price_in + total_out * price_out) / 1_000_000
    return total_in, total_out, round(cost, 5)

# примерные цены, $ за 1M токенов — подставьте текущие из таблицы цен ниже
print(estimate(30, 6_000, 1_500, 500, price_in=0.10, price_out=0.40))
# (1050000, 15000, 0.111)

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

Измеряйте, а не угадывайте#

В каждом ответе есть usage.prompt_tokens (вход) и usage.completion_tokens (выход). Запишите их для каждого шага реальной задачи, умножьте на текущие тарифы — и получите фактическую стоимость. В личном кабинете использование также видно по моделям и по дням.

Актуальные тарифы — те же данные, что на странице цен:

Модель Контекст Вход $/1M Выход $/1M OpenRouter вход OpenRouter выход
GLM-5.3-Flash reasoning 390K $0.027 $0.08 $0.048 $0.20
DeepSeek-V4-Flash 380K $0.0221 $0.10 $0.016 $0.64
MiniMax-M2.7 200K $0.05 $0.15 $0.30 $1.20

Цены в USD за 1 млн токенов. Данные OpenRouter приведены для сравнения и могут меняться.

Семь способов сократить расходы#

  1. Начинайте новую задачу для несвязанной работы. Новая сессия не тащит за собой историю предыдущей.
  2. Давайте агенту фрагменты, а не файлы целиком. Функцию и места её вызова вместо модуля на 3000 строк.
  3. Сокращайте вывод инструментов. Длинные логи и вывод команд остаются в истории до конца сессии — ограничивайте их, например через | tail -n 50.
  4. Сжимайте длинные сессии. Многие агенты умеют сокращать историю — пользуйтесь этим до того, как контекст станет длинным.
  5. Ограничивайте длину ответа через max_tokens, где длинный ответ не нужен.
  6. Подбирайте модель под шаг. Рутинным шагам не нужна рассуждающая модель.
  7. Держите предоплаченный бюджет. Баланс предоплаченный: когда он заканчивается, запросы останавливаются с HTTP 402, а не копят неограниченный счёт.

Сравнить, сколько та же нагрузка стоит на разных моделях и на OpenRouter, можно в блоке сравнения расходов на главной странице.