I benchmarked 22 local models for OpenClaw agent tool calling on RTX 3090 — Qwen 2.5 Coder 32B (Oct 2024) still beats every 2025-2026 model, including Claude Sonnet 4.5

Resources

22 models benchmarked for OpenClaw agent tool calling on RTX 3090 24GB

I run OpenClaw as my daily AI agent (Telegram, email, CRM) on a self-hosted RTX 3090. I tested 22 models on what actually matters for agents: tool calling, multi-step workflows, bilingual FR/EN, and JSON reliability. Setup: llama.cpp, 65K context, KV cache q4_0, flash attention.

TL;DR

  • Qwen 2.5 Coder 32B (Q4_K_M) wins at 9.3/10 — a model from October 2024 beats every 2025-2026 model
  • It also beats Claude Sonnet 4.5 API (8.6/10) on pure agent execution
  • Reasoning models (R1 Distill, QwQ, OLMo Think) make terrible agents — thinking ≠ doing
  • MoE with 3B active params can't handle multi-step — fast but unreliable
  • Magistral Small 2509 is the dark horse — best multi-step (9/10), perfect French

Protocol — 7 categories, 25 tests

CatWeightWhat we measure
Tool Calling25%Single tool: exec, read, edit, web_search, browser
Multi-step25%Chain 3+ tools: email→HARO→CRM, KB→syndication
Instructions20%Confirmation, FR response, CRM verify
Bilingual FR/EN10%Pure EN/FR, switch, long context stability
JSON10%Parseable, types, nested, consistency (3x)
Speed5%tok/s on 400-word generation
Prefix Cache5%Speedup on repeated prompts

Dense Models Results

#ModelQScoreToolsMultiInstrBiLiJSONtok/s
refClaude Sonnet 4.5 (API)—8.68.29.07.510.010.034.6*
1Qwen 2.5 Coder 32BQ49.310.010.07.510.010.015.2
2Qwen 2.5 Instruct 32BQ49.310.09.08.310.010.017.5
3Magistral Small 2509Q68.26.29.07.510.010.016.2
3Falcon-H1 34BQ48.210.06.77.510.010.016.9
5Hermes 4.3 36BQ38.08.28.05.810.010.014.0
6Mistral Small 3.2Q67.99.05.77.510.010.016.9
7Qwen3 32BQ47.78.26.75.88.810.016.0
8Devstral Small 2Q67.58.24.77.510.010.015.9
9QwQ 32BQ47.38.24.77.57.010.015.5
10Granite 4.0-H (MoE)Q47.28.24.75.810.010.053.3
11Qwen3.5 27BQ47.18.26.78.33.56.617.9
12Devstral Small v1Q65.66.40.05.810.010.016.8
13Aya Expanse 32BQ45.56.40.05.810.010.014.8
14Gemma 3 27BQ45.56.40.05.810.08.018.2
—EXAONE 4.0 32BQ44.21.00.07.58.86.615.1
—R1 Distill Qwen 32BQ44.01.00.06.56.59.415.3
—GPT-OSS 20B (MoE)Q43.52.80.05.85.31.4121.8
—OLMo 3.1 ThinkQ43.43.20.05.07.50.014.4

*Claude tok/s estimated from API wall time, not comparable with local

MoE Models (3B active)

ModelQScoreToolsMultitok/sNotes
Qwen3.5 35B-A3BQ47.98.210.084.9FAIL: BiLi 3.5, JSON 4.6
Qwen3 30B-A3BQ47.68.24.7125.6VIABLE
Qwen3-Coder 30B-A3BQ47.56.24.7128.2VIABLE
GLM-4.7-FlashQ46.68.22.387.8VIABLE

Key Findings

1. A 2024 model still wins. Qwen 2.5 Coder 32B was optimized for structured output and function calling. No 2025-2026 model has topped it for agent work.

2. Local beats cloud for agents. Qwen 2.5 Coder (9.3) > Claude Sonnet 4.5 (8.6) on this benchmark. Caveat: Claude's lower score may partly reflect API format differences. But for pure tool execution, the local model wins at €15/mo electricity vs $20-50/mo API.

3. Newer Qwen = worse tool calling.

GenTool CallingBilingual FR
Qwen 2.5 (2024)10.010.0
Qwen 3 (2025)8.28.8
Qwen 3.5 (2026)8.23.5

Qwen 3.5 mixes Chinese into French responses. Each generation got smarter on benchmarks but worse at reliable execution.

4. Reasoning models can't agent. R1 Distill (4.0), OLMo Think (3.4), QwQ (7.3) — they waste tokens thinking when the agent needs to act.

5. MoE 3B active isn't enough. Fast (85-128 tok/s) but can't maintain context for multi-step chains. Dense 32B at 15-17 tok/s is slower but reliable.

6. Surprises: Falcon-H1 34B (8.2) — unknown model, perfect tool calling. Magistral Small (8.2) — best French + multi-step combo.

Q5_K_M Tests

Tried upgrading top models to Q5_K_M — all OOM'd at 65K context on 24GB. Q4_K_M is the ceiling for 32B on a single 3090. Only Magistral Small 24B benefits from higher quant (runs at Q6_K in 19GB).

My Setup

  • Daily driver: Qwen 2.5 Coder 32B Q4_K_M (llama.cpp)
  • French tasks: Magistral Small 2509 Q6_K
  • Complex reasoning: Claude API fallback

Hardware: RTX 3090 24GB, 64GB RAM, Ubuntu 25.10. Temp 0.1 for tool calls, 0.3 for generation. Happy to share the benchmark script if there's interest.

Posted Mar 6, 2026, 5:43 PM UTC

011
Loading comments…