Head to head · Open-weight models you run yourself · October 2026 research run
gpt-oss-20b vs Qwen3-Coder-30B-A3B-Instruct
gpt-oss-20b scores 69.9 (B) on agent readiness against Qwen3-Coder-30B-A3B-Instruct's 55.7 (C), and leads in 4 of 5 scored categories. 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 33
- Risk, 85 against 55
- Agent interface, 90 against 75
- Documentation and upkeep, 42 against 31
Also in its favour
- Rated higher by the reviewer agents, 3.5 against 2.8 out of 5
Watch for
No reply from OpenAI to any discussion since August 2025, and template reports wait unanswered
Qwen3-Coder-30B-A3B-Instruct C
Best for Coding agents and local coding tools that want a fast, capable open model on one 24 GB GPU or a 32 GB Mac, with a plain licence.
No category where it leads by five points or more, and no fact that sets it apart.
Watch for
No safety results, prompt-injection guidance or security contact, though it's meant to run commands
Score by category
| Category | Weight this run | gpt-oss-20b | Qwen3-Coder-30B-A3B-Instruct | Edge |
|---|---|---|---|---|
| Capability | 35%35 | 49 | 33 | gpt-oss-20b +16 |
| Reach | 25%25 | 90 | 90 | even |
| Risk | 20%20 | 85 | 55 | gpt-oss-20b +30 |
| Agent interface | 10%10 | 90 | 75 | gpt-oss-20b +15 |
| Documentation and upkeep | 10%10 | 42 | 31 | gpt-oss-20b +11 |
| Negative events | ≤15 | 0 | 0 | |
| Total | B 69.9/100 | C 55.7/100 |
Facts side by side
| Fact | gpt-oss-20b | Qwen3-Coder-30B-A3B-Instruct |
|---|---|---|
| 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 | 2025-12-03 |
| 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) | 2.8/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-Coder-30B-A3B-Instruct
A fast coding cousin, with 3.3B of 30.5B parameters active per token, for agentic coding tools, repository reading and fill-in-the-middle without a thinking step. It needs about 21 to 23 GB at 4 bits, and several providers host it. The main risk is that it runs commands for agents with no safety results or guidance, and Alibaba doesn't answer users.
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-Coder-30B-A3B-Instruct
- Quickest start is
ollama run qwen3-coder:30b, 19 GB - On our reference machine use BF16 with
vllm serve Qwen/Qwen3-Coder-30B-A3B-Instruct --max-model-len 262144 --enable-auto-tool-choice --tool-call-parser qwen3_coder, 61 GB of weights fits the GPU share - Use the qwen3_coder parser in vLLM or SGLang, not hermes, since calls come back as function and parameter blocks rather than JSON
- Pass tool-call arguments in the history as objects, the template iterates them as a mapping
- Sampling per the card is temperature 0.7, top_p 0.8, top_k 20 and repetition_penalty 1.05, with up to 65,536 output tokens
- For code completion use the fill-in-the-middle tokens
<|fim_prefix|>,<|fim_suffix|>and<|fim_middle|>from Qwen's README - Sandbox the commands and files it touches, since nothing from Alibaba covers prompt injection
Questions
Which is better for AI agents, gpt-oss-20b or Qwen3-Coder-30B-A3B-Instruct?
gpt-oss-20b scores 69.9 (B) on agent readiness against Qwen3-Coder-30B-A3B-Instruct's 55.7 (C), and leads in 4 of 5 scored categories.
Other comparisons with gpt-oss-20b or Qwen3-Coder-30B-A3B-Instruct
- Agents-A1-4B vs gpt-oss-20b
- Agents-A1-4B vs Qwen3-Coder-30B-A3B-Instruct
- Apertus v1.5 8B vs gpt-oss-20b
- Apertus v1.5 8B vs Qwen3-Coder-30B-A3B-Instruct
- Apodex-1.1-mini vs gpt-oss-20b
- Apodex-1.1-mini vs Qwen3-Coder-30B-A3B-Instruct
- BigBang-v1 vs gpt-oss-20b
- BigBang-v1 vs Qwen3-Coder-30B-A3B-Instruct
- Cosmos-Reason2-2B vs gpt-oss-20b
- Cosmos-Reason2-2B vs Qwen3-Coder-30B-A3B-Instruct
- Darwin-36B-Opus vs gpt-oss-20b
- Darwin-36B-Opus vs Qwen3-Coder-30B-A3B-Instruct
- DeepSeek-V3.2 vs gpt-oss-20b
- DeepSeek-V3.2 vs Qwen3-Coder-30B-A3B-Instruct
- DeepSeek V4.1 Flash vs gpt-oss-20b
- DeepSeek V4.1 Flash vs Qwen3-Coder-30B-A3B-Instruct
- DeepSeek-V4-Flash-0731 vs gpt-oss-20b
- DeepSeek-V4-Flash-0731 vs Qwen3-Coder-30B-A3B-Instruct
- DiffusionGemma 26B A4B IT vs gpt-oss-20b
- DiffusionGemma 26B A4B IT vs Qwen3-Coder-30B-A3B-Instruct
- Gemma 4 12B IT vs gpt-oss-20b
- Gemma 4 12B IT vs Qwen3-Coder-30B-A3B-Instruct
- Gemma 4 26B A4B IT vs gpt-oss-20b
- Gemma 4 26B A4B IT vs Qwen3-Coder-30B-A3B-Instruct
- Gemma 4 31B IT vs gpt-oss-20b
- Gemma 4 31B IT vs Qwen3-Coder-30B-A3B-Instruct
- Gemma 4 E2B IT vs gpt-oss-20b
- Gemma 4 E2B IT vs Qwen3-Coder-30B-A3B-Instruct
- Gemma 4 E4B IT vs gpt-oss-20b
- Gemma 4 E4B IT vs Qwen3-Coder-30B-A3B-Instruct
- GLM-4.5-Air vs gpt-oss-20b
- GLM-4.5-Air vs Qwen3-Coder-30B-A3B-Instruct
- GLM-4.7-Flash vs gpt-oss-20b
- GLM-4.7-Flash vs Qwen3-Coder-30B-A3B-Instruct
- GLM-5.3-Flash vs gpt-oss-20b
- GLM-5.3-Flash vs Qwen3-Coder-30B-A3B-Instruct
- GLM-5.3 vs gpt-oss-20b
- GLM-5.3 vs Qwen3-Coder-30B-A3B-Instruct
- gpt-oss-120b vs gpt-oss-20b
- gpt-oss-120b vs Qwen3-Coder-30B-A3B-Instruct
- 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-2B
- 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-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-Coder-30B-A3B-Instruct
- Hy3 vs Qwen3-Coder-30B-A3B-Instruct
- Inkling-Small vs Qwen3-Coder-30B-A3B-Instruct
- Inkling vs Qwen3-Coder-30B-A3B-Instruct
- InternVL3.5-GPT-OSS-20B-A4B-Preview vs Qwen3-Coder-30B-A3B-Instruct
- Kimi K3 vs Qwen3-Coder-30B-A3B-Instruct
- Kolibri-1 vs Qwen3-Coder-30B-A3B-Instruct
- Laguna M.1 vs Qwen3-Coder-30B-A3B-Instruct
- Laguna S 2.1 vs Qwen3-Coder-30B-A3B-Instruct
- Laguna XS 2.1 vs Qwen3-Coder-30B-A3B-Instruct
- LFM2.5-2.6B vs Qwen3-Coder-30B-A3B-Instruct
- Ling-3.0-tiny vs Qwen3-Coder-30B-A3B-Instruct
- MiMo-V2.6 Distill Qwen 9B vs Qwen3-Coder-30B-A3B-Instruct
- MiniCPM-o 4.5 vs Qwen3-Coder-30B-A3B-Instruct
- MiniCPM5-2B vs Qwen3-Coder-30B-A3B-Instruct
- MiniMax-M2.5 vs Qwen3-Coder-30B-A3B-Instruct
- MiniMax-M2.7 vs Qwen3-Coder-30B-A3B-Instruct
- Muse Glimmer 30B vs Qwen3-Coder-30B-A3B-Instruct
- Nemotron 3.5 Lightning 30B A3B vs Qwen3-Coder-30B-A3B-Instruct
- Nemotron 3 Nano 30B A3B vs Qwen3-Coder-30B-A3B-Instruct
- Nemotron 3 Nano 4B vs Qwen3-Coder-30B-A3B-Instruct
- Nemotron 3 Nano Omni 30B A3B Reasoning vs Qwen3-Coder-30B-A3B-Instruct
- Nemotron 3 Super 120B A12B vs Qwen3-Coder-30B-A3B-Instruct
- Nemotron 3 Ultra 550B A55B vs Qwen3-Coder-30B-A3B-Instruct
- occamy-1.0 vs Qwen3-Coder-30B-A3B-Instruct
- Olmo 3 7B Think vs Qwen3-Coder-30B-A3B-Instruct
- Ornith-1.5-35B-A3B vs Qwen3-Coder-30B-A3B-Instruct
- Ornith-1.5-397B vs Qwen3-Coder-30B-A3B-Instruct
- Ornith-1.5-9B vs Qwen3-Coder-30B-A3B-Instruct
- Qwen3-30B-A3B-Instruct-2507 vs Qwen3-Coder-30B-A3B-Instruct
- Qwen3-4B-Instruct-2507 vs Qwen3-Coder-30B-A3B-Instruct
- Qwen3.5-0.8B vs Qwen3-Coder-30B-A3B-Instruct
- Qwen3.5-122B-A10B vs Qwen3-Coder-30B-A3B-Instruct
- Qwen3.5-2B vs Qwen3-Coder-30B-A3B-Instruct
- Qwen3.5-397B-A17B vs Qwen3-Coder-30B-A3B-Instruct
- Qwen3.5-4B vs Qwen3-Coder-30B-A3B-Instruct
- Qwen3.5-9B vs Qwen3-Coder-30B-A3B-Instruct
- Qwen3.6-27B vs Qwen3-Coder-30B-A3B-Instruct
- Qwen3.6-35B-A3B vs Qwen3-Coder-30B-A3B-Instruct
- Qwen3.8-27B vs Qwen3-Coder-30B-A3B-Instruct
- Qwen3.8-Flash-Next vs Qwen3-Coder-30B-A3B-Instruct
- Qwen3-Coder-30B-A3B-Instruct vs Qwen3-Coder-Next
- Qwen3-Coder-30B-A3B-Instruct vs Qwen3-Omni-30B-A3B-Instruct
- Qwen3-Coder-30B-A3B-Instruct vs Qwen3-VL-2B-Instruct
- Qwen3-Coder-30B-A3B-Instruct vs Qwen3-VL-30B-A3B-Instruct
- Qwen3-Coder-30B-A3B-Instruct vs Qwen3-VL-32B-Instruct
- Qwen3-Coder-30B-A3B-Instruct vs Qwen3-VL-4B-Instruct
- Qwen3-Coder-30B-A3B-Instruct vs Qwen3-VL-8B-Instruct
- Qwen3-Coder-30B-A3B-Instruct vs Qwopus3.8-27B-Flash-V2
- Qwen3-Coder-30B-A3B-Instruct vs SmolLM3-3B
- Qwen3-Coder-30B-A3B-Instruct vs Spark-X2.6-4B
- Qwen3-Coder-30B-A3B-Instruct vs Swift 1.5 Qwen3.8-27B
- Qwen3-Coder-30B-A3B-Instruct vs Swift 1.5 Qwen3.8-Flash-Next
- Qwen3-Coder-30B-A3B-Instruct vs ThinkingCap (Qwen3.8 27B)
Machine-readable
- This page as Markdown
/compare/gpt-oss-20b-vs-qwen3-coder-30b-a3b-instruct.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-coder-30b-a3b-instruct.json - From a terminal
anchor compare gpt-oss-20b qwen3-coder-30b-a3b-instruct(the CLI) - Over MCP
compare_tools {"a": "gpt-oss-20b", "b": "qwen3-coder-30b-a3b-instruct"}at/mcp, no key