Загрузка...

Сколько стоит агентная сессия: GLM 5.3 Flash, DeepSeek V4.1 Flash и Claude Sonnet 5.5 на одних и тех же задачах

Агентная сессия — это не один запрос, а десяток: на каждом шаге агент заново отправляет модели историю диалога, файлы и результаты команд. Поэтому цена за миллион токенов из каталога почти ничего не говорит о цене задачи. Мы прогнали одни и те же четыре задачи через консольный агент Crush на пяти моделях RouterAI, записали токены и шаги каждого запроса и посчитали, во сколько обошлась каждая задача в рублях. Главная гипотеза («дешёвая модель делает больше шагов, и итог выходит дороже») на наших данных не подтвердилась, но у вывода есть важные оговорки — о них ниже.

Методика

Дата замеров: 26 октября 2026 года. Инструмент: Crush 0.98.2, неинтерактивный режим crush run. Провайдер: RouterAI, OpenAI-совместимый API https://routerai.ru/api/v1.

Между Crush и RouterAI стоял наш прозрачный прокси: он пересылал запросы как есть и записывал поле usage из каждого ответа (токены на входе и выходе, токены рассуждений и cost — стоимость запроса в рублях). Каждый запрос модели считаем одним «шагом».

Проект. Демо-проект Invoices: три файла на Node.js, 42 строки вместе с тестами. Для задачи со стектрейсом в копию проекта добавлена функция monthlyTotal с настоящей ошибкой в вызове.

Четыре задачи, у каждой — автоматическая проверка результата:

№ Задача Что считается «прошло»
1 Правка по описанию: добавить в invoices.js функцию overdueInvoices() функция возвращает ровно один просроченный счёт (id 3), node --test проходит
2 Баг по стектрейсу: node app.js monthly 2026-09 падает с TypeError ... reading 'toString' команда печатает сумму за сентябрь 1740.50
3 Генерация тестов: файл invoices.extra.test.js для totalAmount и allInvoices в файле не меньше трёх тестов, node --test проходит
4 Рефакторинг: вынести данные в data.js, обновить импорты node --test проходит, node app.js list работает

Чего в замерах нет. В задании на разбор предлагался рефакторинг файла на 300 строк. Мы его не делали: пользовались демо-проектом, который лежит на всех наших кадрах, поэтому четвёртая задача — разделение модуля в проекте на 42 строки. Каждая пара «модель — задача» прогнана один раз, поэтому разброс между запусками мы не измеряли. Результаты не переносятся на большие кодовые базы.

Конфиг Crush

Crush читает конфиг из ~/.config/crush/crush.json (путь показывает crush dirs). Провайдер RouterAI описывается как OpenAI-совместимый:

{
  "providers": {
    "routerai": {
      "id": "routerai",
      "name": "RouterAI",
      "type": "openai",
      "base_url": "https://routerai.ru/api/v1",
      "api_key": "sk-xxxxxxxxxxxxxxxx",
      "models": [
        {
          "id": "z-ai/glm-5.3-flash",
          "name": "GLM 5.3 Flash",
          "context_window": 200000,
          "default_max_tokens": 4096,
          "can_reason": true
        }
      ]
    }
  },
  "permissions": {
    "allowed_tools": ["view", "ls", "grep", "edit", "write", "bash"]
  }
}

В models перечисляются остальные id из каталога. Блок permissions.allowed_tools разрешает инструментам работать без запроса подтверждения — в замерах это было нужно для неинтерактивного режима. Запуск одной задачи: crush run --quiet --model routerai/z-ai/glm-5.3-flash "ваш промпт".

Конфиг Crush (~/.config/crush/crush.json): провайдер RouterAI — type openai, base_url https://routerai.ru/api/v1, api_key-заглушка и первая модель z-ai/glm-5.3-flash

Участники и цены

Цены — из каталога RouterAI на 26 октября 2026 года, рубли за 1 млн токенов; они зависят от фактического провайдера, актуальные значения — на карточках моделей. Все шесть моделей поддерживают вызов инструментов (tools) — без него агент работать не может.

Модель Вход, ₽ / 1M Выход, ₽ / 1M Чтение из кэша, ₽ / 1M Контекст
z-ai/glm-5.3-flash 4,76 8,73 3,46 1,05M
deepseek/deepseek-v4.1-flash-1017 11,63 17,28 0,78 1,05M
qwen/qwen3-coder-flash 20,42 102,08 4,08 1M
minimax/minimax-m3.1-flash 10,47 57,58 1,05 1,05M
anthropic/claude-sonnet-5.5 209,40 1047,00 10,47 1M
openai/gpt-5.6-sol 418,80 2093,99 41,88 1,05M

deepseek/deepseek-v4.1-flash-1017 — октябрьский релиз DeepSeek: по еженедельному обзору Compassion Benchmark за 17–22 октября 2026 года DeepSeek описывает его как небольшое обновление прежней Flash-модели с открытыми весами и доступом по API.

MiniMax M3.1 Flash в таблицу результатов не попала. В день замеров на любой запрос она отвечала 503 User not found (ошибка со стороны провайдера, код 401 в metadata), все четыре попытки закончились ничем и ничего не стоили. Это не оценка качества модели — мы её просто не смогли проверить.

Формула цены

Для одного запроса:

цена = (input − cached) × цена_входа + cached × цена_кэша + output × цена_выхода

Токены рассуждений входят в completion_tokens и тарифицируются по цене выхода — отдельно в usage они показаны как completion_tokens_details.reasoning_tokens. Цена сессии — сумма по всем шагам. Расчёт «токены × цена из каталога» удобен для прикидки, но реальный счёт он не воспроизводит — об этом следующий раздел.

Результаты

Токены и цена задачи — по полю usage из ответов API, цена — значение cost в рублях. Во всех 20 запусках проверка прошла.

Задача Модель Шаги Вход, токенов Выход, токенов (из них рассуждения) Цена, ₽ Проверка
1. Правка по описанию GLM 5.3 Flash 6 50 903 471 (279) 0,21 прошла
1. Правка по описанию DeepSeek V4.1 Flash 7 69 352 1 029 (256) 0,23 прошла
1. Правка по описанию Qwen3 Coder Flash 9 89 490 862 1,04 прошла
1. Правка по описанию Claude Sonnet 5.5 6 81 436 589 17,67 прошла
1. Правка по описанию GPT-5.6 Sol 12 64 629 1 360 (100) 7,74 прошла
2. Баг по стектрейсу GLM 5.3 Flash 5 42 624 1 058 (758) 0,21 прошла
2. Баг по стектрейсу DeepSeek V4.1 Flash 8 81 605 2 116 (1 500) 0,20 прошла
2. Баг по стектрейсу Qwen3 Coder Flash 9 93 735 1 003 0,58 прошла
2. Баг по стектрейсу Claude Sonnet 5.5 5 67 494 670 14,83 прошла
2. Баг по стектрейсу GPT-5.6 Sol 6 49 003 540 (72) 3,74 прошла
3. Генерация тестов GLM 5.3 Flash 6 52 833 730 (305) 0,23 прошла
3. Генерация тестов DeepSeek V4.1 Flash 6 55 193 1 136 (500) 0,12 прошла
3. Генерация тестов Qwen3 Coder Flash 9 91 413 953 0,73 прошла
3. Генерация тестов Claude Sonnet 5.5 7 100 696 1 327 22,48 прошла
3. Генерация тестов GPT-5.6 Sol 6 47 848 547 (13) 3,63 прошла
4. Рефакторинг GLM 5.3 Flash 7 64 185 1 882 (1 137) 0,33 прошла
4. Рефакторинг DeepSeek V4.1 Flash 7 69 140 3 492 (2 185) 0,29 прошла
4. Рефакторинг Qwen3 Coder Flash 14 156 158 1 722 1,19 прошла
4. Рефакторинг Claude Sonnet 5.5 9 144 501 2 298 32,66 прошла
4. Рефакторинг GPT-5.6 Sol 13 123 400 1 299 (156) 8,75 прошла

Для Qwen3 Coder Flash и Claude Sonnet 5.5 токены рассуждений в usage не указаны.

Итог по четырём задачам:

Модель Шагов Вход, токенов Выход, токенов Цена четырёх задач, ₽ Цена шага, ₽ Дешевле Sonnet 5.5
GLM 5.3 Flash 24 210 545 4 141 0,97 0,04 в 90 раз
DeepSeek V4.1 Flash 28 275 290 7 773 0,84 0,03 в 104 раза
Qwen3 Coder Flash 41 430 796 4 540 3,53 0,09 в 25 раз
Claude Sonnet 5.5 27 394 127 4 884 87,64 3,25 —
GPT-5.6 Sol 37 284 880 3 746 23,85 0,64 в 3,7 раза

GPT-5.6 Sol прогонялась повторно: в первый раз наш прокси не разбирал usage из Responses API (через него Crush обращается к этой модели), поэтому в таблицах — повторный прогон. Во всех прогонах все четыре проверки прошли.

Что показали данные

Гипотеза о «дорогой переделке» не подтвердилась. Flash-модели сделали столько же шагов, сколько Sonnet (24 и 28 против 27), и лишь Qwen3 Coder Flash — заметно больше (41, в полтора раза). Но даже с 41 шагом она вышла в 25 раз дешевле Sonnet. Чтобы дешёвая модель оказалась дороже, ей нужно делать шагов в десятки раз больше: цена шага у GLM 5.3 Flash меньше цены шага у Sonnet 5.5 примерно в 80 раз. Ни одной переделки с провалом проверки у нас не случилось, так что гипотеза о том, что flash чаще ломает задачу, в этом наборе просто не имела шанса сработать — задачи были маленькие.

Счёт сессии — это вход, а не выход. Выход — 1–3% всех токенов сессии: у Sonnet 4 884 токена против 394 127 на входе, причём вход даёт около 94% её счёта. Каждый шаг заново отправляет модели накопленный контекст, поэтому в сессии у Sonnet на 5–9 шагов уходит от 67 до 145 тысяч входных токенов. Цена выхода — та самая, которая в таблицах выделяется, — здесь второстепенна.

Кэш делает прайс-лист неточным. Доля кэшированных входных токенов (prompt_tokens_details.cached_tokens) в наших прогонах: GLM 5.3 Flash — 96%, DeepSeek V4.1 Flash — 94%, Qwen3 Coder Flash — 81%; у Sonnet 5.5 — 0%. Из-за этого сессия DeepSeek обошлась в 0,84 ₽, хотя расчёт «все входные токены по полной цене» даёт 3,34 ₽. У Sonnet счёт совпал с расчётом до копейки (87,64 ₽) — кэш в этих прогонах не сработал. У GPT-5.6 Sol счёт (23,85 ₽) в пять раз ниже расчёта без кэша (127,15 ₽), что согласуется с высокой долей кэша, но в этом прогоне мы не сохранили cached_tokens для Responses API — это вывод по цене, а не прямое измерение.

Токены рассуждений — заметная часть выхода у reasoning-моделей. У GLM 5.3 Flash они составили 2 479 из 4 141 токенов выхода, у DeepSeek V4.1 Flash — 4 441 из 7 773. У GPT-5.6 Sol — 341 из 3 746. Каждый такой токен оплачивается по цене выхода.

Каталог — справочная цена. В четырёх коротких запросах к GLM 5.3 Flash без кэша мы получили тариф примерно втрое выше карточки по входу и вшестеро по выходу (по usage.cost), а в сессиях Crush, где почти весь вход читался из кэша, счёт вышел близким к расчёту по карточке. В каталоге цены динамические и зависят от фактического провайдера и кэша, поэтому точную цену даёт только usage.cost. Причины расхождения мы не выясняли.

Цена за токен — не цена сессии. GPT-5.6 Sol в каталоге вдвое дороже Sonnet 5.5 (418,80 против 209,40 ₽ за 1M на входе), но на наших задачах обошлась в 3,7 раза дешевле: меньше входных токенов и, судя по цене, больше попаданий в кэш. Сравнивать модели нужно по usage.cost на вашей задаче.

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

Это выводы из измеренного и расчёта, а не из дополнительных замеров.

Flash-модели — для массовой рутины. Правки по описанию, исправление ошибки по стектрейсу, генерация тестов и простой рефакторинг прошли на всех трёх flash-моделях за цену от 0,12 до 1,19 ₽ за задачу. Это ориентир для массовых переименований, шаблонных правок и тестов по готовому коду.

Схема «сначала дешёвая, затем дорогая». Запускаем flash-модель и проверяем результат автоматически; если проверка не прошла — повторяем на Sonnet. Она выгоднее запуска сразу на Sonnet, если доля успешных прогонов flash больше отношения цены задачи на flash к цене на Sonnet: примерно 1,1% для GLM 5.3 Flash, 1,0% для DeepSeek V4.1 Flash и 4,0% для Qwen3 Coder Flash (по нашим ценам задач). Ключевое условие — у вас должна быть автоматическая проверка (тесты, линтер, сборка). Без неё «дёшево» превращается в ручную проверку.

Где не экономить. Архитектурные рефакторинги большого объёма и миграции с необратимыми шагами в наш набор не входили, поэтому доказательств «flash справится» или «не справится» у нас нет. Для таких задач начинайте с флагманской модели и сравните на своём проекте с flash, прежде чем переключать процесс целиком.

Дорогая планирует, дешёвая делает (и наоборот) мы не измеряли. Идея разумная — выход составляет 1–3% токенов, а контекст при переключении модели придётся отправить заново — но цифр у нас нет.

Как считать свои расходы

  1. usage в каждом ответе. Поле usage.cost — стоимость запроса в рублях, рядом prompt_tokens, completion_tokens и completion_tokens_details.reasoning_tokens. Эти значения мы суммировали в таблицах выше. Агенты, которые не показывают usage, можно направить через собственный прокси, как мы сделали для замеров.
  2. Баланс. Запрос GET https://routerai.ru/api/v1/credits с вашим ключом возвращает остаток на аккаунте — разница до и после сессии показывает реальный расход. На этом основан статус-бар из гайда по подключению Claude Code.
  3. Статистика самого агента. Команда crush stats строит HTML-отчёт по использованию токенов и стоимости сессий проекта. Мы её запускали, но цифры отчёта с usage.cost не сверяли — для денег ориентируйтесь на usage и баланс.

Базовый формат запросов — в быстром старте, параметры рассуждений — в разделе параметров API.

Итог

На четырёх небольших задачах три flash-модели справились так же, как Claude Sonnet 5.5 и GPT-5.6 Sol, а сессия на них стоила от 0,12 до 1,19 ₽ за задачу против 14,83–32,66 ₽ у Sonnet. Цена сессии определяется входными токенами и попаданием в кэш, а не прайсом за выход; проверка по usage.cost — единственный надёжный способ узнать цену вашей задачи. Как соотносятся цены других веток моделей — в разборе GPT-6 Luna, Sol и Astra.

Все модели из статьи — в каталоге RouterAI, с оплатой в рублях и без VPN. Создайте аккаунт, пополните баланс и прогоните свои задачи на двух-трёх моделях: цену сессии лучше измерить, чем оценивать по прайсу.