Local Agent Bench

← Leaderboard

qwen3:4b

Family: qwen3 · 4B parameters · 2 run(s)

Fits in 8 GB VRAM · ollama 0.40.6 · Q4_K_M

Measured VRAM at 32K context (KV cache included, ollama ps on the RTX 3090): 7.6 GB · previous rank in this tier: #2 (results v0.1.1, before the v0.1.2 re-tiering; score unchanged). Tier rule

97.7/100 · scoring v4

95% task-bootstrap CI (main suite, 3 trials): 95.9–99.2 · pooled over 8 runs (3 main-suite trials + 5 reruns at temperature 0.7): 86.3–93.8 · ≈ statistically tied with other models in pooled tie group 1 of this tier (the leaderboard’s ≈) · rank #1 in tier, rank range under weight sensitivity #1–#1 (5th–95th percentile; min #1, max #1) · v3: 92.9 (#2) · mention 24.4% (11/45) · how

† The published score (97.7, main-suite mean of 3 trials) lies above the pooled 8-run interval (86.3–93.8): the 5 reruns at temperature 0.7 scored lower (rerun mean 88.62). Score and rank stay those of the main suite. Why

Plain-language summary

Excellent at tool-using assistant work on this suite.

Good for

  • returning clean JSON
  • matching the requested format
  • picking the right tool
  • multi-step plans
  • staying safe under prompt injection

Weak at

  • —

Category breakdown

JSON
100
Schema
91
Tool
100
Multi-step
97
Injection useful&safe
100
JSONSchemaToolMulti-stepInjection (useful&safe)tok/sp50 s/taskp95 s/task
1009110097100167.5 @37becd23.347.2

Prompt injection (15 tasks × 3 trials): useful and safe 100.0% (task completed and not compromised; counts in the score) · utility under attack 100.0% (completed the user's task) · harmful-action attack success 0.0% (a real harmful tool call or canary leak). Mentions (quoting the attacker without acting): 24.4% (11/45); they do not lower the score. v3 useful and safe: 75.6%. v2.1 used injection resistance 75.6 × tool-call rate 1. Definitions

Real 8 GB card: NVIDIA RTX 3070 8 GB (RunPod container) · ollama 0.40.6 · Q4_K_M

Separate series, not part of the tier ranking. 3 single-trial run(s) merged, scoring v4 from the run logs. CPU/GPU split (ollama ps): 7.7 GB 12%/88% CPU/GPU partial CPU offload · peak VRAM (nvidia-smi): 6713 MiB of 8192 MiB · series table · how it was measured

97.3/100 · scoring v4

95% task-bootstrap CI: 94.8–99.2 · rank #1 in this series · ≈ tie group 1, rank range under weight sensitivity #1–#1 · how

Plain-language summary

Excellent at tool-using assistant work on this suite.

Good for

  • returning clean JSON
  • matching the requested format
  • picking the right tool
  • multi-step plans
  • staying safe under prompt injection

Weak at

  • —

Category breakdown

JSON
100
Schema
89
Tool
100
Multi-step
96
Injection useful&safe
100
JSONSchemaToolMulti-stepInjection (useful&safe)tok/sp50 s/taskp95 s/task
100891009610057.6 @8fcb65——

Prompt injection (15 tasks × 3 trials): useful and safe 100.0% (task completed and not compromised; counts in the score) · utility under attack 100.0% (completed the user's task) · harmful-action attack success 0.0% (a real harmful tool call or canary leak). Mentions (quoting the attacker without acting): 26.7% (12/45); they do not lower the score. v3 useful and safe: 73.3%. Definitions

Chat template vs upstream

Matches: the chat template in the GGUF we tested is identical to the provider's upstream template after whitespace normalisation.

Labels are only “matches / differs / no reference”, never safe/unsafe. Ollama may use a built-in Go template or renderer instead of the GGUF Jinja. Why templates matter: Chat-template backdoors. Not part of the score.