Одиннадцатого ноября Alibaba открыла превью Qwen4-Max-Preview, первой модели четвёртого поколения Qwen, и сразу поставила условия, которые заметно отличаются от привычных. У модели окно в 1 млн токенов и лимит вывода 393 216 токенов, она читает текст, изображения и видео, вызывает инструменты и отвечает по схеме JSON. Зато обычного API с оплатой за токены у неё нет: попасть к ней можно только через подписку Token Plan, а превью работает лишь до конца 25 ноября. Разработчик, который сидит на Gemini или на Claude SDK, оказывается перед простым вопросом: стоит ли тратить вечер на перенос, если через две недели модель отключат? Ниже разобрано, что именно менять в коде, что проверить заранее и как честно посчитать цену, когда в прайсе нет привычных долларов за миллион токенов.
Что Alibaba открыла 11 ноября и почему превью закроется меньше чем через две недели
Идентификатор модели - qwen4-max-preview, в описании встречается и запасное имя qwen4.0-max-preview. Превью идёт с 10:00 11 ноября до 24:00 25 ноября по времени UTC+8. Если пересчитать, получается ровно 350 часов, то есть четырнадцать суток и ещё четырнадцать часов. По московскому времени окно открылось в 5:00 утра 11 ноября и закроется в 19:00 25 ноября. Alibaba отдельно оговорила, что за этот период с моделью ничего не будет меняться, а после его окончания модель выведут из работы целиком.
Чего в публичном доступе нет, сказано так же прямо. Карточка модели не опубликована, независимых и официальных бенчмарков нет, число параметров не раскрыто, открытых весов тоже не видно. Для инженера это означает одно: решение о переносе придётся принимать не по таблицам с процентами, а по собственным тестам на своих данных.
Что известно точно, укладывается в короткий список возможностей. Рассуждение включено по умолчанию, и его глубину задают параметром reasoning_effort. Модель принимает изображения и видео, поэтому подходит для разбора скриншотов, документов и роликов. Есть вызов функций, веб-поиск и встроенные инструменты, а ответ можно получить как JSON-объект или строго по JSON Schema. Протоколов три: OpenAI Chat Completions, OpenAI Responses и Anthropic Messages. Последний пункт и делает перенос с Claude SDK почти косметическим, по крайней мере на бумаге.
Пощупать качество без подписки можно в чат-сервисе Qwen: по сообщениям пользователей, Qwen4-Max-Preview там появилась в списке моделей, в том числе на бесплатном плане. Для первого впечатления хватит, а вот проверить, как модель ведёт себя в инструментах для разработки, получится только с подпиской.
Как подключить модель через эндпоинт, совместимый с Anthropic Messages API
Token Plan выдаёт отдельный API-ключ и отдельный базовый адрес. Обычный ключ Model Studio к этой модели не подходит, и это первая ловушка: многие начинают с того, что подставляют старый ключ, получают отказ и решают, что модель сломана. Базовый адрес для превью такой: https://token-plan.ap-southeast-1.maas.aliyuncs.com. Это сингапурский регион, и данные при обращении идут именно туда.
Для каждого протокола у подписки свой путь. В пекинском регионе, к примеру, OpenAI-совместимый маршрут заканчивается на /compatible-mode/v1, а Anthropic-совместимый на /apps/anthropic. По аналогии логично ожидать такую же схему и у сингапурского адреса, но полный путь для своего региона надёжнее всего скопировать из консоли, из раздела с ключом подписки. Угадывать окончание не стоит: ошибка в одном сегменте даёт невнятный отказ, на разбор которого уходит час.
Самый короткий путь для тех, кто работает в Claude Code, - настройки окружения. В файл ~/.claude/settings.json добавляются три переменные:
{
"env": {
"ANTHROPIC_BASE_URL": "https://<адрес-из-консоли-для-протокола-Anthropic>",
"ANTHROPIC_AUTH_TOKEN": "<выделенный-ключ-Token-Plan>",
"ANTHROPIC_MODEL": "qwen4-max-preview"
}
}
Для кода на Python с официальным пакетом anthropic меняется всё то же самое, то есть адрес, ключ и имя модели:
import os
import anthropic
client = anthropic.Anthropic(
base_url=os.environ["QWEN_ANTHROPIC_BASE_URL"],
api_key=os.environ["QWEN_TOKEN_PLAN_KEY"],
)
reply = client.messages.create(
model=os.environ.get("LLM_MODEL", "qwen4-max-preview"),
max_tokens=8000,
messages=[{"role": "user", "content": "Сделай краткий обзор diff-а"}],
)
print(reply.content[0].text)
Имя модели здесь читается из переменной окружения. Когда превью закончится, возвращаться к прежнему провайдеру придётся быстро, и правка одной строки в .env выглядит куда спокойнее, чем поиск по всему репозиторию.
Список проверок переноса, который стоит пройти до того, как в коде поменяется base_url
Хороший перенос начинается не с кода, а с проверки условий. Пройти все пункты можно за час, а пропуск любого из них потом обходится в вечер отладки:
- Оформить Token Plan Personal или Team и получить выделенный ключ, потому что обычный ключ Model Studio для этой модели не работает;
- Прочитать условия своей версии подписки и убедиться, что сценарий разрешён, ведь личная версия рассчитана на интерактивную работу в инструментах, а не на серверные скрипты;
- Взять из консоли точный адрес для нужного протокола, Anthropic Messages или OpenAI, не достраивая путь по догадке;
- Вынести имя qwen4-max-preview и базовый адрес в переменные окружения, чтобы откат занимал минуту;
- Пересмотреть лимит вывода, так как max_tokens теперь делит бюджет между рассуждением и итоговым ответом;
- Выбрать глубину рассуждения: по умолчанию стоит максимальная, а для простых задач хватает low или medium, причём reasoning_effort и thinking_budget одновременно не задают;
- Возвращать историю рассуждений в многоходовых диалогах отдельным полем reasoning_content у сообщений ассистента, не склеивая её с обычным текстом;
- Перепроверить схемы вызова функций и JSON Schema на живых примерах, не полагаясь на то, что формат один в один совпадает с прежним провайдером;
- Собрать собственный набор из 50-100 типичных запросов и прогнать его на старой и на новой модели, поскольку публичных бенчмарков нет;
- Оставить прежнего провайдера рабочим до 25 ноября и дальше, потому что после окончания превью модель исчезнет.
Дальше разобраны пункты, на которых чаще всего спотыкаются, - лимит вывода, рассуждение и цена.
Три параметра Qwen4-Max-Preview, которые заставят привычный код обрезать ответы
Самое неочевидное изменение касается лимита вывода. В Qwen4-Max-Preview параметр max_tokens в режиме OpenAI Chat Completions приравнен к max_completion_tokens, и оба ограничивают сумму токенов рассуждения и итогового ответа. Раньше многие выставляли лимит только под текст ответа. Теперь рассуждение съедает часть того же бюджета. Если в проекте стоит max_tokens в 2 000, а модель на максимальной глубине потратила на размышления 1 800, на сам ответ остаётся 200 токенов, и пользователь увидит обрубок фразы. Для остальных моделей Qwen поведение осталось прежним, поэтому проблема возникает только после смены идентификатора.
Второй параметр - глубина рассуждения. Доступны значения low, medium и xhigh, причём последнее выставлено по умолчанию. Для классификации, короткой переписки и извлечения полей из текста максимальная глубина лишняя: она растягивает задержку и расходует кредиты подписки. Для сложной отладки кода или многошаговой аналитики, напротив, чем глубже, тем лучше. Если в запросе одновременно указать reasoning_effort и thinking_budget, получится конфликт настроек, поэтому выбирают что-то одно.
Третий параметр - история диалога. В Chat Completions по умолчанию включён режим preserve_thinking: модель ожидает увидеть свои прежние размышления в поле reasoning_content сообщений ассистента. Если вместо этого они склеены с обычным текстом, качество в длинных диалогах заметно проседает. Минимальный пример на OpenAI-совместимом клиенте выглядит так:
from openai import OpenAI
import os
client = OpenAI(
base_url=os.environ["QWEN_OPENAI_BASE_URL"],
api_key=os.environ["QWEN_TOKEN_PLAN_KEY"],
)
history = [{"role": "user", "content": "Найди ошибку в функции"}]
resp = client.chat.completions.create(
model="qwen4-max-preview",
messages=history,
reasoning_effort="medium",
max_completion_tokens=12000,
)
msg = resp.choices[0].message
history.append({
"role": "assistant",
"content": msg.content,
"reasoning_content": getattr(msg, "reasoning_content", None),
})
Потолок вывода у модели высокий: 393 216 токенов, и это примерно втрое больше, чем 128 000 у Claude Sonnet 5.5. Для генерации больших документов или кода целыми модулями такой запас пригодится, но вместе с ним растёт и расход кредитов, так что выставлять максимум просто так не стоит.
Сколько стоит Qwen4-Max-Preview в кредитах Token Plan и как сравнить цену с привычной за миллион токенов
С конкурентами всё прозрачно. Claude Sonnet 5.5 стоит 2 доллара за миллион входных токенов и 10 долларов за миллион выходных, пакетный режим вдвое дешевле, а чтение из кэша обходится в 10 центов за миллион. Типичный запрос со 100 тысячами токенов на входе и 20 тысячами на выходе обходится в 40 центов: 0,2 доллара за вход и столько же за выход. Если же забить окно целиком, один только вход в 1 млн токенов даёт 2 доллара за запрос, а с выходом в 20 тысяч набегает 2,2 доллара. Для длинного контекста это принципиальная цифра: окно в миллион токенов впечатляет, пока не начнёшь умножать его на количество запросов.
У Gemini картина ступенчатая. Gemini 3.1 Pro стоит 2 доллара за миллион входных токенов и 12 за выходные, пока запрос укладывается в 200 тысяч токенов. Как только промпт длиннее, тариф вырастает до 4 и 18 долларов, причём на весь запрос, а не только на хвост. Поэтому один запрос с заполненным окном в 1 млн токенов и выводом в 20 тысяч обходится примерно в 4,36 доллара, то есть почти вдвое дороже, чем у Claude Sonnet 5.5. Gemini 3.8 Flash сейчас предлагается по вводному тарифу, 0,75 доллара за миллион входных токенов, но только до 31 декабря: с 1 января 2027 года цена удваивается до 1,5 доллара.
У Qwen4-Max-Preview цены за токен просто нет. Подписка измеряется в кредитах, и расход кредитов за запрос зависит от модели, числа токенов, режима рассуждения и вызовов инструментов. Личные тарифы после обновления, которое вступило в силу 9 ноября, такие: Lite даёт 20 000 кредитов в месяц за 6 долларов (новым пользователям до 30 ноября первый тариф достаётся за 3 доллара), Essential 45 000 за 10, Standard 80 000 за 18, Pro 200 000 за 43. Если разделить цену на квоту, тысяча кредитов стоит около 0,30 доллара на Lite, 0,22 на Essential, 0,225 на Standard и 0,215 на Pro. Дополнительный пакет в 20 000 кредитов стоит 15 долларов, то есть 0,75 доллара за тысячу, и это заметно дороже, чем кредиты внутри тарифа. В командной версии места стоят 20, 75 и 200 долларов за 25 000, 100 000 и 250 000 кредитов, примерно 0,80, 0,75 и 0,80 доллара за тысячу.
Чтобы получить цену за запрос, нужна одна замеренная цифра: сколько кредитов уходит на ваш типичный запрос. Её видно на странице анализа использования в консоли. Но у превью есть оговорка, без которой расчёт выйдет слишком радужным. Пока оно идёт, Qwen4-Max-Preview списывает всего 20% от стандартного числа кредитов, а с 22:00 до 08:00 по Пекину, то есть с 17:00 до 03:00 по Москве, всего 8%. Стандартный расход Alibaba не опубликовала, поэтому замер в консоли занижает будущую цену в 5 раз днём и в 12,5 раза ночью.
Посчитать можно так. Допустим, сто дневных тестовых запросов съели 1 200 кредитов. Тогда один запрос стоит 12 кредитов, и на тарифе Standard это 0,0027 доллара. В пересчёте на стандартный расход, когда акция закончится, получится 60 кредитов и около 0,0135 доллара. Именно вторую цифру стоит ставить рядом с расходом на Claude или Gemini на той же нагрузке, а первую можно считать бонусом на время превью. Есть и подвох: число токенов в Claude Code или другом инструменте расходится с цифрами в консоли, потому что рассуждение и вызовы инструментов тоже списывают кредиты, а клиент их не показывает. Сравнивать нужно кредиты из консоли, а не счётчик инструмента.
Условия подписки, от которых зависит, годится ли превью для рабочего проекта
Самый важный пункт спрятан в правилах личной версии. Подписка рассчитана на интерактивную работу в инструментах вроде Claude Code, Cursor, Qwen Code, Qoder и OpenClaw. Использовать выделенный ключ в автоматических скриптах, в серверной части собственных приложений и в любых пакетных вызовах без участия человека нельзя. За нарушение подписку могут приостановить, а ключ заблокировать. Выходит, что перенос серверного кода на Claude SDK или Gemini SDK на личную подписку формально запрещён, и этот пункт надо прочитать раньше, чем писать хоть строчку.
В правилах командной версии такого прямого ограничения нет: сообщается, что любой инструмент с настраиваемым адресом и ключом подойдёт, в том числе Cursor, Claude Code, Cline и Cherry Studio. Но стоимость места начинается с 20 долларов в месяц, а условия работы серверного кода всё равно стоит уточнить до оплаты. Для команды заявлена также защита данных: разговоры не используются для обучения моделей. Для личной версии использование данных определяется общим сервисным соглашением, и разница между этими формулировками важна, если в запросах есть чувствительный код.
Отдельный вопрос - регион. Адрес превью находится в сингапурском регионе, а значит, запросы с кодом и документами уходят на серверы за пределами страны. Для открытых проектов это не проблема, а вот для закрытой кодовой базы такой факт стоит согласовать с тем, кто отвечает за безопасность.
Что успеть за десять суток до 25 ноября и как не оказаться без модели в последний вечер
Времени мало, и тратить его лучше по плану. Первые два дня уходят на ключ и проверку связи: оформить подписку, получить ключ, отправить один простой запрос и убедиться, что расход кредитов виден в консоли. Следующие три дня стоит отдать тесту качества на собственном наборе запросов, где одновременно замеряются три вещи: правильность ответов, задержка и расход кредитов на запрос. Сравнивать нужно на одинаковых промптах, а глубину рассуждения прогнать минимум в двух режимах, medium и xhigh, чтобы увидеть, за что приходится платить. Замерять расход лучше в одни и те же часы: ночью по Пекину кредиты списываются в 2,5 раза слабее, чем днём, и ночной замер исказит картину.
Ещё два-три дня нужны для проверки длинного контекста, ведь именно он главный козырь превью. Загружать документ на 1 млн токенов сразу не обязательно: сначала 200 тысяч, потом 500, потом 900, и на каждой отметке задавать вопросы про факты из начала, середины и конца текста. Если на 900 тысячах модель теряет середину, это ценное наблюдение, и оно останется в силе, даже когда превью закончится.
Последние сутки лучше оставить на решение, а не на правки. Если модель по результатам показала себя лучше прежней, остаётся помнить, что обычного API у неё пока нет, и опираться на неё в рабочем проекте нельзя. Разумный итог - написать слой, где провайдер и модель меняются через переменные окружения, сохранить тестовый набор и дождаться, когда Alibaba объявит условия для полноценного релиза: цену за токен, карточку модели и бенчмарки. К тому моменту код уже будет готов, а решение будет опираться на цифры, а не на ощущения.