Qwen 3.8 Max против 3.7 Max: стоит ли переходить

Новая версия почти всегда выглядит привлекательнее в названии. Разбираем, что на самом деле означает суффикс preview и как проверить разницу на своих задачах.

4 мин · · Обновлено · модели

Обновление, октябрь 2026. Модели Qwen (qwen3.8-max-preview, qwen3.7-max, qwen3.7-plus, qwen3.5-flash) сейчас недоступны в Zukko. Актуальный список моделей — страница «Модели» или GET https://api.zukko.pro/v1/models. Ближайшая замена: glm-5.3 (вместо qwen3.8-max-preview / qwen3.7-max / qwen3.7-plus) и glm-5.3-flash (вместо qwen3.5-flash); у GLM контекст 128K и нет vision.

В каталоге Qwen был представлен четырьмя id: qwen3.8-max-preview, qwen3.7-max, qwen3.7-plus, qwen3.5-flash. Разница между 3.8 Max и 3.7 Max не только в номере версии — у 3.8 в имени есть суффикс -preview, и это не косметика, а сигнал о статусе модели.

Что означает суффикс preview на практике

Preview-статус обычно означает, что модель ещё не считается финальной версией линейки: поведение может немного меняться от обновления к обновлению, а сам id — не гарантия долгосрочной стабильности так же, как у моделей без этой пометки. Это не значит, что использовать её нельзя, но при прочих равных стоит закладывать чуть больше осторожности: тестировать перед переключением продакшн-трафика и быть готовым к тому, что модель со временем может смениться на нового кандидата в линейке.

qwen3.7-max — версия без пометки preview, то есть более предсказуемый выбор там, где важна стабильность поведения между запусками одного и того же промпта на длинной дистанции.

Как реально сравнить, а не гадать по номеру версии

Оба id шли с vision, extended thinking и контекстом 1,000,000 токенов — по формальным возможностям разницы между ними не было (у моделей каталога это не всегда так: у GLM, например, 128K и без vision). Разница может быть в качестве ответов на конкретный тип задач и в цене. Проверяется это одинаково: смотрим /v1/models/info на цену и лимиты, затем прогоняем свои промпты.

bash
curl https://api.zukko.pro/v1/models/info | jq '.data[] | select(.id | startswith("qwen"))'
bash
curl https://api.zukko.pro/v1/chat/completions \
  -H "Authorization: Bearer fetch_ваш_ключ" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "qwen3.8-max-preview",
    "messages": [{"role": "user", "content": "Сгенерируй SQL-запрос для подсчёта retention по когортам за 30 дней"}],
    "max_tokens": 500
  }'

Замените model на qwen3.7-max и сравните два поля: содержимое ответа и заголовок X-Zukko-Cost-Micros в каждом из них. Если разница в цене за одинаковый по объёму ответ существенная, а качество сопоставимо — экономический выбор очевиден без всякого маркетинга.

Заранее считать токены перед сравнением на объёме

Если сравнение идёт не на одном запросе, а на пакете из сотен промптов, дороже всего обходится не сама генерация, а невнимательность к размеру контекста. Для Anthropic-совместимых моделей есть бесплатный /v1/messages/count_tokens, но обе версии Qwen работают через OpenAI-совместимый путь, где такого отдельного эндпоинта нет — ориентируйтесь на поле usage в ответе /v1/chat/completions и на GET /v1/usage для истории (она общая на весь аккаунт, без фильтра по ключу).

Idempotency-Key при массовом тестировании

При прогоне одинаковых промптов через обе модели полезно на каждый уникальный запрос ставить свой Idempotency-Key — если тестовый скрипт упадёт и перезапустится, повторные запросы с теми же ключами не спишут деньги дважды за то, что уже было посчитано.

Что будет, если preview-модель снимут с каталога

Если модель выключают в каталоге — а с Qwen это уже произошло (см. врезку выше), — запрос к ней возвращает 503 с кодом model_disabled (не 404 и не model_retired):

bash
{"error": {
  "code": "model_disabled"
}}

Замену в самом ответе искать не стоит — сверяйтесь с актуальным списком GET https://api.zukko.pro/v1/models. Стоит закладывать обработку этого кода в код заранее, если в проде используется именно preview-версия, а не ждать, что она останется навсегда с тем же id.

Ограничить ключ только стабильной версией

Если решили не рисковать preview-моделью в проде, у каждого API-ключа можно задать список разрешённых моделей прямо в кабинете на странице ключа — тогда даже случайный вызов qwen3.8-max-preview из чужого куска кода вернёт 403 model_not_allowed_for_key, а не тихо уйдёт в биллинг. Для тестового ключа, наоборот, стоит явно разрешить обе версии, чтобы сравнение не упиралось в лимиты политики. Там же настраивается дневной или месячный лимит расхода в долларах — полезно на время экспериментов с preview-моделью, поведение которой ещё не устоялось.

Кэш, если один и тот же промпт гоняется по кругу

При отладке сравнения велик соблазн повторно слать тот же промпт, чтобы проверить стабильность ответа. Если задать заголовок X-Zukko-Cache: true (temperature: 0 тоже включает кэш, но только у моделей, которые принимают этот параметр; Claude-модели — claude-sonnet-5, claude-opus-5-5 — могут отклонить temperature, отличную от 1, с ошибкой 400, поэтому им его не передавайте), повторный запрос с полностью совпадающим телом от того же пользователя вернётся из кэша мгновенно и бесплатно (и не попадёт в /v1/usage), с пометкой X-Zukko-Cache: hit в ответе — не спутайте такой ответ с новым вызовом модели при подсчёте средней цены по нескольким прогонам.

Прежде чем переключать весь трафик

Если 3.8 Max проходит тесты, разумнее не менять модель везде разом, а сначала пустить через неё небольшую долю реальных запросов и сравнить фактическое качество ответов пользователей, а не только тестовые промпты. Это дешевле, чем откатывать всё обратно, если preview-версия поведёт себя иначе на реальном трафике, чем на подготовленных примерах.

Практический вывод

Переходить на 3.8 Max стоит, если тестирование на своих промптах показывает ощутимую разницу в качестве, а к возможной нестабильности preview-статуса вы готовы. Если задача критична к предсказуемости поведения между релизами, qwen3.7-max — более безопасный выбор по умолчанию, пока 3.8 не потеряет пометку preview.

zukko

Платите в 25×
меньше

за Claude Code & ChatGPT

Один ключ fetch_* и base URL api.zukko.pro — в Cursor, Claude Code, Codex и любом SDK.