← all posts
// models · qwen

Qwen 3.6 Plus: Migrating without changing behavior by accident

Ship qwen3.6-plus only after it clears the same contract tests and evals your current model passes, with a rollback you can flip without a deploy. That's the whole rule. The rest of this earns it.

Qwen's docs list 3.6 Plus among the newer hosted models on Alibaba Cloud Bailian, for general and coding-agent work, a different lineage than the open-weight Qwen3 you might run. The id you pin in code is qwen3.6-plus. Check the current docs before shipping: aliases, previews, prices, and availability all move.

decide what counts as working before you flip the switch

Write down what a correct answer looks like before the first prompt. Not just plausible-sounding. Extraction needs a schema-valid record whose fields trace back to the source. Coding needs a patch that passes tests and survives review. Research needs a claim set where every claim has a traceable citation. Fluency sits on none of those lists, and a better-writing model can still fail the test that matters.

The method is deliberately dull: pin old and new versions, replay real traffic, diff the structured output, and read the tool calls, not just the final text. Canary the new model behind a route you can revert in one line. Keep the request identical across runs: same system instructions, tool schemas, attached files, sampling or reasoning settings, and output limit (see local sampling settings). Give one harness native tools, the other pasted terminal output, and the same model reads like two products.

Log this per request, not just the failures:

model id + dated api version
prompt and tool-schema revision
tokens: input, cached, reasoning, output
latency: queue, first token, total
outcome: pass, retry, abstain, human fix
provider errors and fallback route

the swap that bites is the alias, not the weights

The expensive mistake is editing a model alias in production and calling syntactically valid output proof of compatibility. Frontier models make that easy to miss: almost everything they produce reads plausible. Score whatever properties ordinary code can check, get a reviewer to label specific defects, and keep the wrong answers instead of deleting them. A handful of real failures teaches you more about where to route and guard than a stack of passing runs.

A bigger context window earns more suspicion, not less. Extra capacity doesn't shrink prefill time. Retrieval noise doesn't quiet down either, and trusted instructions still need separating from untrusted documents. Cache the stable part of the prompt first, keep volatile metadata off the cache boundary, and send a structured checkpoint instead of full history. Output wants the same restraint: a short decision with its evidence beats a model that decided you wanted a tutorial.

Tool calling just relocates the risk. The provider may pick the right function better, but your app still validates arguments, checks authorization, caps the blast radius, dedupes retries, and logs what happened. A web page, a file, an email, a tool result: none of it is authority just because a smarter model read it. A narrower interface still beats a smarter model bolted onto a wide-open one, a lesson migration reality teaches every team.

Put the rule in configuration, not in whoever remembers which model is fashionable this month. Log model identity, phase timings, token categories, tool outcomes, and eval results, without keeping sensitive prompt content by default. Pin dated versions where stability matters, watch deprecation notices, canary an alias before full traffic, and keep a fallback that works. Re-run the eval set whenever the model, prompt, tool contract, or reasoning default changes.

Keep a cheap, fast lane for routine work and one clear escalation condition: the expensive model earns tasks that benefit from it, not every request, and a cheap tier stops paying for itself once retries and review cost more than the inference it saved. The goal was never a permanent winner, just knowing which work this model does reliably, what it costs, and when to switch.

Ship qwen3.6-plus when it clears your contract tests and evals with a rollback wired in. That's the rule. Keep it.

#qwen#alibaba#coding#evaluation