Назад в блог

Оптимизация расходовИнструкция

Токены размышления в массовой задаче: effort, лимиты, этапы

Токены размышления тарифицируются как выход и входят в max_tokens. Как их ограничить и прикинуть расход массовой задачи на 40 000 текстов.

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

Обложка: токены размышления оплачиваются как выход в массовой задаче
Содержание
  1. Как токен размышления выглядит в счёте
  2. Effort: ручка, а не бюджет
  3. Настоящий конвейер: одна модель командует, другая тянет массу
  4. Оценка массового прохода
  5. Рычаги, доступные сегодня
  6. Effort по этапам: короткое правило

Токены размышления тарифицируются как выходные и входят в max_tokens, даже если вы их не видите. Поэтому счёт за большую задачу зависит от того, сколько модель думает, а не только от длины видимого ответа. Работают два рычага: лимит на выход и разделение задачи — дешёвая модель на массовый проход, более сильная только на сборку.

Если агент отработал десять минут, а счёт больше задачи, начните с этого.

Как токен размышления выглядит в счёте#

Возьмём классификатор, который про каждый комментарий отвечает keep или drop. Видимый ответ — одно слово; заложим на него около 20 выходных токенов. Допустим, перед ответом модель рассуждает и тратит на это 600 токенов. На экране вы видите 20 токенов, а платите за 620.

Страница Anthropic про effort (проверено 5 ноября 2026) говорит об этом прямо: размышление входит в max_tokens, даже если его текст не возвращается, а max_tokens — жёсткий предел на весь выход, размышление плюс текст ответа. Выход при этом стоит дороже входа, отсюда и боль.

Угадайте число

Модель думает 600 токенов, потом пишет ответ на 20 токенов. Сколько выходных токенов в счёте?

Показать ответ

Ответ: 620

  1. Размышление и ответ — оба выход: вы платите за весь поток, видимый он или нет.
Видимый ответ и оплаченный выход
Пример: видимый ответ в 20 токенов рядом с 620 оплаченными выходными токенами (допущение для иллюстрации)

Умножьте на 40 000 комментариев — и невидимая часть становится почти всем счётом. Про две стороны запроса подробнее: входные и выходные токены.

Effort: ручка, а не бюджет#

В Messages API у Anthropic effort задаётся через output_config.effort. Без значения действует умолчание модели. Уровни: max, xhigh, high, medium, low. На большинстве моделей умолчание — high, а Claude Opus 5.5 и Claude Haiku 5.5 по умолчанию работают на medium.

Три детали с той же страницы:

  • Effort действует на каждый выходной токен, с размышлением и без. Низкий effort даёт и меньше вызовов инструментов, причём более лаконичных, — для агентов это важно.
  • low подходит для простых задач и субагентов.
  • Effort — поведенческий сигнал, а не жёсткий бюджет токенов. Он подталкивает модель, но числа не обещает. Жёсткий предел — это max_tokens.

Итак: effort — это насколько старается модель, лимит выхода — забор. Где доступно, нужны оба. Простое объяснение, почему размышление дороже, есть в статье для новичков: reasoning effort и токены размышления.

Настоящий конвейер: одна модель командует, другая тянет массу#

Андрей Карпати, исследователь ИИ и сооснователь OpenAI, описал свой конвейер HN-видео 31 октября 2026 (пост). Claude Opus 5.5 на Medium effort — это его умолчание — скачал все комментарии Hacker News, сузил их до примерно 40 000 комментариев с рекомендацией видео на YouTube и собрал сайт с 6 454 видео за 2007–2026 годы по 150 темам. Sonnet прошёл по комментариям в воркфлоу Claude Code: отфильтровал спам и нашёл рекомендации. По его словам, всё это теперь занимает около двух часов.

Токенов и стоимости в посте нет, так что про цену цитировать нечего. Зато видна форма: сильная модель наверху на среднем effort решает, что строить, а модель подешевле перемалывает однообразную часть. Посмотрите, где уходят токены. Руководство — несколько крупных редких шагов. Фильтрация — десятки тысяч мелких одинаковых.

Три этапа: массовый проход, лимит, сборка
Форма разделённой задачи: дешёвая модель на массу, ограниченный ответ, сильная модель только на сборку

Такое разделение работает с любой парой моделей. Сам промпт-фильтр — в статье фильтр на 40 тысяч комментариев; как решать, какой запрос куда, — в маршрутизации моделей.

Оценка массового прохода#

Ниже наше допущение, а не цифры Карпати: 40 000 комментариев, около 150 входных токенов на каждый (инструкция и комментарий) и около 20 выходных (метка и пара слов).

  • Вход: 40 000 × 150 = 6 000 000 токенов
  • Выход: 40 000 × 20 = 800 000 токенов

На DeepSeek-V4-Flash такой проход стоит $0.17. Таблица показывает ту же нагрузку на всех моделях, что у нас есть; в сумме, с учётом входа и выхода, каждая дешевле OpenRouter.

Модель За запрос 40 000 запросов OpenRouter, 40 000 запросов
GLM-5.3-Flash $0.0000038 $0.152 $0.267
DeepSeek-V4-Flash $0.0000043 $0.17 $0.532
MiniMax-M2.7 $0.000011 $0.42 $5.04

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

Теперь пусть модель думает по 600 токенов на комментарий, то есть 620 выходных токенов на элемент: 40 000 × 620 = 24 800 000 выходных токенов. Тот же проход на DeepSeek-V4-Flash превращается в $2.57. Вход тот же, и если модель думает по 600 токенов на комментарий, выход вырастает в тридцать один раз. Стоит ли это размышление того, покажет ваша собственная проверка; для ответа «keep/drop» одним словом это первое, что стоит попробовать на более низком уровне или с лимитом.

Подставьте свои числа: токены на запрос и число запросов — калькулятор считает по живым ценам.

Калькулятор стоимости

Массовый проход: 40 000 комментариев, короткие метки

Входные токены на запрос: 150 · Выходные токены на запрос: 20 · Запросов в день: 40 000

МодельВ деньВ месяц
GLM-5.3-Flash$0.152$4.56
DeepSeek-V4-Flash$0.17$5.10
MiniMax-M2.7$0.42$12.60

Рычаги, доступные сегодня#

У разных API разные настройки размышления, поэтому вот те, что работают везде: жёсткий лимит, инструкция отвечать коротко и разделение этапов.

Минимальный запрос для массового прохода через CheapTokens. Адрес — https://api.cheaptokens.dev/v1, id модели — полный, из документации:

bash
curl https://api.cheaptokens.dev/v1/chat/completions \
  -H "Authorization: Bearer $CHEAPTOKENS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek-ai/DeepSeek-V4-Flash-0731",
    "max_tokens": 1024,
    "messages": [
      {"role": "system", "content": "Reply with exactly one word: keep or drop."},
      {"role": "user", "content": "Comment: this talk on compilers changed how I think, youtube.com/watch?v=example"}
    ]
  }'

Смотрите usage.completion_tokens в ответе: это ваш выходной счёт за запрос. Лимит ограничивает размышление и видимый ответ вместе. Если finish_reason равен length, а текст пустой, лимит израсходован до появления ответа: поднимите его или попросите ответ короче. Проверьте usage.completion_tokens на нескольких комментариях и поставьте лимит чуть выше реального максимума. Подробности про лимит и стоп-последовательности — в сокращении выходных токенов, а обрыв на полуслове разобран в статье почему ответ обрывается.

DeepSeek-V4-Flash отдаёт до 32 768 выходных токенов за ответ при контексте 380K, так что лимит 1 024 — это выбор, а не потолок. GLM-5.3-Flash (8 192 выхода, контекст 390K) и MiniMax-M2.7 (8 192 выхода, контекст 180K) подходят под тот же приём. Лимит выбирайте под этап.

Сравнение

Настройки цикла агента

Было

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

Стало

Субагенты и простая классификация работают на низком effort или с инструкцией отвечать коротко и лимитом max_tokens. Больше места получает только шаг сборки, и только если ваши собственные проверки показывают выигрыш.

Живая таблица цен — на странице цен CheapTokens, формат запроса — в документации.

Effort по этапам: короткое правило#

На массовом проходе начните с низкого уровня и поднимайте по одному этапу. Оставляйте то значение, которое окупается по вашей проверке, а не то, что кажется безопаснее. Сильная модель должна видеть небольшой, уже отфильтрованный набор; дешёвая — всё остальное.