Введение: Неожиданная разница в поведении Qwen3.8-27B
Прямой ответ: при переключении параметра reasoning_effort с medium на xhigh модель Qwen3.8-27B начинает генерировать в разы больше токенов. В практическом тесте на связке llama.cpp и RTX 2080 Ti режим medium выдал лишь несколько тысяч токенов, тогда как xhigh стабильно уходил в диапазон 15-20 тысяч, а в отдельных случаях достигал 40 тысяч. Разница пятикратная, и она воспроизводится на одинаковых задачах.
Тестовая конфигурация: Qwen3.8-27B с квантованием UD-Q4_K_XL, инференс через llama.cpp, видеокарта RTX 2080 Ti с 22 ГБ памяти, контекст 100k и включённое спекулятивное декодирование. Задачи - генерация HTML-клонов игр Flappy Bird и Pacman. Один и тот же промпт, одна и та же модель, меняется только reasoning_effort. Результат: medium практически не активирует механизм рассуждений, xhigh разворачивает полный цикл размышлений. Это баг или штатное поведение? Разбираемся по фактам.
Методика тестирования: как мы измеряли reasoning_effort
Оборудование: RTX 2080 Ti с 22 ГБ VRAM. ПО: llama.cpp с поддержкой квантования UD-Q4_K_XL, спекулятивное декодирование включено, контекст 100k. Скорость инференса держалась около 40 токенов в секунду. Задачи подавались одинаковые: «Создай HTML-клон игры Flappy Bird» и «Создай HTML-клон игры Pacman». Для каждой задачи прогонялись два варианта: reasoning_effort=medium и reasoning_effort=xhigh.
Количество токенов измерялось по выводу llama.cpp, включая скрытые цепочки рассуждений, если они появлялись. Важный момент: при medium модель либо вообще не генерировала внутренние размышления, либо ограничивалась коротким блоком. При xhigh размышления занимали основную часть вывода, а финальный код шёл после них. Это прямо влияло на итоговое число токенов.
Тест не претендует на статистическую полноту. Это точечный замер на конкретном кванте и конкретном железе. Но разрыв настолько воспроизводим, что игнорировать его нельзя. Если вы используете Qwen3.8-27B локально, выбор режима reasoning_effort определяет не просто качество, а сам факт появления рассуждений.
Что такое reasoning_effort в Qwen3 и как он маппится на токен-бюджеты
Reasoning_effort управляет глубиной рассуждений модели. Формально это параметр, который сообщает модели, сколько ресурсов она может потратить на внутренние размышления перед финальным ответом. В Qwen3 точные токен-бюджеты для каждого уровня не документированы. Разработчики не опубликовали таблицу соответствия: medium - N токенов, xhigh - M токенов. Это оставляет пространство для интерпретаций и ошибок.
Механизм работает через скрытые цепочки рассуждений. Модель генерирует внутренний монолог, который не показывается пользователю напрямую, но учитывается в общем количестве токенов. При medium этот монолог почти отсутствует. При xhigh он разворачивается на десятки тысяч токенов: модель планирует архитектуру кода, разбирает логику игры, проверяет крайние случаи, добавляет комментарии.
Наблюдаемые токен-бюджеты: medium vs xhigh
Цифры из теста: medium - несколько тысяч токенов на задачу. xhigh - 15-20 тысяч токенов стабильно, с пиками до 40 тысяч. Разница указывает на нелинейный маппинг усилий. Между medium и xhigh нет плавного перехода. Модель либо почти не рассуждает, либо рассуждает очень много. Промежуточные уровни, если они существуют в API, на практике не дают ожидаемой градации.
Для сравнения: в тестах Qwen 3.6 27B на RTX 5090 параметр --reasoning-budget 16384 задавал фиксированный лимит токенов на размышления. В Qwen3.8-27B аналогичного явного контроля в llama.cpp на момент теста не было. Параметр reasoning_effort работал как чёрный ящик. Это усложняет предсказание поведения модели в продакшене.
Практические результаты: генерация HTML-клонов игр
Разница в токенах напрямую влияла на качество кода. При medium модель выдавала короткий, часто неполный HTML-файл. Базовые механики присутствовали, но без проработки деталей. При xhigh код становился заметно полнее: добавлялись физика, счёт, экраны состояний, обработка коллизий, комментарии.
Flappy Bird: medium vs xhigh
Medium: модель сгенерировала минимальную версию - птица, трубы, прыжок по пробелу. Код занимал несколько тысяч токенов. Отсутствовали экран старта, счёт, обработка столкновений с землёй, анимация вращения птицы. Игра запускалась, но выглядела как черновик.
Xhigh: модель потратила около 18 тысяч токенов. В коде появились гравитация с настраиваемым ускорением, система очков, экран Game Over с перезапуском, анимация крыльев, проверка границ канваса. Модель в цепочке рассуждений отдельно продумала, как синхронизировать скорость труб с частотой кадров, чтобы игра не ломалась на разных мониторах. Это уровень, который medium не показал.
Pacman: medium vs xhigh
Medium: упрощённый лабиринт, Пакман двигался по стрелкам, призраки отсутствовали или были статичными. Код короткий, логика примитивная. Модель не стала разбирать алгоритмы преследования.
Xhigh: генерация заняла около 20 тысяч токенов, в одном из прогонов - 40 тысяч. В коде появились четыре призрака с разными паттернами поведения, система очков, съедобные точки, телепорты по краям лабиринта. Модель в размышлениях описала, как реализовать простейший алгоритм преследования: Blinky идёт напрямую к Пакману, Pinky - на точку перед ним, Clyde - случайные блуждания. Это не промышленный ИИ, но для HTML-клона - существенная разница.
Скорость инференса: цена за глубокие рассуждения
Скорость держалась около 40 токенов в секунду при контексте 100k и включённом спекулятивном декодировании. Это означает, что medium с генерацией 3-5 тысяч токенов завершался за 75-125 секунд. Xhigh с 15-20 тысячами токенов требовал 375-500 секунд, то есть 6-8 минут. Пиковый случай с 40 тысячами токенов занял бы около 16 минут.
Для задач, где время ответа критично, такой разброс неприемлем. Чат-бот с reasoning_effort=xhigh на локальной RTX 2080 Ti будет отвечать минутами. Но для офлайн-генерации кода, когда пользователь готов подождать, xhigh даёт качественно другой результат. Выбор режима - это выбор между скоростью и полнотой.
Баг или фича? Анализ поведения модели
Аргументы за штатное поведение: medium задуман для быстрых ответов без глубоких рассуждений. xhigh - для сложных задач, где модель должна продумать решение. Разница в токенах отражает разницу в подходах. Это логично и предсказуемо, если знать, как работают скрытые цепочки рассуждений.
Аргументы за баг: слишком резкий скачок. Между «почти не рассуждает» и «рассуждает 20 тысяч токенов» нет промежуточного состояния. Отсутствие документированных токен-бюджетов усиливает подозрение, что маппинг усилий работает некорректно. Парадокс DeepSeek-V4-Flash-0731, где режим Low генерировал больше токенов, чем High, показывает, что подобные аномалии в реализациях встречаются. Официальных разъяснений от Qwen на момент теста не было.
Наш вывод: поведение воспроизводимо и стабильно, что говорит скорее о штатной, хоть и плохо задокументированной, логике. Но отсутствие прозрачности - проблема. Разработчикам нужен явный контроль над токен-бюджетом рассуждений, как это сделано в llama.cpp через --reasoning-budget для Qwen 3.6.
Практические рекомендации: когда использовать medium, а когда xhigh
Medium подходит для простых задач: быстрые ответы, чат-боты, рутинные запросы, где не нужны длинные рассуждения. Если вы генерируете сниппет кода на 20 строк, medium справится за приемлемое время. Экономия токенов и времени существенная.
Xhigh оправдан для сложной генерации кода, проектирования архитектуры, многошаговых задач. HTML-клоны игр, полноценные приложения, отладка логики - здесь глубина рассуждений окупается. Учитывайте ограничения: на RTX 2080 Ti генерация может занять 6-16 минут. Для локального инференса это нормально, для интерактивных сервисов - нет.
Перед выбором проверьте, как модель ведёт себя на вашем квантовании. Результаты на UD-Q4_K_XL могут отличаться от Q6_K или Q8_0. Если у вас железо уровня RTX 5090 с 32 ГБ VRAM, скорость будет выше, и xhigh станет практичнее. На слабых картах medium остаётся единственным рабочим вариантом для интерактива.
Заключение: Ключевые выводы и открытые вопросы
Разница между medium и xhigh в Qwen3.8-27B огромна: от нескольких тысяч до 15-20 тысяч токенов, с пиками до 40 тысяч. Это воспроизводимый результат на задачах генерации HTML-клона игр. Качество кода при xhigh заметно выше: полнее логика, больше функций, продуманные детали.
Точные токен-бюджеты для каждого уровня reasoning_effort не раскрыты. Сообществу нужны дополнительные тесты на разных квантованиях и железе, чтобы понять, где проходит граница между штатным поведением и багом. Официальные разъяснения от Qwen сняли бы неопределённость. До тех пор выбор режима остаётся эмпирическим: пробуйте на своих задачах, замеряйте токены, оценивайте качество кода.
Если вы работаете с Qwen 3.6 27B, посмотрите разбор настроек llama.cpp - там разбирается, как управлять бюджетом рассуждений явно. Для сравнения с другими моделями в кодинге полезен тест DeepSeek V4 Flash против Qwen 3.6 27B. Аномалии с режимами усилий встречаются и у других моделей: парадокс DeepSeek-V4-Flash-0731 показывает, как режим Low генерирует больше токенов, чем High.