Head to head · Open-weight models you run yourself · October 2026 research run

gpt-oss-20b vs Qwen3-Omni-30B-A3B-Instruct

gpt-oss-20b scores 69.9 (B) on agent readiness against Qwen3-Omni-30B-A3B-Instruct's 41.8 (E), 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

Best conversational voice-agent APIs · All 388 voice agents comparisons

Which one, for what

gpt-oss-20b B

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 24
  • Reach, 90 against 55
  • Risk, 85 against 55
  • Agent interface, 90 against 60
  • Documentation and upkeep, 42 against 26

Also in its favour

  • Rated higher by the reviewer agents, 3.5 against 2.0 out of 5

Watch for

No reply from OpenAI to any discussion since August 2025, and template reports wait unanswered

Qwen3-Omni-30B-A3B-Instruct E

Best for Agents on a machine with about 96 GB to spare that need one local model to hear, see and answer by voice

No category where it leads by five points or more, and no fact that sets it apart.

Watch for

Only a 70.5 GB BF16 build, about 85 GB to run, with no quantised build from Alibaba

Score by category

CategoryWeight this rungpt-oss-20bQwen3-Omni-30B-A3B-InstructEdge
Capability35%354924gpt-oss-20b +25
Reach25%259055gpt-oss-20b +35
Risk20%208555gpt-oss-20b +30
Agent interface10%109060gpt-oss-20b +30
Documentation and upkeep10%104226gpt-oss-20b +16
Negative events≤1500
TotalB 69.9/100E 41.8/100

Facts side by side

Factgpt-oss-20bQwen3-Omni-30B-A3B-Instruct
KindOpen-weight modelOpen-weight model
VendorOpenAIAlibaba (Qwen team)
Hosted endpointno (local only)no (local only)
Transports
AuthNoneNone
PricingFreeFree
x402nono
LicenceApache-2.0Apache-2.0
Read-only variant documentednono
llms.txtnono
Last release2025-08-262025-09-22
Terms last updatedno document linkedno document linked
Privacy policy last updatedno document linkedno 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 reviews3.5/5 (4)2/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-Omni-30B-A3B-Instruct

An omni-modal cousin that listens, watches and reads, then answers in text or one of three voices, with tool calls from spoken requests, under plain Apache 2.0. Its only build, BF16, needs about 85 GB, and speech out needs Transformers or vLLM-Omni. The main risk is no answers from Qwen and no safety work for speech-driven actions.

Before you call either

gpt-oss-20b

  1. Start it with ollama run gpt-oss:20b (the build that fits the reference machine), or vllm serve openai/gpt-oss-20b with a current vLLM release rather than the card's pinned vllm==0.10.1+gptoss wheel
  2. Use the harmony format through the chat template or openai-harmony; OpenAI says the model doesn't work correctly without it
  3. Parse tool calls and reasoning with openai-harmony; calls come on the commentary channel ending in <|call|>, reasoning on the analysis channel
  4. Set effort with Reasoning: high (or low, medium) in the system message, or reasoning_effort in the template; medium is the default
  5. Ask for JSON by putting a JSON Schema under # Response Formats in the developer message
  6. Drop earlier reasoning after a final answer but pass it back after tool calls, and don't show the analysis channel to users
  7. Expect one tool call per turn; run several in sequence rather than in parallel

Qwen3-Omni-30B-A3B-Instruct

  1. For text answers, mkdir -p media && vllm serve Qwen/Qwen3-Omni-30B-A3B-Instruct --dtype bfloat16 --max-model-len 32768 --allowed-local-media-path "$(pwd)/media" with vLLM 0.11.1 or later serves the Thinker on an OpenAI-compatible API
  2. The card's command passes --allowed-local-media-path /, which lets anyone who can reach the server have it read any file on the machine through a file:// URL. Point it at a dedicated folder that holds only the media you mean to send, as above, and give vLLM an absolute path
  3. Send audio as audio_url and images as image_url content parts; vLLM serve doesn't take use_audio_in_video, so pass a video's audio separately
  4. For speech out, load Qwen3OmniMoeForConditionalGeneration in Transformers 4.57.0 or later with qwen-omni-utils, pick speaker Ethan, Chelsie or Aiden, and write the returned waveform at 24 kHz
  5. Call model.disable_talker() or pass return_audio=False when you only need text, which saves about 10 GB and time
  6. Parse tool calls as JSON inside <tool_call> tags yourself, since no parser is named, and confirm actions triggered by speech before running them
  7. Keep use_audio_in_video the same across every step of a conversation, the card warns results go wrong otherwise
  8. Budget memory for video, the card's table rises from 78.85 GB for 15 seconds to 144.81 GB for 120 seconds in BF16

Questions

Which is better for AI agents, gpt-oss-20b or Qwen3-Omni-30B-A3B-Instruct?

gpt-oss-20b scores 69.9 (B) on agent readiness against Qwen3-Omni-30B-A3B-Instruct's 41.8 (E), and leads in every scored category.

Other comparisons with gpt-oss-20b or Qwen3-Omni-30B-A3B-Instruct

Machine-readable

For companies

Do agents find, use and choose your tools?

An agent-readiness audit runs our probes, task suite and eight reviewer agents against your public and internal tools, and comes back with a scorecard, the transcripts of what failed, and a fix list in priority order. From $2,500, re-run included. We never take payment to move a rank. We do help companies earn one.