LLM API и интеграция
Сколько стоит ИИ-агент в месяц: как посчитать
Самая частая ошибка при оценке бюджета на ИИ-агента — считать его как чат: количество запросов умножить на среднюю стоимость запроса. Реальный счёт оказывается больше в разы, и причина не в том, что модель дороже, чем думали. Причина в трёх множителях, которых у чата просто нет: агент делает несколько обращений на одну задачу, при каждом переотправляет всю накопленную историю, и часть его токенов вы не видите, потому что это внутренние рассуждения. Разбираем, как эти множители складываются, как прикинуть расход заранее и на чём в этой конструкции реально можно сэкономить.
Три множителя
Разложим по порядку появления в расчёте.
Шаги. Агент редко решает задачу одним обращением. Он думает, вызывает инструмент, смотрит результат, думает снова. Простая задача — три-пять обращений, сложная — двадцать и больше. Это первый множитель, и его обычно помнят.
История. Вот здесь начинается неприятное. При каждом следующем обращении агент отправляет модели всё, что было раньше: исходную задачу, свои прошлые размышления, результаты вызванных инструментов. Второй шаг везёт содержимое первого, третий — первых двух.
Невидимые токены. Модели с рассуждением тратят выходные токены на внутренний ход мысли до того, как выдать ответ. Вы их не видите, но платите за них.
Первый множитель линейный. Второй — квадратичный. Именно он и ломает интуитивные оценки.
Почему история растёт квадратично
Стоит показать на числах, потому что словами это звучит абстрактнее, чем есть.
Пусть каждый шаг агента добавляет к истории условные 500 токенов, а задача занимает 10 шагов.
На первом шаге модель получает 500 токенов. На втором — 1000. На третьем — 1500. На десятом — 5000.
Суммарно за задачу через модель проходит не 5000 входных токенов, как можно было бы подумать по финальному размеру контекста, а сумма всех шагов: 500 + 1000 + ... + 5000 = 27 500. В пять с половиной раз больше.
Увеличим число шагов вдвое, до двадцати. Финальный контекст вырастет вдвое, до 10 000. А суммарный расход — до 105 000, то есть почти вчетверо.
Отсюда правило, которое стоит держать в голове при проектировании: удвоение числа шагов учетверяет расход на историю. Не удваивает.
Как прикинуть бюджет
Практическая часть. Хорошая новость в том, что считать вручную ничего не надо.
- Возьмите десяток типичных задач. Не самых сложных и не самых простых — типичных.
- Прогоните их и запишите фактический расход токенов. Вход и выход раздельно.
- Посчитайте средний расход на задачу. Разброс между самой дешёвой и самой дорогой задачей обычно оказывается кратным — это нормально и полезно знать.
- Умножьте на ожидаемое число задач в месяц.
- Добавьте запас на неудачные попытки. Агент иногда уходит не туда и начинает заново; в реальной эксплуатации это заметная доля.
Считать по ставке той модели, которую вы реально зовёте. В каталоге разброс от 3 ₽ за миллион токенов у GLM до 180 ₽ у Fable 5 — шестидесятикратный. Ошибка в выборе модели для расчёта перекрывает все остальные погрешности вместе взятые.
На чём экономить, а на чём нет
Здесь много контринтуитивного, поэтому по пунктам.
Работает: обрезка истории. Самый действенный рычаг именно из-за квадратичного роста. Держать в контексте последние несколько шагов плюс исходную задачу вместо всей цепочки — и расход падает не пропорционально, а сильнее.
Работает: разные модели на разных шагах. Не каждый шаг требует флагмана. Разобрать ответ инструмента и решить, что делать дальше, — задача, с которой справится модель за 3–6 ₽. Оставьте дорогую там, где действительно нужны рассуждения.
Работает: жёсткий предел числа шагов. Не только ради денег: агент, который зациклился, без предела будет крутиться, пока не кончится баланс.
Почти не работает: сокращение системного промпта. Он повторяется в каждом обращении, и это ощутимо — но на фоне растущей истории его доля быстро становится незначительной.
Не работает: надежда на кэш промптов. В нашем каталоге prompt_cache помечен unsupported у всех 36 текстовых моделей. У провайдеров, где кэш есть, он даёт скидку на повторяющуюся часть входа — но именно на неизменную, а история как раз меняется каждый шаг.
Что ещё попадает в счёт
Три статьи расхода, которые в первоначальной оценке обычно отсутствуют.
Повторы после сбоев. Отказ по нагрузке, неудачный вызов инструмента, некорректный ответ модели — всё это приводит к повторным обращениям. Часть отказов бесплатна, часть нет; разбор в материале про отказы маршрута.
Служебный контекст маршрута. В prompt_tokens попадает больше, чем вы отправили. Величина различается между семействами на порядок — подробности отдельно.
Инструменты, исполняемые на стороне модели. Новая статья: серверный веб-поиск тарифицируется отдельно от токенов, за число поисков. Разбирали это на днях в материале про серверный веб-поиск.
Где расход прячется от учёта
Отдельная беда при оценке — не сам расход, а то, что его не видно в привычных местах. Четыре ситуации, в которых счётчик врёт.
Считается число запросов, а не токены. Самый частый случай. Панель показывает «1200 обращений за месяц», и из этого делается вывод о нагрузке. Но обращение на первом шаге и обращение на двадцатом отличаются по стоимости в разы, а в счётчике они одинаковые единицы.
Вход и выход складываются в одну сумму. Пока ставка симметрична, это не влияет на итог. Но стоит появиться модели с разной ценой входа и выхода — и учёт начинает врать. Мы разбирали такой случай на единственной асимметричной позиции каталога.
Неудачные попытки не учитываются. Агент ушёл не туда, задача перезапущена — в бизнес-метрике это одна выполненная задача, а в расходах две. Отношение между ними стоит мерить отдельно: оно показывает, насколько стабильно работает ваш агент.
Расход не привязан к задаче. Если в логах есть общий расход за день, но нет разбивки по задачам, найти дорогие сценарии невозможно. А они всегда есть: типичное распределение — небольшая доля задач съедает большую часть бюджета.
Минимальный набор, который стоит логировать: идентификатор задачи, номер шага, модель, входные и выходные токены раздельно, признак повторной попытки. Пять полей, которые превращают счёт из загадки в таблицу.
Пример расчёта до конца
Соберём всё вместе на сквозном примере, чтобы был ориентир.
Пусть агент решает задачу за 8 шагов, каждый шаг добавляет к истории 400 токенов, а генерирует модель по 200 токенов на шаг.
Вход. Суммарно по всем шагам: 400 + 800 + ... + 3200 = 14 400 токенов. Выход. 8 шагов по 200 = 1600 токенов.
На модели за 20 ₽ за миллион в обе стороны получаем: (14 400 + 1600) × 20 / 1 000 000 = 0,32 ₽ за задачу.
Тысяча задач в месяц — 320 ₽. Добавим 20% на неудачные попытки — около 384 ₽.
А теперь то же самое на модели за 6 ₽: 0,10 ₽ за задачу, около 115 ₽ в месяц. Разница втрое при том, что для многих шагов разницы в качестве не будет вовсе.
Та же задача по остальным позициям каталога: 16 000 токенов на задачу, тысяча задач в месяц, запас 20% на неудачные попытки.
| Модель | ₽ за миллион | ₽ за задачу | ₽ за 1000 задач с запасом |
|---|---|---|---|
qwen-3-6-flash | 3 | 0,05 | 58 |
gemini-3-flash | 6 | 0,10 | 115 |
haiku-4-5 | 8 | 0,13 | 154 |
sonnet-4-6 | 12 | 0,19 | 230 |
grok-4-5 | 20 | 0,32 | 384 |
opus-5 | 30 | 0,48 | 576 |
Именно поэтому разведение шагов по моделям разной стоимости стоит в списке экономии на втором месте: оно даёт кратный эффект без ухудшения там, где ухудшения не происходит.
Чего мы не утверждаем
Числа в примере — иллюстрация механики, а не замер. Ваш агент добавляет к истории своё количество токенов на шаг, и оно может отличаться в разы.
Не утверждаем, что агент всегда дороже чата. Он дороже на задачу, но задача может стоить того: агент делает то, что чат не делает вовсе.
Не даём универсальной цифры расхода. Она зависит от задачи, от модели и от того, насколько аккуратно построена работа с историей.
Ставки актуальны на дату публикации. Каталог меняется, и текущие значения всегда в GET /v1/models.
Что держать в голове
Расход агента определяется не числом запросов, а квадратично растущей историей. Удвоение числа шагов учетверяет расход на историю — это главное, что стоит унести из статьи.
Порядок оптимизации от самого действенного: обрезать историю, развести шаги по моделям разной стоимости, поставить предел на число шагов. Работа над системным промптом — в последнюю очередь.
Как мы проверяем цифры и почему у каждой стоит дата — на странице о проекте. Отдельный ключ с собственным лимитом под каждого агента заводится за минуту: keydealer.ru/login.
Частые вопросы
Почему агент дороже обычного чата?
Потому что на одну задачу приходится несколько обращений к модели, а история диалога переотправляется целиком при каждом. Расход растёт быстрее числа шагов.
Что такое квадратичный рост расхода?
При каждом шаге агент отправляет всю накопленную историю. Второй шаг везёт первый, третий — первые два, и так далее. Суммарный объём растёт примерно как квадрат числа шагов.
Как оценить бюджет заранее?
Прогнать десяток типичных задач, посмотреть фактический расход токенов и умножить на ожидаемое число задач в месяц. Оценка по числу запросов без учёта истории занижает счёт в разы.
На чём реально можно сэкономить?
На длине истории, на выборе более дешёвой модели для простых шагов и на ограничении числа шагов. Оптимизация системного промпта даёт меньше, чем кажется.
Какие ставки в каталоге KeyDealer?
Разброс в каталоге шестидесятикратный: от 3 ₽ за миллион токенов у GLM до 180 ₽ у Fable 5. Ставки подставляются из живой выдачи при сборке страницы, поэтому не устаревают вместе с текстом.