Сколько на самом деле стоит вызов модели
Цена за миллион токенов — наименее информативное число в счёте. Разбираю, из чего складывается стоимость задачи: многословность, разреженная активация, кеш, кадры и язык. С измерениями.
Сравнение обычно выглядит так: открыли две страницы с прайсами, у одной модели вход дешевле в полтора раза, взяли её. Через месяц счёт оказывается выше, чем был на «дорогой».
Ошибка не в арифметике. Ошибка в том, что цена за миллион токенов — это цена за сырьё, а платите вы за работу. Между ними стоит множитель, который на прайсе не написан.
Сначала о разбросе
Чтобы дальше было с чем сравнивать — цены на 3 сентября 2026 года, за миллион токенов, вход и выход:
| Модель | Вход | Выход |
|---|---|---|
| Claude Fable 5 | $10 | $50 |
| GPT-5.6 Sol | $5 | $30 |
| Claude Opus 5 | $5 | $25 |
| Claude Sonnet 5 | $2 | $10 |
| GLM-5.3 (max) | $1.40 | $4.40 |
| Gemini 3.7 Flash | $0.75 | $3.75 |
| GPT-5.6 Luna | $0.20 | $1.20 |
| Qwen3.7 Flash | $0.03 | $0.13 |
Разброс по входу — примерно триста тридцать раз, по выходу — под четыреста. Это первое, что стоит удержать: рынок не является непрерывной шкалой «дешевле — хуже». Между крайними точками умещается несколько принципиально разных предложений, и разница между ними не в качестве, а в том, за что вы платите.
Таблица устареет. Я ставлю дату прямо в текст не для порядка, а потому что за прошедший год цены двигались вниз рывками — одно снижение переставило целую строку. Проверяйте перед решением; всё остальное в этой записи устареет медленнее.
Активные параметры не определяют цену
Здесь живёт самое стойкое заблуждение, и оно выглядит логичным.
Современные большие модели устроены как смесь экспертов: параметров у модели много, но на каждый токен работает лишь часть. У GLM-5.3 (max) 753 миллиарда параметров всего и 40 миллиардов активных — каждый слой держит 256 экспертов и направляет токен через восемь из них.
Отсюда напрашивается вывод: считается только сороковая часть, значит и стоить должно как модель на сорок миллиардов. Вывод неверен.
Разреженная активация снижает себестоимость вычисления — сколько операций и памяти уходит на токен у того, кто модель обслуживает. Цена для вас складывается иначе: из позиционирования, из спроса, из того, сколько провайдер готов субсидировать ради доли рынка, и из того, сколько у него свободных ускорителей на этой неделе. Это две разные величины, и между ними нет связи, на которую можно опереться при выборе.
Проверяется это прямо на GLM-5.3. Независимый замер ставит её на 37-е место из 111 по стоимости и прямо называет дорогой в сравнении с открытыми моделями сопоставимого размера. Разреженность есть, дешевизны нет.
Многословность — множитель, которого нет на прайсе
Дальше самое интересное, и это уже не архитектура, а поведение.
При прогоне одного и того же набора задач GLM-5.3 выпустила 170 миллионов выходных токенов при медиане в 110 миллионов. То есть на ту же работу — в полтора раза больше выхода. Полный прогон обошёлся в $1238.50.
Умножьте: цена выхода $4.40 за миллион выглядит умеренно рядом с $25 у Opus 5, но если одна модель на ту же задачу пишет в полтора раза больше другой, реальное отношение сдвигается — и сдвигается в сторону, которую вы на прайсе не увидите.
Сюда же относятся рассуждающие токены. Модель, которая «думает» перед ответом, оплачивает эти размышления по цене выхода, даже если пользователю они не показываются. В методике замеров, на которую я ссылаюсь, они считаются отдельной статьёй наравне с ответом — и это правильно, потому что в счёте они именно так и выглядят.
Выход дороже входа — и это ваш главный рычаг
Во всей таблице выше выход стоит в четыре-пять раз дороже входа. Это не случайность и не сговор: генерация последовательна, каждый токен требует своего прохода, тогда как вход обрабатывается разом.
Практический вывод сильнее, чем кажется. Из двух правок — «сократить системный промпт вдвое» и «запретить модели писать вводный абзац и заключение» — вторая обычно экономит больше, хотя выглядит косметической.
Кеш префикса — самый большой множитель, который вы контролируете
У GLM-5.3 вход стоит $1.40, а вход, попавший в кеш, — $0.26. Разница в пять с лишним раз, и она достаётся бесплатно, если стабильную часть запроса не двигать.
Ломается это одной строчкой. Подставленная в начало промпта текущая дата, случайный идентификатор запроса, перетасованный список инструментов — и префикс перестаёт совпадать с предыдущим. Формально всё работает, качество то же, счёт вырос в несколько раз, и никакой ошибки в журнале нет.
Проверять надо не глазами, а по ответу API: провайдеры возвращают долю токенов, попавших в кеш. Если она около нуля там, где вы её ждали, — ищите, что меняется в начале запроса.
Картинки — это тоже токены, и их много
Отдельная статья расходов, которая застаёт врасплох тех, кто пришёл из текстовых задач.
Изображение превращается в токены по формуле провайдера. У одного —
плитками: базовые 85 токенов плюс около 170 за каждый фрагмент 512×512,
итого примерно 765 токенов на картинку 1024×1024. У другого — примерно
ширина × высота / 750. У третьего — 258 токенов за плитку 768×768.
Порядок величины один: сотни-тысячи токенов за кадр.
Само по себе немного. Опасность в том, что зрение почти никогда не бывает одним вызовом.
Контур управления интерфейсом устроен циклом: снять кадр — выбрать действие — выполнить — снять новый кадр и проверить, что изменилось. В контуре управления интерфейсом, который я разбирал недавно, потолок — 24 шага, и на каждом шаге ещё до трёх попыток, если модель вернула невалидное действие. Двадцать четыре кадра в худшем случае превращаются в семьдесят два обращения к зрячей модели за один запуск.
Вот здесь цена за токен наконец начинает значить много — но считать её надо не за вызов, а за запуск.
Язык: я измерил, и общее место оказалось устаревшим
«Русский текст стоит вдвое дороже английского» — утверждение, которое я сам повторял. Решил проверить на настоящих токенизаторах, а не по памяти.
Взял три пары абзацев одинакового смысла, посчитал токены и нормировал на длину текста в знаках:
| Токенизатор | Токенов на русский | На английский | Множитель на знак |
|---|---|---|---|
cl100k_base (прошлое поколение) | 106 | 47 | 2.13× |
o200k_base (нынешнее) | 64 | 47 | 1.29× |
Тексты по 249 и 235 знаков соответственно.
То есть двойная наценка — правда для токенизаторов прошлого поколения и заметно преувеличена для нынешних. Штраф упал примерно на сорок процентов. На уровне отдельных слов это видно так:
искусственный 3 токена ис · кус · ственный
artificial 2 токена art · ificial
контекст 2 токена конт · екст
context 1 токен context
воспроизводимость 4 токена в · осп · роизвод · имость
reproducibility 4 токена re · pro · duc · ibility
Разрыв остался, но он уже не тот, ради которого стоит переписывать интерфейс на английский. Если вы принимали такое решение год назад — его стоит пересмотреть; я свою же запись на эту тему буду править.
Оговорка о границах замера: три пары абзацев — это иллюстрация порядка величины, а не статистика. На вашем корпусе множитель будет другим, и считается он за десять минут — прогоните свои реальные промпты через токенизатор провайдера, а не чужие примеры.
Что из этого следует
Счёт — это не цена за токен. Это
цена за токен × сколько модель реально выпустила × число попыток × язык ÷ кеш
и прайс задаёт только первый множитель из пяти.
Отсюда порядок, в котором я ищу экономию:
- Кеш префикса. Самый большой эффект при нулевом риске для качества.
- Многословность. Стандарт результата в запросе, а не просьба «покороче».
- Разбиение задачи. Дешёвая модель на отбор и разметку, дорогая — на шаг, где решение действительно сложное.
- Ретраи. Схема вывода вместо надежды на формат: невалидный ответ оплачен полностью.
- И только потом смена модели — включая вопрос, не дешевле ли своя.
Условие несогласия
Всё сказанное относится к продакшену с потоком вызовов. Если у вас десяток обращений в день, оптимизация счёта — это работа ради работы: разница между самой дорогой и самой дешёвой моделью в таком объёме меньше, чем час вашего времени, потраченный на выбор.
Граница проходит примерно там, где счёт за месяц становится сравним с дневной ставкой инженера. До этой точки берите модель, которая лучше решает задачу, и не думайте.
Чего я делать не стал бы
Не стал бы выбирать модель по цене входа. Вход — самая дешёвая часть счёта и самая заметная на прайсе, что делает его удобной приманкой.
Не стал бы верить бенчмаркам «цена за интеллект» без проверки на своей задаче. Они честно меряют то, что меряют, но ваша задача не входит в их набор, и многословность модели на вашем материале может отличаться от замеренной вдвое.
И не стал бы экономить, снижая качество проверки. Ошибка, ушедшая в продакшен, стоит дороже, чем весь месячный счёт за модель, — и это единственное место, где арифметика не нужна.
Открытый вопрос
Мне неизвестен способ заранее предсказать многословность модели на своём материале, кроме как прогнать её и посчитать. Бенчмарки дают средние по чужим задачам; на конкретном домене отклонение бывает кратным. Похоже, честного пути мимо собственного замера тут просто нет — и если он у кого-то есть, я хотел бы о нём узнать.