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, при който то оказва влияние.
И трите протокола са налични за minimax-m3.1-flash в AIHubMix. Една разлика спрямо собственото 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 към 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 отхвърлят непознати стойности (issue #8025 в sub2api). Използвайте една от петте документирани стойности. - Инструменти, които не предоставят достъп до нивата. В момента 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; output_config се поставя в extra_body, ако версията на вашия SDK не познава това поле):
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. Ако в заявката няма поле за усилие, моделът мисли на най-дълбокото ниво.
Мога ли напълно да изключа мисленето?
Не. Изключването на мисленето връща HTTP 400 от API на MiniMax. Най-ниското ниво е low, а при кратки заявки 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: една поправка на грешка, три сметки



