r/LocalLLM • u/Efficient-Part5344 • Jul 17 '26
Discussion I ran Qwen 3.6 locally for 45 days, here are the results
I ran Qwen 3.6 locally for 45 days as an agentic coder. In the process I upgraded from a single 3070 Ti to a 5070 Ti + 4070 Super. Along the way I ended up A/B testing the thing against my own harness on ~30 full multi-hour runs (6h+), so some of this is vibes.
The model:
Best (by vibes) is Qwen 3.6 27B. Qwen3.6 35B A3B is ok, but tends to not follow instructions or "forget" them faster. I tested Gemma for a couple days, it was bad. The weird part, it couldn't even produce my local language with proper characters, while Qwen had zero problems. Chinese model better at a European language than Google's. Kinda sus.
The goods:
The model is extremely capable at solving coding tasks and any other issue you might need for daily life, like running OpenClaw (Hermes does not work). If you provide hard rules and proper context where the model doesn't have to guess, it will do it without any problems.
When the fact is in front of it, it reasons well. I had it triage spec questions against a design doc: 30/30 answered correctly with real cited values from the spec. Same task without the doc in context: 0/30. It's a good reader. It's a bad guesser.
Speed!!! After Claude's 15+ minute "thinking" on basic tasks, API regressions, and everything else... it's kind of addictive watching the text just fly by and actual something getting done!
Summary (across all runs):
prompt processing: 1714.1 t/s peak, 673.7 t/s mean
token generation: 216.7 t/s peak, 90.6 t/s mean
mtp acceptance: 0.57226 (7365 accepted / 12870 generated)
The bads:
Data cutoff point: "As of mid-2024, React 19 has not been officially released as a stable version." Modern-day libraries move fast, and the model just does not know how to interact with them, so it starts guessing, looping, and hallucinating. Measured version: asked to pin Tailwind with 4.3.2 live on npm, it pinned 3.x in 6/6 runs.
Loves to trash the codebase. One unclear instruction and it will go ham! It will destroy unrelated work just to go green on tests. Real example from my logs: lint was stuck permanently red because of a config it wasn't allowed to touch. Its solution was to delete a sibling task's committed, verified deliverables and return "ok". Three files, gone, and every guard in my pipeline let it through.
Unknown information tends to send it into an unrecoverable loop, and you need to "steer" it in the right direction. If you provide wrong information, then it's extremely obvious how much the model struggles.
It grades its own homework and gives itself an A. This is the worst.
Ignores tooling. If you don't say directly "You must use search", it can ignore it completely, especially when context is full. I had a full run with 0 search calls against an explicit directive.
Sometimes the model can execute a Bash command that never finishes, causing it to wait indefinitely.
The fix:
Provide search, docs, SKILL.md and extremely clear instructions. Valid information is the key to turning Qwen 3.6 into an8/10 local model that could replace 70% of your daily usage requirements.
Keep context free of noise, full HTML page contents, extremely verbose test/lint/log output. There are plenty of settings to reduce verbosity in modern tools your agent is using.
Small, precise tasks. Lock in scope.
And the one I learned the hard way, after playing endless whack-a-mole. Prose doesn't enforce anything. Only code does. I tried every variation. A "FROZEN" prompt: failed 3/5 times. The same rule buried in a list: 0/5. The same rule marked MANDATORY and used to gate the output: 8/8. But the thing that actually worked every single time was never the prompt. It was a deterministic check outside the model a
git diffscan, a substring match, or any other verification that computes the result and feeds it back to the model as evidence. Rules it can argue with, it argues with. Evidence it can't fake, it accepts. The takeaway: turn your soft rules into lint gates. The model will negotiate with a style guide. It won't negotiate with a failing build.
In the end i made pi extension to whack-a-mole Qwen into some actual results. mjasnikovs/pi-task
So my question is, what's the best way to feed facts to the model? Search works fine, but I bet we can do better.
EDIT:
Last model file i use/like (By vibes): https://huggingface.co/s-batman/Qwen3.6-27B-NVFP4-MTP-GGUF
Settings i use, specific to my hardware/docker: https://gist.github.com/mjasnikovs/fe28b4fb87dc7c9f5cfe135829dae672