Сколько стоит агентная сессия: 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 "ваш промпт".

Участники и цены
Цены — из каталога 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% токенов, а контекст при переключении модели придётся отправить заново — но цифр у нас нет.
Как считать свои расходы
-
usageв каждом ответе. Полеusage.cost— стоимость запроса в рублях, рядомprompt_tokens,completion_tokensиcompletion_tokens_details.reasoning_tokens. Эти значения мы суммировали в таблицах выше. Агенты, которые не показываютusage, можно направить через собственный прокси, как мы сделали для замеров. -
Баланс. Запрос
GET https://routerai.ru/api/v1/creditsс вашим ключом возвращает остаток на аккаунте — разница до и после сессии показывает реальный расход. На этом основан статус-бар из гайда по подключению Claude Code. -
Статистика самого агента. Команда
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. Создайте аккаунт, пополните баланс и прогоните свои задачи на двух-трёх моделях: цену сессии лучше измерить, чем оценивать по прайсу.