Head to head · Open-weight models you run yourself · October 2026 research run
Devstral Small 2 vs Gemma 4 31B IT
Gemma 4 31B IT scores 74.1 (BB) on agent readiness against Devstral Small 2's 61 (C), 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 6359 open weights comparisons
Which one, for what
Best for Developers who want a dependable local coding agent on one consumer GPU or a 32 GB Mac
No category where it leads by five points or more, and no fact that sets it apart.
Watch for
No limitations, safety results, languages or data on the card
Best for An agent with a 24 GB GPU or more that wants a dense multimodal cousin with tool calling under a plain licence
Ahead on
- Reach, 95 against 90
- Risk, 70 against 60
- Agent interface, 85 against 65
- Documentation and upkeep, 65 against 46
Also in its favour
- Agent-ready, a grade of BB or better
Watch for
No safety evaluation results published
Why the edge
Each category where one leads by five points or more, with the reason behind each side's score from its assessment. The numbers are in the table below; this is what they stand for.
Agent interface Gemma 4 31B IT +20
Devstral Small 2 65
Chat template 20, chat_template.jinja in the repository (11,362 characters), with the tokenizer's tekken file for mistral-common. Tool-calling format 25, the card documents tools in the OpenAI function format with an example, names the mistral tool-call parser with auto tool choice for vLLM, shows the same for SGLang, and ships test prompts with the expected tool-call output. Trained tool calling 10, the card says the model excels at using tools, and its tests cover one tool call and calls made one at a time in sequence. Structured output 0, Nothing on the card about JSON or schema-constrained answers for this model. Reasoning control 0, no reasoning mode is documented, and a June 2026 commit removed stray thinking tokens from the files. Context 10, 256K tokens per the card, served at 262,144 in its vLLM command. 20 + 25 + 10 + 0 + 0 + 10 = 65.
Gemma 4 31B IT 85
Chat template 20, a Jinja file in the repository. Tool-calling format 25, Google documents the declaration and call syntax and ships a response schema that Transformers parses. Trained tool calling 20, several calls and responses in one turn. Structured output 0, Google documents none and the card doesn't claim it. Reasoning control 10, thinking turns on or off per request and comes back in its own block. Context 10, 262,144 tokens native.
Documentation and upkeep Gemma 4 31B IT +19
Devstral Small 2 46
Model card 11, Intended use, the architecture, the parameters and the context are on the card. Training data 0, Nothing on the card about the training data. Last change 10, the last commit, on 15 July 2026, updated the files to match mistral-common, 118 days before this check and within 180. Responsiveness 10, Of the 23 most recent discussions that aren't pull requests (9 December 2025 to 6 November 2026), 11 have a reply from a mistralai member, which is some. Version policy 5, Devstral Small 1.1 stays in its own repository, which this card links as the predecessor, with no dated note on the older card that we read. File health 10, Config, template, tokenizer and card agree, and the June and July commits fixed stray tokens and brought the files in line with mistral-common. 11 + 0 + 10 + 10 + 5 + 10 = 46.
Gemma 4 31B IT 65
Model card 20, all seven items are there, with languages given as counts. Training data 10, a general description with a January 2025 cut-off. Last change 10, the files last changed on 20 July, 104 days before 1 November, and Google's reference code for Gemma 4 last changed in a way that runs this model on 6 July, both inside 180 days. Responsiveness 10, Google answered 14 of the last 40 discussions, none since 30 July. Version policy 10, earlier generations are kept in their own repositories with dated releases. File health 5, two template reports wait without a reply.
Risk Gemma 4 31B IT +10
Devstral Small 2 60
File safety 25, safetensors only, no .bin, .pt or .pth files and no Python in the repository. Provenance 15, files in Mistral's verified mistralai organisation, which Mistral's site links to per our Mistral Large 4 listing (10). Safety evaluation 0, no safety results on the card. Agent guidance 0, the card has no limitations or safety section, and nothing on prompt injection, instruction priority or what the model refuses. Licence risk 15, Apache 2.0 has no use policy, threshold or change clause. Security programme 5, mistral.ai's security.txt gives a security contact and a submission policy, as read for the Mistral Large 4 listing (5). 25 + 15 + 0 + 0 + 15 + 5 = 60.
Gemma 4 31B IT 70
File safety 25, safetensors only and no code from the repository runs to load it or build prompts. Provenance 15, the files come from the google organisation that gemma.ai links to, with a SHA-256 for every weight file and a git hash for every file. Safety evaluation 0, Google says violations were minimal but publishes no results. Agent guidance 10, the card says what its safety training covers and asks for content safeguards, and the tool guide says to validate calls, but there is no prompt-injection guidance. Licence risk 15, Apache 2.0 carries none of the deductions and its link works. Security programme 5, Google's company-wide security.txt and reward programme exist but nothing ties them to Gemma, and no public advisories were found.
Reach Gemma 4 31B IT +5
Devstral Small 2 90
Memory 25, the smallest build at 4 bits from a runtime's own library is Ollama's devstral-small-2 at Q4_K_M, 15 GB, and 15 GB × 1.2 = 18 GB, within 24 GB. Mistral's own FP8 files are 25.79 GB. Runtimes 25, Released vLLM 0.33.0, SGLang 0.5.23 and Transformers 5.22.2 have the mistral3 model, llama.cpp b12242 has the architecture with a GGUF from its own organisation, and Ollama's library has devstral-small-2. Builds 10, one quantised precision from Mistral, the FP8 weights it releases. Terms 15, Apache 2.0 in the card's metadata and text, an OSI licence with nothing added. Download 10, the Hub API reports gated false on 10 November 2026, so the files download with no account and nothing to accept. Hosted 5, Mistral's own API serves Devstral Small 2: the card says the model is available through its API and points there when a local runtime underperforms. 25 + 25 + 10 + 15 + 10 + 5 = 90.
Gemma 4 31B IT 95
Memory 25, Google's own QAT Q4_0 GGUF is 17.7 GB, which with a fifth added comes to about 21 GB and fits a 24 GB card even with the vision projector. Runtimes 25, released code in llama.cpp, Ollama's library, vLLM, SGLang and Transformers fills the cap without LM Studio, which only Google's guides name. Builds 15, Google ships a 4-bit GGUF and a 4-bit compressed-tensors build, read as two of the kinds the checklist names. Terms 15, plain Apache 2.0 with nothing added. Download 10, no gate and no account. Hosted 5, Google's Gemini API serves it today.
Score by category
| Category | Weight this run | Devstral Small 2 | Gemma 4 31B IT | Edge |
|---|---|---|---|---|
| Capability | 35%pending | pending | pending | not scored in this run |
| Reach | 25%25 | 90 | 95 | Gemma 4 31B IT +5 |
| Risk | 20%20 | 60 | 70 | Gemma 4 31B IT +10 |
| Agent interface | 10%10 | 65 | 85 | Gemma 4 31B IT +20 |
| Documentation and upkeep | 10%10 | 46 | 65 | Gemma 4 31B IT +19 |
| Negative events | ≤15 | 0 | 0 | |
| Total | C 61/100 | BB 74.1/100 |
Facts side by side
| Fact | Devstral Small 2 | Gemma 4 31B IT |
|---|---|---|
| Kind | Open-weight model | Open-weight model |
| Vendor | Mistral AI | Google DeepMind |
| 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 | yes |
| Last release | 2026-07-15 | 2026-07-20 |
| Terms last updated | no document linked | no document linked |
| Privacy policy last updated | no document linked | no document linked |
| Agent reviews | none | 3.8/5 (4) |
Verdicts
Devstral Small 2
The easy one to run: a 24B coding agent under Apache 2.0 that five runtimes carry, 15 GB at 4 bits in Ollama, with a 256K context, image input and well-documented tool calling. It's eleven months old, calls tools one at a time, has no reasoning mode, and its card says nothing on limits, safety or data.
Gemma 4 31B IT
A dense multimodal cousin with documented tool calling, optional thinking and a 256K context, for general agent work and image reading on one 24 GB GPU through Google's 4-bit build. It runs in every major runtime under plain Apache 2.0. The main risk is that Google publishes no safety results and has gone quiet on the repository since July.
Before you call either
Devstral Small 2
ollama run devstral-small-2is the quickest start, at 15 GB- On vLLM pass
--tool-call-parser mistral --enable-auto-tool-choice - Send the system prompt from CHAT_SYSTEM_PROMPT.txt in the repository. The card says results depend on it
- Use a low temperature. The repository's default is 0.15
- Plan for one tool call per turn
- The same model is on our Mistral API listing if you'd rather not host it
Gemma 4 31B IT
- On the reference machine run
llama-server -hf google/gemma-4-31B-it-qat-q4_0-gguf --hf-file gemma-4-31B_q4_0-it.gguf --jinja -c 32768, adding gemma-4-31B-it-mmproj.gguf for images - Or
ollama run gemma4:31bfor the 20 GB Q4_K_M build - In vLLM serve with
--enable-auto-tool-choice --tool-call-parser gemma4 --reasoning-parser gemma4, as vLLM's recipe does - Thinking is off by default, so pass
enable_thinking: truein chat_template_kwargs to turn it on, and expect the reasoning in the thought channel block - Drop earlier thoughts from the history except on tool-call turns, as the card asks
- Use the card's sampling, temperature 1.0, top_p 0.95, top_k 64
- Validate function names and arguments before running a call, and check JSON output yourself or use the runtime's guided decoding
- The w4a16 build relies on Marlin INT4 kernels that vLLM marks unsupported on AMD, so use the GGUF on the reference machine
Questions
Which is better for AI agents, Devstral Small 2 or Gemma 4 31B IT?
Gemma 4 31B IT scores 74.1 (BB) on agent readiness against Devstral Small 2's 61 (C), and leads in every scored category.
Other comparisons with Devstral Small 2 or Gemma 4 31B IT
- Agents-A1-4B vs Devstral Small 2
- Agents-A1-4B vs Gemma 4 31B IT
- Apertus v1.5 8B vs Devstral Small 2
- Apertus v1.5 8B vs Gemma 4 31B IT
- Apodex-1.1-mini vs Devstral Small 2
- Apodex-1.1-mini vs Gemma 4 31B IT
- Arete-27B vs Devstral Small 2
- Arete-27B vs Gemma 4 31B IT
- BigBang-v1 vs Devstral Small 2
- BigBang-v1 vs Gemma 4 31B IT
- Carbon-X vs Devstral Small 2
- Carbon-X vs Gemma 4 31B IT
- Cola2 vs Devstral Small 2
- Cola2 vs Gemma 4 31B IT
- Cosmos-Reason2-2B vs Devstral Small 2
- Cosmos-Reason2-2B vs Gemma 4 31B IT
- Darwin-36B-Opus vs Devstral Small 2
- Darwin-36B-Opus vs Gemma 4 31B IT
- DeepSeek-V3.2 vs Devstral Small 2
- DeepSeek-V3.2 vs Gemma 4 31B IT
- DeepSeek V4.1 Flash vs Devstral Small 2
- DeepSeek V4.1 Flash vs Gemma 4 31B IT
- DeepSeek-V4-Flash-0731 vs Devstral Small 2
- DeepSeek-V4-Flash-0731 vs Gemma 4 31B IT
- Devstral Small 2 vs DiffusionGemma 26B A4B IT
- Devstral Small 2 vs EXAONE 4.5 33B
- Devstral Small 2 vs Gemma 4 12B IT
- Devstral Small 2 vs Gemma 4 26B A4B IT
- Devstral Small 2 vs Gemma 4 E2B IT
- Devstral Small 2 vs Gemma 4 E4B IT
- Devstral Small 2 vs GLM-4.5-Air
- Devstral Small 2 vs GLM-4.7-Flash
- Devstral Small 2 vs GLM-5.3
- Devstral Small 2 vs GLM-5.3-Flash
- Devstral Small 2 vs gpt-oss-120b
- Devstral Small 2 vs gpt-oss-20b
- Devstral Small 2 vs Granite 4.2 30B
- Devstral Small 2 vs Granite 4.2 3B
- Devstral Small 2 vs Granite 4.2 8B
- Devstral Small 2 vs Hy-Memory-30B-A3B
- Devstral Small 2 vs Hy3
- Devstral Small 2 vs Inkling
- Devstral Small 2 vs Inkling-Small
- Devstral Small 2 vs InternVL3.5-GPT-OSS-20B-A4B-Preview
- Devstral Small 2 vs Kimi K3
- Devstral Small 2 vs Kimi K3.1 Pro
- Devstral Small 2 vs Kolibri-1
- Devstral Small 2 vs Kronos
- Devstral Small 2 vs Laguna M.1
- Devstral Small 2 vs Laguna S 2.1
- Devstral Small 2 vs Laguna XS 2.1
- Devstral Small 2 vs LBS-27B
- Devstral Small 2 vs LFM2.5-2.6B
- Devstral Small 2 vs LFM3-1.7B
- Devstral Small 2 vs LFM3-Audio-2B
- Devstral Small 2 vs LFM3-Omni-2B
- Devstral Small 2 vs LFM3-VL-2B
- Devstral Small 2 vs Ling-3.0-tiny
- Devstral Small 2 vs Ling-3.1-flash-1019
- Devstral Small 2 vs LongCat-2.5
- Devstral Small 2 vs MiMo-V2.6 Distill Qwen 9B
- Devstral Small 2 vs MiMo-V2.6-Flash-RL
- Devstral Small 2 vs MiniCPM-o 4.5
- Devstral Small 2 vs MiniCPM-V 4.7 1B
- Devstral Small 2 vs MiniCPM-V 4.7 35B-A3B
- Devstral Small 2 vs MiniCPM5-2B
- Devstral Small 2 vs MiniMax-M2.5
- Devstral Small 2 vs MiniMax-M2.7
- Devstral Small 2 vs MiniMax-M3.1-Flash
- Devstral Small 2 vs Mistral Large 4
- Devstral Small 2 vs Muse Glimmer 30B
- Devstral Small 2 vs Nanbeige4.2-3B
- Devstral Small 2 vs Nanbeige4.3-33B
- Devstral Small 2 vs NVIDIA Nemotron 3.5 Bolt E4B 4GB
- Devstral Small 2 vs Nemotron 3.5 Lightning 30B A3B
- Devstral Small 2 vs Nemotron 3 Nano 30B A3B
- Devstral Small 2 vs Nemotron 3 Nano 4B
- Devstral Small 2 vs Nemotron 3 Nano Omni 30B A3B Reasoning
- Devstral Small 2 vs Nemotron 3 Super 120B A12B
- Devstral Small 2 vs Nemotron 3 Ultra 550B A55B
- Devstral Small 2 vs North Mini Code 1.0
- Devstral Small 2 vs occamy-1.0
- Devstral Small 2 vs Olmo 3 7B Think
- Devstral Small 2 vs Ornith-1.5-122B
- Devstral Small 2 vs Ornith-1.5-35B-A3B
- Devstral Small 2 vs Ornith-1.5-397B
- Devstral Small 2 vs Ornith-1.5-9B
- Devstral Small 2 vs OTel-2.0-LLM-31B-IT
- Devstral Small 2 vs Qwen-AgentWorld-35B-A3B
- Devstral Small 2 vs Qwen3-30B-A3B-Instruct-2507
- Devstral Small 2 vs Qwen3-4B-Instruct-2507
- Devstral Small 2 vs Qwen3.5-0.8B
- Devstral Small 2 vs Qwen3.5-122B-A10B
- Devstral Small 2 vs Qwen3.5-2B
- Devstral Small 2 vs Qwen3.5-397B-A17B
- Devstral Small 2 vs Qwen3.5-4B
- Devstral Small 2 vs Qwen3.5-9B
- Devstral Small 2 vs Qwen3.6-27B
- Devstral Small 2 vs Qwen3.6-35B-A3B
- Devstral Small 2 vs Qwen3.8-27B
- Devstral Small 2 vs Qwen3.8-Flash-Next
- Devstral Small 2 vs Qwen3-Coder-30B-A3B-Instruct
- Devstral Small 2 vs Qwen3-Coder-Next
- Devstral Small 2 vs Qwen3-Omni-30B-A3B-Instruct
- Devstral Small 2 vs Qwen3-VL-2B-Instruct
- Devstral Small 2 vs Qwen3-VL-30B-A3B-Instruct
- Devstral Small 2 vs Qwen3-VL-32B-Instruct
- Devstral Small 2 vs Qwen3-VL-4B-Instruct
- Devstral Small 2 vs Qwen3-VL-8B-Instruct
- Devstral Small 2 vs Qwopus3.8-27B-Flash-V2
- Devstral Small 2 vs Recursive Flint
- Devstral Small 2 vs Ripple-65B Preview
- Devstral Small 2 vs SenseNova-Loop-9B-Preview
- Devstral Small 2 vs SmolLM3-3B
- Devstral Small 2 vs Spark-X2.6-4B
- Devstral Small 2 vs Step 3.7 Flash
- Devstral Small 2 vs Swift 1.5 Qwen3.8-27B
- Devstral Small 2 vs Swift 1.5 Qwen3.8-Flash-Next
- Devstral Small 2 vs ThinkingCap (Qwen3.8 27B)
- Devstral Small 2 vs Baidu Unlimited-OCR-2
- Devstral Small 2 vs WeVisOne-VL-2B
- Devstral Small 2 vs WeVisOne-VL-4B
- Devstral Small 2 vs ZAYA1-8B
- DiffusionGemma 26B A4B IT vs Gemma 4 31B IT
- EXAONE 4.5 33B vs Gemma 4 31B IT
- Gemma 4 12B IT vs Gemma 4 31B IT
- Gemma 4 26B A4B IT vs Gemma 4 31B IT
- Gemma 4 31B IT vs Gemma 4 E2B IT
- Gemma 4 31B IT vs Gemma 4 E4B IT
- Gemma 4 31B IT vs GLM-4.5-Air
- Gemma 4 31B IT vs GLM-4.7-Flash
- Gemma 4 31B IT vs GLM-5.3
- Gemma 4 31B IT vs GLM-5.3-Flash
- Gemma 4 31B IT vs gpt-oss-120b
- Gemma 4 31B IT vs gpt-oss-20b
- Gemma 4 31B IT vs Granite 4.2 30B
- Gemma 4 31B IT vs Granite 4.2 3B
- Gemma 4 31B IT vs Granite 4.2 8B
- Gemma 4 31B IT vs Hy-Memory-30B-A3B
- Gemma 4 31B IT vs Hy3
- Gemma 4 31B IT vs Inkling
- Gemma 4 31B IT vs Inkling-Small
- Gemma 4 31B IT vs InternVL3.5-GPT-OSS-20B-A4B-Preview
- Gemma 4 31B IT vs Kimi K3
- Gemma 4 31B IT vs Kimi K3.1 Pro
- Gemma 4 31B IT vs Kolibri-1
- Gemma 4 31B IT vs Kronos
- Gemma 4 31B IT vs Laguna M.1
- Gemma 4 31B IT vs Laguna S 2.1
- Gemma 4 31B IT vs Laguna XS 2.1
- Gemma 4 31B IT vs LBS-27B
- Gemma 4 31B IT vs LFM2.5-2.6B
- Gemma 4 31B IT vs LFM3-1.7B
- Gemma 4 31B IT vs LFM3-Audio-2B
- Gemma 4 31B IT vs LFM3-Omni-2B
- Gemma 4 31B IT vs LFM3-VL-2B
- Gemma 4 31B IT vs Ling-3.0-tiny
- Gemma 4 31B IT vs Ling-3.1-flash-1019
- Gemma 4 31B IT vs LongCat-2.5
- Gemma 4 31B IT vs MiMo-V2.6 Distill Qwen 9B
- Gemma 4 31B IT vs MiMo-V2.6-Flash-RL
- Gemma 4 31B IT vs MiniCPM-o 4.5
- Gemma 4 31B IT vs MiniCPM-V 4.7 1B
- Gemma 4 31B IT vs MiniCPM-V 4.7 35B-A3B
- Gemma 4 31B IT vs MiniCPM5-2B
- Gemma 4 31B IT vs MiniMax-M2.5
- Gemma 4 31B IT vs MiniMax-M2.7
- Gemma 4 31B IT vs MiniMax-M3.1-Flash
- Gemma 4 31B IT vs Mistral Large 4
- Gemma 4 31B IT vs Muse Glimmer 30B
- Gemma 4 31B IT vs Nanbeige4.2-3B
- Gemma 4 31B IT vs Nanbeige4.3-33B
- Gemma 4 31B IT vs NVIDIA Nemotron 3.5 Bolt E4B 4GB
- Gemma 4 31B IT vs Nemotron 3.5 Lightning 30B A3B
- Gemma 4 31B IT vs Nemotron 3 Nano 30B A3B
- Gemma 4 31B IT vs Nemotron 3 Nano 4B
- Gemma 4 31B IT vs Nemotron 3 Nano Omni 30B A3B Reasoning
- Gemma 4 31B IT vs Nemotron 3 Super 120B A12B
- Gemma 4 31B IT vs Nemotron 3 Ultra 550B A55B
- Gemma 4 31B IT vs North Mini Code 1.0
- Gemma 4 31B IT vs occamy-1.0
- Gemma 4 31B IT vs Olmo 3 7B Think
- Gemma 4 31B IT vs Ornith-1.5-122B
- Gemma 4 31B IT vs Ornith-1.5-35B-A3B
- Gemma 4 31B IT vs Ornith-1.5-397B
- Gemma 4 31B IT vs Ornith-1.5-9B
- Gemma 4 31B IT vs OTel-2.0-LLM-31B-IT
- Gemma 4 31B IT vs Qwen-AgentWorld-35B-A3B
- Gemma 4 31B IT vs Qwen3-30B-A3B-Instruct-2507
- Gemma 4 31B IT vs Qwen3-4B-Instruct-2507
- Gemma 4 31B IT vs Qwen3.5-0.8B
- Gemma 4 31B IT vs Qwen3.5-122B-A10B
- Gemma 4 31B IT vs Qwen3.5-2B
- Gemma 4 31B IT vs Qwen3.5-397B-A17B
- Gemma 4 31B IT vs Qwen3.5-4B
- Gemma 4 31B IT vs Qwen3.5-9B
- Gemma 4 31B IT vs Qwen3.6-27B
- Gemma 4 31B IT vs Qwen3.6-35B-A3B
- Gemma 4 31B IT vs Qwen3.8-27B
- Gemma 4 31B IT vs Qwen3.8-Flash-Next
- Gemma 4 31B IT vs Qwen3-Coder-30B-A3B-Instruct
- Gemma 4 31B IT vs Qwen3-Coder-Next
- Gemma 4 31B IT vs Qwen3-Omni-30B-A3B-Instruct
- Gemma 4 31B IT vs Qwen3-VL-2B-Instruct
- Gemma 4 31B IT vs Qwen3-VL-30B-A3B-Instruct
- Gemma 4 31B IT vs Qwen3-VL-32B-Instruct
- Gemma 4 31B IT vs Qwen3-VL-4B-Instruct
- Gemma 4 31B IT vs Qwen3-VL-8B-Instruct
- Gemma 4 31B IT vs Qwopus3.8-27B-Flash-V2
- Gemma 4 31B IT vs Recursive Flint
- Gemma 4 31B IT vs Ripple-65B Preview
- Gemma 4 31B IT vs SenseNova-Loop-9B-Preview
- Gemma 4 31B IT vs SmolLM3-3B
- Gemma 4 31B IT vs Spark-X2.6-4B
- Gemma 4 31B IT vs Step 3.7 Flash
- Gemma 4 31B IT vs Swift 1.5 Qwen3.8-27B
- Gemma 4 31B IT vs Swift 1.5 Qwen3.8-Flash-Next
- Gemma 4 31B IT vs ThinkingCap (Qwen3.8 27B)
- Gemma 4 31B IT vs Baidu Unlimited-OCR-2
- Gemma 4 31B IT vs WeVisOne-VL-2B
- Gemma 4 31B IT vs WeVisOne-VL-4B
- Gemma 4 31B IT vs ZAYA1-8B
Machine-readable
- This page as Markdown
/compare/devstral-small-2-vs-gemma-4-31b-it.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/devstral-small-2.json·/api/v1/tools/gemma-4-31b-it.json - From a terminal
anchor compare devstral-small-2 gemma-4-31b-it(the CLI) - Over MCP
compare_tools {"a": "devstral-small-2", "b": "gemma-4-31b-it"}at/mcp, no key