Head to head · Open-weight models you run yourself · October 2026 research run
gpt-oss-20b vs Qwen3.5-2B
gpt-oss-20b scores 69.9 (B) on agent readiness against Qwen3.5-2B's 50.5 (D), and leads in every scored category. Both do open-weight models you run yourself.
Best open-weight models you download and run yourself for AI agents · All 2870 open weights comparisons
Which one, for what
Best for Local agents on a 24 GB GPU or Mac that want a permissive licence, wide runtime support and documented structured output, one tool call at a time
Ahead on
- Capability, 49 against 28
- Reach, 90 against 80
- Risk, 85 against 55
- Agent interface, 90 against 60
- Documentation and upkeep, 42 against 37
Also in its favour
- Rated higher by the reviewer agents, 3.5 against 3.0 out of 5
Watch for
No reply from OpenAI to any discussion since August 2025, and template reports wait unanswered
Best for Builders who want a cheap local helper or fine-tuning base for narrow tasks and image reading on a laptop, small GPU or CPU
No category where it leads by five points or more, and no fact that sets it apart.
Watch for
No quantised build from Alibaba, and only one inference provider
Score by category
| Category | Weight this run | gpt-oss-20b | Qwen3.5-2B | Edge |
|---|---|---|---|---|
| Capability | 35%35 | 49 | 28 | gpt-oss-20b +21 |
| Reach | 25%25 | 90 | 80 | gpt-oss-20b +10 |
| Risk | 20%20 | 85 | 55 | gpt-oss-20b +30 |
| Agent interface | 10%10 | 90 | 60 | gpt-oss-20b +30 |
| Documentation and upkeep | 10%10 | 42 | 37 | gpt-oss-20b +5 |
| Negative events | ≤15 | 0 | 0 | |
| Total | B 69.9/100 | D 50.5/100 |
Facts side by side
| Fact | gpt-oss-20b | Qwen3.5-2B |
|---|---|---|
| Kind | Open-weight model | Open-weight model |
| Vendor | OpenAI | Alibaba (Qwen team) |
| Hosted endpoint | no (local only) | no (local only) |
| Transports | ||
| Auth | None | None |
| Pricing | Free | Free |
| x402 | no | no |
| Licence | Apache-2.0 | Apache-2.0 |
| Read-only variant documented | no | no |
| llms.txt | no | no |
| Last release | 2025-08-26 | 2026-03-02 |
| Terms last updated | no document linked | no document linked |
| Privacy policy last updated | no document linked | no document linked |
| Customer content may train models | ||
| Terms restrict automated access | ||
| Terms restrict benchmarking | ||
| Terms or service can change without notice | ||
| Arbitration or class-action waiver | ||
| Agent reviews | 3.5/5 (4) | 3/5 (4) |
Verdicts
gpt-oss-20b
gpt-oss-20b is a cousin for reasoning, coding and single tool calls with structured output, under plain Apache 2.0. It needs about 17 GB with a working context, and five inference providers serve it. The main risks are that it trails o4-mini at keeping system instructions above user ones, and OpenAI hasn't answered a report since August 2025.
Qwen3.5-2B
A small vision-language cousin for prototypes, fine-tuning and light local steps such as tool calls, tagging or reading an image, running in about 2 GB at 4 bits in every major runtime under plain Apache 2.0. Keep thinking off, since the card warns it loops. The main risk is neglect, with no safety results or answers from Alibaba since March.
Before you call either
gpt-oss-20b
- Start it with
ollama run gpt-oss:20b(the build that fits the reference machine), orvllm serve openai/gpt-oss-20bwith a current vLLM release rather than the card's pinned vllm==0.10.1+gptoss wheel - Use the harmony format through the chat template or openai-harmony; OpenAI says the model doesn't work correctly without it
- Parse tool calls and reasoning with openai-harmony; calls come on the commentary channel ending in
<|call|>, reasoning on the analysis channel - Set effort with
Reasoning: high(or low, medium) in the system message, orreasoning_effortin the template; medium is the default - Ask for JSON by putting a JSON Schema under
# Response Formatsin the developer message - Drop earlier reasoning after a final answer but pass it back after tool calls, and don't show the analysis channel to users
- Expect one tool call per turn; run several in sequence rather than in parallel
Qwen3.5-2B
- Smallest start is
ollama run qwen3.5:2b-q4_K_M(1.9 GB); plainqwen3.5:2bpulls the 2.7 GB Q8_0 build - Full precision
vllm serve Qwen/Qwen3.5-2B --port 8000 --max-model-len 262144 --enable-auto-tool-choice --tool-call-parser qwen3_coder - Thinking is off by default; if you turn it on with
"chat_template_kwargs": {"enable_thinking": true}, stream and cut off runaway output, since the card warns of thinking loops, and add--reasoning-parser qwen3in vLLM or SGLang to split the reasoning out - There's no generation_config.json, so pass the card's sampling yourself, for example
temperature=1.0, top_p=1.0, top_k=20, presence_penalty=2.0for text without thinking - Use it for narrow steps or as a fine-tuning base, not as the main agent, as the card itself suggests
- Validate any JSON it returns, since structured output isn't documented
Questions
Which is better for AI agents, gpt-oss-20b or Qwen3.5-2B?
gpt-oss-20b scores 69.9 (B) on agent readiness against Qwen3.5-2B's 50.5 (D), and leads in every scored category.
Other comparisons with gpt-oss-20b or Qwen3.5-2B
- Agents-A1-4B vs gpt-oss-20b
- Agents-A1-4B vs Qwen3.5-2B
- Apertus v1.5 8B vs gpt-oss-20b
- Apertus v1.5 8B vs Qwen3.5-2B
- Apodex-1.1-mini vs gpt-oss-20b
- Apodex-1.1-mini vs Qwen3.5-2B
- BigBang-v1 vs gpt-oss-20b
- BigBang-v1 vs Qwen3.5-2B
- Cosmos-Reason2-2B vs gpt-oss-20b
- Cosmos-Reason2-2B vs Qwen3.5-2B
- Darwin-36B-Opus vs gpt-oss-20b
- Darwin-36B-Opus vs Qwen3.5-2B
- DeepSeek-V3.2 vs gpt-oss-20b
- DeepSeek-V3.2 vs Qwen3.5-2B
- DeepSeek V4.1 Flash vs gpt-oss-20b
- DeepSeek V4.1 Flash vs Qwen3.5-2B
- DeepSeek-V4-Flash-0731 vs gpt-oss-20b
- DeepSeek-V4-Flash-0731 vs Qwen3.5-2B
- DiffusionGemma 26B A4B IT vs gpt-oss-20b
- DiffusionGemma 26B A4B IT vs Qwen3.5-2B
- Gemma 4 12B IT vs gpt-oss-20b
- Gemma 4 12B IT vs Qwen3.5-2B
- Gemma 4 26B A4B IT vs gpt-oss-20b
- Gemma 4 26B A4B IT vs Qwen3.5-2B
- Gemma 4 31B IT vs gpt-oss-20b
- Gemma 4 31B IT vs Qwen3.5-2B
- Gemma 4 E2B IT vs gpt-oss-20b
- Gemma 4 E2B IT vs Qwen3.5-2B
- Gemma 4 E4B IT vs gpt-oss-20b
- Gemma 4 E4B IT vs Qwen3.5-2B
- GLM-4.5-Air vs gpt-oss-20b
- GLM-4.5-Air vs Qwen3.5-2B
- GLM-4.7-Flash vs gpt-oss-20b
- GLM-4.7-Flash vs Qwen3.5-2B
- GLM-5.3-Flash vs gpt-oss-20b
- GLM-5.3-Flash vs Qwen3.5-2B
- GLM-5.3 vs gpt-oss-20b
- GLM-5.3 vs Qwen3.5-2B
- gpt-oss-120b vs gpt-oss-20b
- gpt-oss-120b vs Qwen3.5-2B
- gpt-oss-20b vs Granite 4.2 3B
- gpt-oss-20b vs Hy3
- gpt-oss-20b vs Inkling
- gpt-oss-20b vs Inkling-Small
- gpt-oss-20b vs InternVL3.5-GPT-OSS-20B-A4B-Preview
- gpt-oss-20b vs Kimi K3
- gpt-oss-20b vs Kolibri-1
- gpt-oss-20b vs Laguna M.1
- gpt-oss-20b vs Laguna S 2.1
- gpt-oss-20b vs Laguna XS 2.1
- gpt-oss-20b vs LFM2.5-2.6B
- gpt-oss-20b vs Ling-3.0-tiny
- gpt-oss-20b vs MiMo-V2.6 Distill Qwen 9B
- gpt-oss-20b vs MiniCPM-o 4.5
- gpt-oss-20b vs MiniCPM5-2B
- gpt-oss-20b vs MiniMax-M2.5
- gpt-oss-20b vs MiniMax-M2.7
- gpt-oss-20b vs Muse Glimmer 30B
- gpt-oss-20b vs Nemotron 3.5 Lightning 30B A3B
- gpt-oss-20b vs Nemotron 3 Nano 30B A3B
- gpt-oss-20b vs Nemotron 3 Nano 4B
- gpt-oss-20b vs Nemotron 3 Nano Omni 30B A3B Reasoning
- gpt-oss-20b vs Nemotron 3 Super 120B A12B
- gpt-oss-20b vs Nemotron 3 Ultra 550B A55B
- gpt-oss-20b vs occamy-1.0
- gpt-oss-20b vs Olmo 3 7B Think
- gpt-oss-20b vs Ornith-1.5-35B-A3B
- gpt-oss-20b vs Ornith-1.5-397B
- gpt-oss-20b vs Ornith-1.5-9B
- gpt-oss-20b vs Qwen3-30B-A3B-Instruct-2507
- gpt-oss-20b vs Qwen3-4B-Instruct-2507
- gpt-oss-20b vs Qwen3.5-0.8B
- gpt-oss-20b vs Qwen3.5-122B-A10B
- gpt-oss-20b vs Qwen3.5-397B-A17B
- gpt-oss-20b vs Qwen3.5-4B
- gpt-oss-20b vs Qwen3.5-9B
- gpt-oss-20b vs Qwen3.6-27B
- gpt-oss-20b vs Qwen3.6-35B-A3B
- gpt-oss-20b vs Qwen3.8-27B
- gpt-oss-20b vs Qwen3.8-Flash-Next
- gpt-oss-20b vs Qwen3-Coder-30B-A3B-Instruct
- gpt-oss-20b vs Qwen3-Coder-Next
- gpt-oss-20b vs Qwen3-Omni-30B-A3B-Instruct
- gpt-oss-20b vs Qwen3-VL-2B-Instruct
- gpt-oss-20b vs Qwen3-VL-30B-A3B-Instruct
- gpt-oss-20b vs Qwen3-VL-32B-Instruct
- gpt-oss-20b vs Qwen3-VL-4B-Instruct
- gpt-oss-20b vs Qwen3-VL-8B-Instruct
- gpt-oss-20b vs Qwopus3.8-27B-Flash-V2
- gpt-oss-20b vs SmolLM3-3B
- gpt-oss-20b vs Spark-X2.6-4B
- gpt-oss-20b vs Swift 1.5 Qwen3.8-27B
- gpt-oss-20b vs Swift 1.5 Qwen3.8-Flash-Next
- gpt-oss-20b vs ThinkingCap (Qwen3.8 27B)
- Granite 4.2 3B vs Qwen3.5-2B
- Hy3 vs Qwen3.5-2B
- Inkling-Small vs Qwen3.5-2B
- Inkling vs Qwen3.5-2B
- InternVL3.5-GPT-OSS-20B-A4B-Preview vs Qwen3.5-2B
- Kimi K3 vs Qwen3.5-2B
- Kolibri-1 vs Qwen3.5-2B
- Laguna M.1 vs Qwen3.5-2B
- Laguna S 2.1 vs Qwen3.5-2B
- Laguna XS 2.1 vs Qwen3.5-2B
- LFM2.5-2.6B vs Qwen3.5-2B
- Ling-3.0-tiny vs Qwen3.5-2B
- MiMo-V2.6 Distill Qwen 9B vs Qwen3.5-2B
- MiniCPM-o 4.5 vs Qwen3.5-2B
- MiniCPM5-2B vs Qwen3.5-2B
- MiniMax-M2.5 vs Qwen3.5-2B
- MiniMax-M2.7 vs Qwen3.5-2B
- Muse Glimmer 30B vs Qwen3.5-2B
- Nemotron 3.5 Lightning 30B A3B vs Qwen3.5-2B
- Nemotron 3 Nano 30B A3B vs Qwen3.5-2B
- Nemotron 3 Nano 4B vs Qwen3.5-2B
- Nemotron 3 Nano Omni 30B A3B Reasoning vs Qwen3.5-2B
- Nemotron 3 Super 120B A12B vs Qwen3.5-2B
- Nemotron 3 Ultra 550B A55B vs Qwen3.5-2B
- occamy-1.0 vs Qwen3.5-2B
- Olmo 3 7B Think vs Qwen3.5-2B
- Ornith-1.5-35B-A3B vs Qwen3.5-2B
- Ornith-1.5-397B vs Qwen3.5-2B
- Ornith-1.5-9B vs Qwen3.5-2B
- Qwen3-30B-A3B-Instruct-2507 vs Qwen3.5-2B
- Qwen3-4B-Instruct-2507 vs Qwen3.5-2B
- Qwen3.5-0.8B vs Qwen3.5-2B
- Qwen3.5-122B-A10B vs Qwen3.5-2B
- Qwen3.5-2B vs Qwen3.5-397B-A17B
- Qwen3.5-2B vs Qwen3.5-4B
- Qwen3.5-2B vs Qwen3.5-9B
- Qwen3.5-2B vs Qwen3.6-27B
- Qwen3.5-2B vs Qwen3.6-35B-A3B
- Qwen3.5-2B vs Qwen3.8-27B
- Qwen3.5-2B vs Qwen3.8-Flash-Next
- Qwen3.5-2B vs Qwen3-Coder-30B-A3B-Instruct
- Qwen3.5-2B vs Qwen3-Coder-Next
- Qwen3.5-2B vs Qwen3-Omni-30B-A3B-Instruct
- Qwen3.5-2B vs Qwen3-VL-2B-Instruct
- Qwen3.5-2B vs Qwen3-VL-30B-A3B-Instruct
- Qwen3.5-2B vs Qwen3-VL-32B-Instruct
- Qwen3.5-2B vs Qwen3-VL-4B-Instruct
- Qwen3.5-2B vs Qwen3-VL-8B-Instruct
- Qwen3.5-2B vs Qwopus3.8-27B-Flash-V2
- Qwen3.5-2B vs SmolLM3-3B
- Qwen3.5-2B vs Spark-X2.6-4B
- Qwen3.5-2B vs Swift 1.5 Qwen3.8-27B
- Qwen3.5-2B vs Swift 1.5 Qwen3.8-Flash-Next
- Qwen3.5-2B vs ThinkingCap (Qwen3.8 27B)
Machine-readable
- This page as Markdown
/compare/gpt-oss-20b-vs-qwen3-5-2b.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/gpt-oss-20b.json·/api/v1/tools/qwen3-5-2b.json - From a terminal
anchor compare gpt-oss-20b qwen3-5-2b(the CLI) - Over MCP
compare_tools {"a": "gpt-oss-20b", "b": "qwen3-5-2b"}at/mcp, no key