У MiniMax M3.1 Flash пять уровней рассуждения, и отключить его нельзя. Если не выбрать уровень, модель выберет самый глубокий за вас. В руководстве MiniMax по генерации текста сказано, что при отсутствии параметра усилия он «по умолчанию равен max».
Эту дополнительную стоимость легко не заметить. AIHubMix запускал исправление двух ошибок на каждом уровне. При значении по умолчанию расходовалось примерно в 10 раз больше токенов на рассуждения, чем при low, а выполнение занимало примерно в 6 раз больше времени; при этом все запуски на всех уровнях прошли все 215 тестов. Стоимость рассуждений модели росла вместе с уровнем усилий, хотя сложность задачи оставалась прежней.
Короткий ответ: начинайте с low, повышайте уровень, только если задача не выполнена или требует повторных попыток, и никогда не оставляйте поле пустым.
Пять уровней, отключить нельзя
| Протокол | Поле | Значения | По умолчанию |
|---|---|---|---|
| OpenAI Chat Completions | reasoning_effort | low, medium, high, xhigh, max | max |
| Anthropic Messages | output_config.effort | low, medium, high, xhigh, max | max |
| OpenAI Responses | reasoning.effort | low, medium, high, xhigh, max | max |
Отключить рассуждения нельзя. Согласно справочнику Messages API MiniMax, API возвращает HTTP 400 для thinking: {"type": "disabled"} и уровня усилий none с сообщением model "MiniMax-M3.1-Flash" requires adaptive thinking. Более старые модели MiniMax полностью игнорируют поле усилий. Пока что M3.1 Flash — единственная модель MiniMax, на которую оно влияет.
На AIHubMix для minimax-m3.1-flash доступны все три протокола. Есть одно отличие от собственного API MiniMax: AIHubMix принял reasoning_effort: "none" и "minimal" с ответом HTTP 200, но модель всё равно рассуждала. Считайте эти значения нерабочими параметрами, а не способом отключить рассуждения.
Сколько стоил каждый уровень на одной задаче
Тест: функция расчёта оплаты с двумя ошибками. Если приостановка выходит за конец расчётного периода, один день учитывается дважды, а пересекающиеся приостановки вычитаются дважды. Модель возвращает исправленную функцию, а локальный тестовый стенд проверяет её на 215 скрытых случаях. Каждый уровень запускали трижды через эндпоинт Chat Completions AIHubMix 19 октября 2026 года, установив max_tokens на 32,768. Все показатели измерены AIHubMix, и никто другой их не воспроизводил.
| Усилия | Среднее число токенов на рассуждения | Диапазон (3 запуска) | Среднее время | Средняя стоимость одного исправления | Тесты |
|---|---|---|---|---|---|
| low | 591 | 344–812 | 9.5 s | $0.0006 | 215/215 ×3 |
| medium | 1,522 | 970–2,488 | 21.7 s | $0.0013 | 215/215 ×3 |
| high | 2,863 | 2,194–3,673 | 27.1 s | $0.0022 | 215/215 ×3 |
| xhigh | 1,949 | 1,019–2,562 | 19.2 s | $0.0015 | 215/215 ×3 |
| max | 4,699 | 2,612–6,246 | 40.4 s | $0.0034 | 215/215 ×3 |
| не указано | 6,364 | 4,284–9,376 | 56.3 s | $0.0045 | 215/215 ×3 |
Стоимость рассчитана по тарифам AIHubMix для minimax-m3.1-flash: $0.165 за миллион входных токенов, $0.66 за миллион выходных токенов и $0.0165 за миллион кэшированных входных токенов. Токены на рассуждения тарифицируются как выходные. Например, в строке «не указано» в среднем было 464 токена в запросе (около 192 из них кэшированные) и 6,673 выходных токена — примерно $0.0045 за одно исправление.
Что показывают цифры
Для этой задачи хватило уровня low. Каждый уровень каждый раз выдавал правильное исправление. На простой задаче с ошибкой в одной функции дополнительные рассуждения на более высоких уровнях не принесли измеримой пользы.
Переход от low к medium заметно увеличивает затраты. На уровне medium в среднем использовалось примерно в 2.6 раза больше токенов на рассуждения, чем на low, а выполнение занимало более чем вдвое больше времени.
На уровнях выше medium различия размываются. В наших запусках xhigh в среднем использовал меньше токенов, чем high, а результаты max пересекались с обоими. Трёх запусков на уровень недостаточно, чтобы разделить их. В этой задаче «high», «xhigh» и «max» означали одно и то же: «больше рассуждений, иногда намного больше».
Если не указывать уровень, поведение соответствует max. Это совпадает с документацией MiniMax. Средний показатель для строки «не указано» оказался выше, чем для «max», но диапазоны пересекаются, а разница укладывается в разброс между запусками.
На каждом уровне разброс велик. При значении по умолчанию одна и та же задача выполнялась от 39 до 82 секунд. На эндпоинте Anthropic Messages три запуска с low использовали 511, 1,861 и 6,060 токенов на рассуждения. Последний занял 56 секунд — столько же, сколько обычно занимает запуск с max. Уровень усилий задаёт среднюю глубину рассуждений, а не жёсткое ограничение.
Скорость обработки оставалась стабильной — около 112 выходных токенов в секунду во всех 24 запусках Flash, поэтому время почти линейно зависит от количества токенов на рассуждения. При такой скорости рассуждения на 6,000 токенов означают ожидание почти в минуту.
MiniMax не публиковала данные о количестве токенов и задержке для отдельных уровней. Мы не можем сказать по результатам этого единственного теста, какие уровни понадобятся для более сложной задачи. Приведённые выше цифры показывают только, сколько стоит каждый уровень, когда задача в нём не нуждается.
На короткие запросы уходит мало токенов на рассуждения
«Всегда рассуждает» не значит «всегда рассуждает долго». Рассуждения адаптивны, поэтому их глубина зависит от предполагаемой сложности запроса:
- Классификация пяти обращений в поддержку по четырём меткам: 0 токенов на рассуждения при
lowи в среднем 6 при значении по умолчанию. Все метки были правильными. - На вопрос «Сколько будет 17 × 23?» модель при
lowвовсе не рассуждала и выдала 2 выходных токена.
Итак, отсутствие переключателя несущественно удорожает короткие запросы на классификацию, извлечение данных и маршрутизацию. Дополнительные затраты проявляются на открытых задачах вроде программирования: чем глубже вы позволяете модели рассуждать, тем больше поводов для этого она находит.
С какого уровня начать
Это стартовые рекомендации. Напрямую измерялись только первые две строки; остальные — наши рекомендации, которые стоит проверить с учётом повторных попыток в вашем случае:
| Тип задачи | Начните с | Повышайте уровень, если |
|---|---|---|
| Классификация, извлечение данных, маршрутизация | low | На сложных случаях появляются неверные метки |
| Исправление одной функции, небольшие проверки кода | low | Исправление дважды не проходит тесты |
| Изменения в нескольких файлах, рефакторинг | medium | Агент не замечает зависимый файл |
| Агент зацикливается на множестве вызовов инструментов | low или medium | Шаги повторяются или выполнение останавливается |
| Сложная отладка, вопросы проектирования | high | Ответы остаются поверхностными |
| Интерактивный чат, где собеседник ждёт ответа | low | В этом случае никогда не оставляйте значение по умолчанию max |
Используйте max, только если видели, что high не справляется с задачами такого типа.
Что ломается или становится дороже при смене уровня усилий
- Обрезанные ответы. Токены на рассуждения входят в лимит
max_tokens. В одном запуске со значением по умолчанию на рассуждения ушло 9,376 токенов при работе над одной функцией, поэтому лимит в 4K или 8K, установленный для ответов M2.x, может привести к обрезанию ответа сfinish_reason: "length". MiniMax рекомендует 131,072 и допускает 524,288. - Тайм-ауты. На high и выше один вызов может занимать минуту. Тайм-ауты клиента и прокси, настроенные для быстрой модели, нужно увеличить как минимум до 120 секунд.
- Значения, которые незаметно не дают эффекта. Через AIHubMix значения
none,minimalи неизвестное значение вродеautoпринимались, но модель всё равно рассуждала. Собственные эндпоинты MiniMax отклоняют неизвестные значения, согласно тестам проекта шлюза (проблема sub2api #8025). Используйте одно из пяти значений, указанных в документации. - Инструменты, в которых нельзя выбрать уровень. Сейчас OpenCode не поддерживает варианты этой модели с заданным уровнем усилий, а некоторые фреймворки передают «thinking disabled», что приводит к ошибке 400. Проверьте, что именно отправляет ваш инструмент.
- Несколько моделей в одном конвейере. M3 и M2.x игнорируют поле усилий. Если вы переключаетесь между моделями, уровень усилий, который экономит деньги на Flash, никак не повлияет на остальные.
Как задавать параметр в каждом протоколе
Все три протокола доступны через AIHubMix с одним ключом. В кратком руководстве по началу работы описана настройка ключей, а на странице единых параметров рассуждений — обработка AIHubMix полей рассуждений для разных поставщиков.
Chat Completions:
curl https://aihubmix.com/v1/chat/completions \
-H "Authorization: Bearer $AIHUBMIX_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "minimax-m3.1-flash",
"reasoning_effort": "low",
"max_tokens": 32768,
"messages": [{"role": "user", "content": "Write a function that merges overlapping date ranges."}]}'
Anthropic Messages (Python SDK; если ваша версия SDK не знает поле output_config, укажите его в extra_body):
import os
import anthropic
client = anthropic.Anthropic(base_url="https://aihubmix.com", api_key=os.environ["AIHUBMIX_API_KEY"])
msg = client.messages.create(
model="minimax-m3.1-flash",
max_tokens=32768,
messages=[{"role": "user", "content": "Write a function that merges overlapping date ranges."}],
extra_body={"output_config": {"effort": "medium"}},
)
print(msg.usage)
Responses:
import os
from openai import OpenAI
client = OpenAI(base_url="https://aihubmix.com/v1", api_key=os.environ["AIHUBMIX_API_KEY"])
resp = client.responses.create(
model="minimax-m3.1-flash",
reasoning={"effort": "low"},
max_output_tokens=32768,
input="Write a function that merges overlapping date ranges.",
)
print(resp.usage)
Проверяйте usage в первых нескольких вызовах. В Chat Completions токены на рассуждения указаны в completion_tokens_details.reasoning_tokens, в Messages — в output_tokens_details.thinking_tokens, а в Responses — в output_tokens_details.reasoning_tokens. Если эти числа не меняются при смене уровня, значит, настройка не доходит до модели.
Часто задаваемые вопросы
Какой уровень усилий установлен по умолчанию в MiniMax M3.1 Flash?
Max. Если в запросе нет поля усилий, модель рассуждает на максимальной глубине.
Можно ли полностью отключить рассуждения?
Нет. При отключении рассуждений API MiniMax возвращает HTTP 400. Самый низкий уровень — low; на коротких запросах он часто не использует токены на рассуждения.
Какой уровень усилий выбрать для программирования?
Начинайте с low для исправления одной функции и небольших проверок кода, с medium — для изменений в нескольких файлах; повышайте уровень, только если задача не выполнена. В нашем тесте low каждый раз правильно исправлял функцию с двумя ошибками.
Повышает ли max точность?
Не в нашей тестовой задаче: все уровни прошли все 215 тестов. Max требовал намного больше токенов и времени. Более высокие уровни могут помочь на сложных задачах, но опубликованных данных о том, в каких случаях, нет.
Почему один и тот же запрос однажды выполнился за 10 секунд, а в следующий раз — за 56 секунд?
Даже на одном уровне глубина рассуждений меняется от запуска к запуску. Один запуск с низким уровнем усилий на эндпоинте Messages использовал примерно в десять раз больше токенов на рассуждения, чем другой.
Работает ли reasoning_effort none через AIHubMix?
Параметр принимается без ошибки, но модель всё равно рассуждает. Вместо этого используйте low.
Как узнать, сколько токенов на рассуждения использовал вызов?
Посмотрите объект usage: reasoning_tokens в Chat Completions и Responses, thinking_tokens в Messages API.
Читайте также: серия MiniMax M3.1 Flash
- Общий обзор этого параметра: от запуска Space Bunny до сравнения цены с M2.7 и M3: MiniMax M3.1 Flash — это Space Bunny: что изменилось по сравнению с M2.7 и M3 и сколько это стоит
- Уровень усилий — одно из нескольких изменений при переходе с кода M2.5/M2.7. В этой статье рассказываем об ошибках 400 и обо всём остальном: Переход с MiniMax M2.5/M2.7 до 18 ноября: как исправить ошибку 400 «requires adaptive thinking» в M3.1 Flash
- При низком уровне усилий Flash оказался самой дешёвой из трёх моделей при исправлении одной и той же ошибки. Сравните стоимость использования значения по умолчанию с DeepSeek и Haiku: MiniMax M3.1 Flash против DeepSeek V4.1 Flash и Claude Haiku 5.5: одно исправление ошибки, три счёта



