Qwen 3.8 27B Needs 22,000 Tokens to Draw a Pelican Alibaba's Qwen 3.8 27B open-weight vision model, released under Apache 2.0, takes 21 minutes and 22,276 reasoning tokens to draw a pelican riding a bicycle as an SVG, according to Simon Willison's testing on an M5 Max MacBook Pro and an NVIDIA DGX Spark. The model defaults to an 'xhigh' reasoning effort, causing excessive deliberation on simple tasks like drawing a circle, despite excelling at bounding-box tasks. Community members on Hugging Face and Willison's newsletter suggest lowering temperature to 0.7 to mitigate overthinking. Qwen 3.8 27B dropped from Alibaba’s Qwen research lab, Apache 2 licensed, vision-capable, and sized right where a lot of us live: 27B parameters, small enough to run on a well-specced laptop, big enough to be useful. Its predecessor, Qwen 3.6 27B, was already a strong model. The self-reported benchmarks for 3.8 claimed real gains over it – and even over the closed-weight Qwen 3.7-Plus, according to Simon Willison’s writeup https://simonwillison.net/2026/Aug/16/qwen-38-27b/ . That’s the kind of release notice that gets bookmarked immediately. A 27B open-weight model beating a closed-weight sibling on paper is worth your afternoon. Then people actually ran it. 21 minutes for a pelican Willison’s now-standard benchmark for these releases is asking a model to draw a pelican riding a bicycle as an SVG. It’s not a serious capability test, but it’s a good stress test for how a model behaves when given a simple, bounded task. Qwen 3.8 27B took 21 minutes and 22,276 reasoning tokens to produce that SVG. Twenty-two thousand tokens of internal monologue to draw a bird on a bicycle. It gets weirder. Asked for a plain circle – about as low-stakes a graphics request as exists – the model reportedly turned it into an elaborate animated artwork instead of just, you know, drawing a circle. This wasn’t a one-off fluke either; it showed up across the hardware Willison tested on, an M5 Max MacBook Pro and an NVIDIA DGX Spark, which rules out the usual “must be a quantization issue” excuse. The frustrating part is the model is genuinely good underneath the overthinking. Testing found it excels at bounding-box tasks – real spatial reasoning, useful for anyone doing vision pipeline work. The intelligence is there. It’s just buried under a default behavior that treats every prompt like a math olympiad problem, including the ones that are just “draw a circle, please.” Why does it default to this? The model ships with a default reasoning effort setting of “xhigh.” That’s the root of it. Push a thinking model’s effort dial all the way up by default, and it will burn tokens deliberating on tasks that don’t need deliberation. A circle doesn’t need 22,000 tokens of internal debate. Nothing does, honestly, but a circle really doesn’t. One comment on Willison’s newsletter https://open.substack.com/pub/simonw/p/qwen-38-27b-is-excellent-but-it-defaults?comments=true , from a reader named Alec Pritzos, floated a theory worth sitting with: benchmark tables score accuracy, not latency. If you’re optimizing a model release for how it looks on a leaderboard, cranking the reasoning effort to xhigh is exactly what makes the numbers pop – and whoever runs it locally eats the 21 minutes. Nobody’s benchmark table has a latency column. Nobody’s shipping decision gets punished for shipping a model that thinks too long, only for one that thinks too little and gets an answer wrong. Whether or not that’s the actual internal reasoning at Qwen, it’s a plausible incentive structure, and it’s one worth remembering the next time a new “SOTA” open-weight release lands with eye-popping numbers and a reasoning knob nobody mentioned in the README. Another commenter, Barzin Lotfabadi, mentioned hearing that dropping the temperature to 0.7 helps with the overthinking – though by his own admission, he hadn’t tested it himself. Worth trying. Not worth trusting blind. The community already found the knobs Head over to the Hugging Face discussion thread https://huggingface.co/Qwen/Qwen3.8-27B/discussions/97 for this model and you’ll see the same complaint posted independently, multiple times, in almost identical language. A user named xuguowong: “This is a preview model i think, it always thinking and thinking, can it stop?” Another user, TAOTAO777, posted the exact same sentence five days ago. That’s not a coincidence – that’s a model shipping with a default that surprises everyone who touches it. The good news: there are real answers in that thread, not just commiseration. TAOTAO777 points to a --reasoning-budget N flag, where N is the number of thinking tokens you’re willing to spend. That’s the blunt instrument – cap it, and the model stops deliberating once it hits the ceiling, whether or not it’s “done” thinking. A user called vonamakitsune points out something more fundamental: the model ships with three thinking levels for a reason. If xhigh is the default and it’s wrecking your latency, you’re not stuck – you’re supposed to change it. That’s the framing that matters here. This isn’t a broken model. It’s a model shipped with a bad default, which is a very different problem with a very different fix. If you’re running Qwen 3.8 27B locally, that’s your starting checklist: - Drop the reasoning effort off xhigh. Try high or medium first and see if quality holds. - Set an explicit --reasoning-budget if your inference stack supports it, rather than trusting the model’s own sense of when it’s finished thinking. - Try temperature 0.7 if you’re still seeing runaway reasoning chains, with the caveat that this is anecdotal, not verified. - Don’t judge the model on its default config. Judge it on the config you actually ship with. Why this matters beyond one model We’ve been down this road before. If you’ve read our Qwen3-VL Integration Gotchas /posts/qwen3-vl-integration-gotchas-2e027bce post, you know the Qwen family in general ships with a lot of capability and a lot of sharp edges around exactly this – thinking traces, token budgets, and defaults that assume you’re benchmarking rather than serving production traffic. We run qwen3-vl:30b as a vision fallback role in our own pipeline. It’s a solid model for what we ask it to do – open-ended generative vision tasks, not just bounding-box classification – but we learned early that you cannot treat its thinking behavior as a free lunch. We have a setting in our production config, qa vision thinking num predict , capped at 8000 tokens specifically because letting a thinking-capable vision model run unbounded turns a QA check into a coffee break. That number isn’t arbitrary. It’s the result of watching jobs queue up behind a model that decided a straightforward visual QA task deserved a philosophical detour. We also maintain an explicit list of thinking model substrings in our settings – qwen3, qwen3.5, glm-4.7- ASUS ROG Astral RTX 5090 /go/asus-rog-astral-nvidia-geforce-rtx , deepseek-r1 – because our pipeline needs to know, ahead of time, which models are going to emit a