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

Devstral Small 2 vs Nanbeige4.2-3B

Devstral Small 2 and Nanbeige4.2-3B score within a point of each other on agent readiness, 61 (C) and 61 (C). Nanbeige4.2-3B leads on agent interface and documentation and upkeep. 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

Devstral Small 2 C

Best for Developers who want a dependable local coding agent on one consumer GPU or a 32 GB Mac

Ahead on

  • Reach, 90 against 85
  • Risk, 60 against 55

Watch for

No limitations, safety results, languages or data on the card

Nanbeige4.2-3B C

Best for Local agents that need tool calling and a long context on a laptop or a small GPU

Ahead on

  • Agent interface, 85 against 65
  • Documentation and upkeep, 72 against 46

Watch for

Its own architecture: Transformers loads it only with the repository's code

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.

Documentation and upkeep Nanbeige4.2-3B +26

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.

Nanbeige4.2-3B 72

Model card 17, Intended use, limitations, the architecture, the parameters (3B outside the embeddings), the context and the languages (in the metadata) are on the card. Training data 5, A general description of how the fine-tuning and reinforcement learning data was built and filtered, with no sources, sizes or cut-off. Last change 15, the last commit, on 11 September 2026, updated modeling_nanbeige.py, 60 days before this check and within 90. Responsiveness 20, Of the 34 most recent discussions that aren't pull requests (21 July to 10 September 2026), 20 have a reply from a Nanbeige member, which is most. Version policy 5, Nanbeige's earlier models (Nanbeige4-3B, 4.1-3B) stay in their own repositories, as the Base, FP8, 8-bit and DSpark builds of this one do. File health 10, Config, tokenizer config, template and card agree on the architecture and the 262,144 tokens. 17 + 5 + 15 + 20 + 5 + 10 = 72.

Agent interface Nanbeige4.2-3B +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.

Nanbeige4.2-3B 85

Chat template 20, A Jinja chat template in tokenizer_config.json (7,961 characters), with enable_thinking, preserve_thinking, tools and tool_call_format switches. Tool-calling format 25, the card says passing tools switches on the tool template and recommends tool_call_format xml, with json for compatibility, and its SGLang and vLLM commands name the nanbeige tool-call parser, which released SGLang 0.5.23 has. Trained tool calling 20, the card describes fine-tuning on tool-use environments and agent scaffolds and reinforcement learning on agent tasks, and the template tells the model it may call one or more functions and renders every call in a turn. Structured output 0, Neither the card nor the files mention JSON or JSON Schema output, beyond json as a tool-call format. Reasoning control 10, the card documents enable_thinking, on by default and False per request, and preserve_thinking for earlier turns, and names the nanbeige reasoning parser, which returns the reasoning apart from the answer. Context 10, 262,144 tokens, which the card says the model supports and config.json gives as max_position_embeddings. 20 + 25 + 20 + 0 + 10 + 10 = 85.

Reach Devstral Small 2 +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.

Nanbeige4.2-3B 85

Memory 30, the smallest build from Nanbeige is the FP8 repository (the 8-bit GPTQ one is the same size), 5.19 GB, and 5.19 GB × 1.2 = 6.2 GB, within 16 GB. bartowski's GGUF isn't read for this line. Runtimes 15, Released SGLang 0.5.23 has the model (srt/models/nanbeige.py) with its parsers, llama.cpp b12242 has the nanbeige architecture, and vLLM 0.33.0 names NanbeigeForCausalLM in its registry, served through its Transformers backend. Builds 15, Quantised builds from Nanbeige at two precisions, FP8 and 8-bit GPTQ, each in its own repository. Terms 15, Apache 2.0 in the card's metadata, an OSI licence, with no use policy or other terms on the card. Download 10, the Hub API reports gated false for the model and its FP8 and 8-bit repositories on 10 November 2026, so the files download with no account and nothing to accept. Hosted 0, Hugging Face maps no inference provider to it, and no Nanbeige or BOSS Zhipin API for it was found. 30 + 15 + 15 + 15 + 10 + 0 = 85.

Risk Devstral Small 2 +5

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.

Nanbeige4.2-3B 55

File safety 15, safetensors only, no .bin, .pt or .pth files (25). Provenance 15, the files sit in the Nanbeige organisation (Nanbeige LLM Lab), which the lab's arXiv report for this model links, so the publisher's own account, although the Hub hasn't verified it (10). Safety evaluation 0, no safety results on the card. Agent guidance 5, General cautions: the limitations section says outputs may be inaccurate, biased or harmful. Licence risk 15, Apache 2.0 has no use policy, no threshold and no clause letting the licensor change or revoke it. Security programme 5, BOSS Zhipin runs a security response centre for reporting flaws in its products, as read for the Nanbeige4.3-33B listing (5), though nothing links it to the model. 15 + 15 + 0 + 5 + 15 + 5 = 55.

Score by category

CategoryWeight this runDevstral Small 2Nanbeige4.2-3BEdge
Capability35%pendingpendingpendingnot scored in this run
Reach25%259085Devstral Small 2 +5
Risk20%206055Devstral Small 2 +5
Agent interface10%106585Nanbeige4.2-3B +20
Documentation and upkeep10%104672Nanbeige4.2-3B +26
Negative events≤1500
TotalC 61/100C 61/100

Facts side by side

FactDevstral Small 2Nanbeige4.2-3B
KindOpen-weight modelOpen-weight model
VendorMistral AINanbeige LLM Lab (BOSS Zhipin)
Hosted endpointno (local only)no (local only)
Transports
AuthNoneNone
PricingFreeFree
x402nono
LicenceApache-2.0Apache-2.0 (Hub metadata only; the repository has no LICENSE file)
Read-only variant documentednono
llms.txtnono
Last release2026-07-152026-09-11
Terms last updatedno document linkedno document linked
Privacy policy last updatedno document linkedno document linked

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.

Nanbeige4.2-3B

A small model built for agent work, with tool calling it was trained for, a thinking switch and a 256K context in about 5 GB, under Apache 2.0, from a lab that answers most questions. Its architecture is its own, so check your runtime: SGLang and llama.cpp have it, Transformers needs the repository's code, and Nanbeige ships no GGUF.

Before you call either

Devstral Small 2

  1. ollama run devstral-small-2 is the quickest start, at 15 GB
  2. On vLLM pass --tool-call-parser mistral --enable-auto-tool-choice
  3. Send the system prompt from CHAT_SYSTEM_PROMPT.txt in the repository. The card says results depend on it
  4. Use a low temperature. The repository's default is 0.15
  5. Plan for one tool call per turn
  6. The same model is on our Mistral API listing if you'd rather not host it

Nanbeige4.2-3B

  1. Serve it with SGLang 0.5.23 or later and pass --tool-call-parser nanbeige --reasoning-parser nanbeige
  2. Pass tools in the request. The card recommends tool_call_format="xml"
  3. Set preserve_thinking true for multi-turn tool use and coding, false for plain chat
  4. Use temperature 1.0 for agent and tool work and 0.6 for reasoning and chat, per the card
  5. For llama.cpp use b12242 or later. The GGUF files on the Hub are bartowski's, not Nanbeige's
  6. If you load it with Transformers, read modeling_nanbeige.py first: trust_remote_code runs it

Questions

Which is better for AI agents, Devstral Small 2 or Nanbeige4.2-3B?

Devstral Small 2 and Nanbeige4.2-3B score within a point of each other on agent readiness, 61 (C) and 61 (C). Nanbeige4.2-3B leads on agent interface and documentation and upkeep.

Other comparisons with Devstral Small 2 or Nanbeige4.2-3B

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.