Axis Spatial

GeoAgentEval benchmark leaderboard

Building, auditing and repairing a PostGIS database, from GeoAgentEval. A standalone evaluation: its scores are shown here and on model pages, but it is not counted in any index or ranking until more models have run it.

Score

GeoAgentEval score

Share of tasks passed, 0 to 100 · Higher is better

GeoAgentEval scoreScores 0 to 100: Claude Opus 5.5 (medium), Claude Code: 100; Claude Opus 5.5 (high), Claude Code: 100; Claude Sonnet 5.5 (high), Claude Code: 100; Claude Opus 5.5 (xhigh), Claude Code: 100; Claude Sonnet 5.5 (xhigh), Claude Code: 100; Claude Sonnet 5.5 (medium), Claude Code: 96; Claude Opus 5 (high), Claude Code: 96; Claude Haiku 5.5 (medium), Claude Code: 92; Claude Haiku 5.5 (high), Claude Code: 92; Claude Haiku 5.5 (xhigh), Claude Code: 92; Claude Sonnet 5 (high), Claude Code: 92; Claude Opus 4.8 (high), Claude Code: 92; Claude Opus 4.7 (high), Claude Code: 92; Claude Haiku 4.5 (Reasoning), Claude Code: 88; Claude Sonnet 4.6 (high), Terminus-2: No data; DeepSeek V4 Flash (max), Terminus-2: No data; DeepSeek V4 Flash (high), Terminus-2: No data; DeepSeek V4 Pro (max), Terminus-2: No data; DeepSeek V4 Pro (high), Terminus-2: No data; Gemini 3.1 Flash-Lite (low), Terminus-2: No data; Gemini 3.1 Flash-Lite (minimal), Terminus-2: No data; Gemini 3.1 Flash-Lite (high), Terminus-2: No data; Gemini 3.1 Pro (preview) (low), Terminus-2: No data; Gemini 3.1 Pro (preview) (high), Terminus-2: No data; Gemini 3.8 Flash (high), Terminus-2: No data; Gemini 3.8 Flash (low), Terminus-2: No data; Gemma 4 26B A4B (Reasoning), Terminus-2: No data; GLM-4.7-Flash (Reasoning), Terminus-2: No data; GLM-5.2 (high), Terminus-2: No data; GLM-5.2 (Non-reasoning), Terminus-2: No data; GLM-5.2 (max), Terminus-2: No data; GLM-5.3-Flash (low), Terminus-2: No data; GLM-5.3-Flash (max), Terminus-2: No data; GLM-5.3 (low), Terminus-2: No data; GLM-5.3 (max), Terminus-2: No data; gpt-oss-120b (low), Terminus-2: No data; gpt-oss-120b (high), Terminus-2: No data; gpt-oss-20b (high), Terminus-2: No data; Kimi K2.6 (Reasoning), Terminus-2: No data; Kimi K2.7 Code (Reasoning), Terminus-2: No data; Kimi K3 (Reasoning), Terminus-2: No data; Llama 3.3 70B (Non-reasoning), Terminus-2: No data; MiniMax M3.1 Flash (max), Terminus-2: No data; Mistral Large 3 (Non-reasoning), Terminus-2: No data; Nemotron 3 Nano Omni 30B (Reasoning), Terminus-2: No data; Nemotron 3 Ultra (high), Terminus-2: No data; Nemotron 3.5 Super VL 120B (Reasoning), Terminus-2: No data; Qwen 3.8 27B (xhigh), Terminus-2: No data; GLM-4.7-Flash (Reasoning), Claude Code: No data; GLM-5.2 (max), Claude Code: No data; GLM-5.3-Flash (max), Claude Code: No data; GLM-5.3 (max), Claude Code: No data; DeepSeek V4 Flash (high), Codex: No data; DeepSeek V4 Pro (high), Codex: No data; DeepSeek V4.1 Flash (max), Codex: No data; gpt-oss-120b (high), Codex: No data; gpt-oss-20b (high), Codex: No data; Kimi K2.6 (Reasoning), Kimi Code: No data; Kimi K2.7 Code (Reasoning), Kimi Code: No data; Qwen 3.8 27B (xhigh), Qwen Code: No data; GPT-6.1 Sol (medium), Codex: No data; GPT-6.1 Sol (high), Codex: No data; GPT-6.1 Sol (xhigh), Codex: No data; GPT-6 Luna (xhigh), Codex: No data; GPT-6 Sol (medium), Codex: No data; GPT-6 Sol (high), Codex: No data; GPT-6 Luna (medium), Codex: No data; GPT-6 Luna (high), Codex: No data; GPT-5.6 Sol (medium), Codex: No data; GPT-5.6 Sol (high), Codex: No data; GPT-5.6 Terra (high), Codex: No data; GPT-5.6 Luna (medium), Codex: No data; GPT-5.6 Luna (high), Codex: No data; GPT-5.6 Luna (xhigh), Codex: No data; GPT-6 Luna (low), Codex: No data; GPT-5.6 Luna (low), Codex: No data0255075100Claude Opus 5.5 (medium)Claude Code100Claude Opus 5.5 (high)Claude Code100Claude Sonnet 5.5 (high)Claude Code100Claude Opus 5.5 (xhigh)Claude Code100Claude Sonnet 5.5 (xhigh)Claude Code100Claude Sonnet 5.5 (medium)Claude Code96Claude Opus 5 (high)Claude Code96Claude Haiku 5.5 (medium)Claude Code92Claude Haiku 5.5 (high)Claude Code92Claude Haiku 5.5 (xhigh)Claude Code92Claude Sonnet 5 (high)Claude Code92Claude Opus 4.8 (high)Claude Code92Claude Opus 4.7 (high)Claude Code92Claude Haiku 4.5 (Reasoning)Claude Code88
How to read this chart

What this metric means. The share of tasks the entry passed, 0 to 100.

Data table: GeoAgentEval score
GeoAgentEval score
ModelDeveloperGeoAgentEval score
Claude Opus 5.5 (medium), Claude CodeAnthropic100
Claude Opus 5.5 (high), Claude CodeAnthropic100
Claude Sonnet 5.5 (high), Claude CodeAnthropic100
Claude Opus 5.5 (xhigh), Claude CodeAnthropic100
Claude Sonnet 5.5 (xhigh), Claude CodeAnthropic100
Claude Sonnet 5.5 (medium), Claude CodeAnthropic96
Claude Opus 5 (high), Claude CodeAnthropic96
Claude Haiku 5.5 (medium), Claude CodeAnthropic92
Claude Haiku 5.5 (high), Claude CodeAnthropic92
Claude Haiku 5.5 (xhigh), Claude CodeAnthropic92
Claude Sonnet 5 (high), Claude CodeAnthropic92
Claude Opus 4.8 (high), Claude CodeAnthropic92
Claude Opus 4.7 (high), Claude CodeAnthropic92
Claude Haiku 4.5 (Reasoning), Claude CodeAnthropic88
Claude Sonnet 4.6 (high), Terminus-2AnthropicNo data
DeepSeek V4 Flash (max), Terminus-2DeepSeekNo data
DeepSeek V4 Flash (high), Terminus-2DeepSeekNo data
DeepSeek V4 Pro (max), Terminus-2DeepSeekNo data
DeepSeek V4 Pro (high), Terminus-2DeepSeekNo data
Gemini 3.1 Flash-Lite (low), Terminus-2GoogleNo data
Gemini 3.1 Flash-Lite (minimal), Terminus-2GoogleNo data
Gemini 3.1 Flash-Lite (high), Terminus-2GoogleNo data
Gemini 3.1 Pro (preview) (low), Terminus-2GoogleNo data
Gemini 3.1 Pro (preview) (high), Terminus-2GoogleNo data
Gemini 3.8 Flash (high), Terminus-2GoogleNo data
Gemini 3.8 Flash (low), Terminus-2GoogleNo data
Gemma 4 26B A4B (Reasoning), Terminus-2GoogleNo data
GLM-4.7-Flash (Reasoning), Terminus-2Z.aiNo data
GLM-5.2 (high), Terminus-2Z.aiNo data
GLM-5.2 (Non-reasoning), Terminus-2Z.aiNo data
GLM-5.2 (max), Terminus-2Z.aiNo data
GLM-5.3-Flash (low), Terminus-2Z.aiNo data
GLM-5.3-Flash (max), Terminus-2Z.aiNo data
GLM-5.3 (low), Terminus-2Z.aiNo data
GLM-5.3 (max), Terminus-2Z.aiNo data
gpt-oss-120b (low), Terminus-2OpenAINo data
gpt-oss-120b (high), Terminus-2OpenAINo data
gpt-oss-20b (high), Terminus-2OpenAINo data
Kimi K2.6 (Reasoning), Terminus-2Moonshot AINo data
Kimi K2.7 Code (Reasoning), Terminus-2Moonshot AINo data
Kimi K3 (Reasoning), Terminus-2Moonshot AINo data
Llama 3.3 70B (Non-reasoning), Terminus-2MetaNo data
MiniMax M3.1 Flash (max), Terminus-2OtherNo data
Mistral Large 3 (Non-reasoning), Terminus-2Mistral AINo data
Nemotron 3 Nano Omni 30B (Reasoning), Terminus-2NVIDIANo data
Nemotron 3 Ultra (high), Terminus-2NVIDIANo data
Nemotron 3.5 Super VL 120B (Reasoning), Terminus-2NVIDIANo data
Qwen 3.8 27B (xhigh), Terminus-2Alibaba (Qwen)No data
GLM-4.7-Flash (Reasoning), Claude CodeZ.aiNo data
GLM-5.2 (max), Claude CodeZ.aiNo data
GLM-5.3-Flash (max), Claude CodeZ.aiNo data
GLM-5.3 (max), Claude CodeZ.aiNo data
DeepSeek V4 Flash (high), CodexDeepSeekNo data
DeepSeek V4 Pro (high), CodexDeepSeekNo data
DeepSeek V4.1 Flash (max), CodexOtherNo data
gpt-oss-120b (high), CodexOpenAINo data
gpt-oss-20b (high), CodexOpenAINo data
Kimi K2.6 (Reasoning), Kimi CodeMoonshot AINo data
Kimi K2.7 Code (Reasoning), Kimi CodeMoonshot AINo data
Qwen 3.8 27B (xhigh), Qwen CodeAlibaba (Qwen)No data
GPT-6.1 Sol (medium), CodexOpenAINo data
GPT-6.1 Sol (high), CodexOpenAINo data
GPT-6.1 Sol (xhigh), CodexOpenAINo data
GPT-6 Luna (xhigh), CodexOpenAINo data
GPT-6 Sol (medium), CodexOpenAINo data
GPT-6 Sol (high), CodexOpenAINo data
GPT-6 Luna (medium), CodexOpenAINo data
GPT-6 Luna (high), CodexOpenAINo data
GPT-5.6 Sol (medium), CodexOpenAINo data
GPT-5.6 Sol (high), CodexOpenAINo data
GPT-5.6 Terra (high), CodexOpenAINo data
GPT-5.6 Luna (medium), CodexOpenAINo data
GPT-5.6 Luna (high), CodexOpenAINo data
GPT-5.6 Luna (xhigh), CodexOpenAINo data
GPT-6 Luna (low), CodexOpenAINo data
GPT-5.6 Luna (low), CodexOpenAINo data

GeoAgentEval: score vs. cost per task

GeoAgentEval score against average cost per task (USD) · Higher and further left is better

  • Most attractive quadrant
  • Pareto line
GeoAgentEval: score vs. cost per taskGeoAgentEval score (0 to 100) against cost per task in US dollars, log scale: Claude Haiku 4.5 (Reasoning), Claude Code: 88, $0.057; Claude Opus 5.5 (medium), Claude Code: 100, $0.10; Claude Opus 5.5 (high), Claude Code: 100, $0.12; Claude Sonnet 5.5 (medium), Claude Code: 96, $0.037; Claude Sonnet 5.5 (high), Claude Code: 100, $0.047; Claude Haiku 5.5 (medium), Claude Code: 92, $0.0048; Claude Haiku 5.5 (high), Claude Code: 92, $0.0059; Claude Opus 5.5 (xhigh), Claude Code: 100, $0.15; Claude Sonnet 5.5 (xhigh), Claude Code: 100, $0.062; Claude Haiku 5.5 (xhigh), Claude Code: 92, $0.0077; Claude Opus 5 (high), Claude Code: 96, $0.22; Claude Sonnet 5 (high), Claude Code: 92, $0.10; Claude Opus 4.8 (high), Claude Code: 92, $0.17; Claude Opus 4.7 (high), Claude Code: 92, $0.20Most attractive quadrant86889092949698100$0.002$0.005$0.01$0.02$0.05$0.10$0.20$0.50Cost per task (USD, log scale)GeoAgentEval scoreClaude Sonnet 5.5 (high), Claude CodeClaude Sonnet 5.5 (medium), Claude CodeClaude Haiku 5.5 (medium), Claude CodeClaude Opus 5.5 (medium), Claude CodeClaude Opus 5.5 (high), Claude CodeClaude Opus 5.5 (xhigh), Claude CodeClaude Sonnet 5.5 (xhigh), Claude CodeClaude Opus 5 (high), Claude CodeClaude Haiku 5.5 (high), Claude CodeClaude Haiku 5.5 (xhigh), Claude CodeClaude Sonnet 5 (high), Claude CodeClaude Opus 4.8 (high), Claude CodeClaude Opus 4.7 (high), Claude CodeClaude Haiku 4.5 (Reasoning), Claude Code
How to read this chart

What cost is measuring. What one attempt at a task would cost if paid token by token at the provider's published API prices, averaged over attempts: ordinary input tokens, input tokens served from the provider's cache at the lower cached price, tokens written to the cache where the provider charges for that, and output tokens (thinking included). Cost assumes each harness uses the model's pay-per-token API, priced at public list rates; sandboxes and our own engineering time are not included. Failed attempts count too.

How to read this chart. Each point is one entry. Further left means a lower average cost per task (log scale); higher means a higher GeoAgentEval score. Both axes fit the points shown, so the score axis does not start at zero. The shaded most attractive quadrant is the top-left quarter of the plot, split at the middle of each axis: a reading aid, not a fixed bar. The dotted Pareto line joins the points that no cheaper one beats on score. Only exact costs are plotted; the table lists every entry.

Data table: GeoAgentEval: score vs. cost per task

Token usage

GeoAgentEval: tokens per task

Average tokens per task by type · Lower is better

  • Uncached input
  • Cached input
  • Output (reasoning included)
GeoAgentEval: tokens per taskClaude Sonnet 5.5 (medium), Claude Code: 76k; Claude Sonnet 5.5 (high), Claude Code: 82k; Claude Opus 5.5 (medium), Claude Code: 86k; Claude Opus 5.5 (high), Claude Code: 91k; Claude Sonnet 5.5 (xhigh), Claude Code: 102k; Claude Opus 4.8 (high), Claude Code: 117k; Claude Opus 5.5 (xhigh), Claude Code: 120k; Claude Opus 5 (high), Claude Code: 155k; Claude Opus 4.7 (high), Claude Code: 192k; Claude Haiku 5.5 (medium), Claude Code: 199k; Claude Haiku 5.5 (high), Claude Code: 221k; Claude Sonnet 5 (high), Claude Code: 235k; Claude Haiku 4.5 (Reasoning), Claude Code: 264k; Claude Haiku 5.5 (xhigh), Claude Code: 271k0100k200k300k400kClaude Sonnet 5.5 (medium)Claude Code76kClaude Sonnet 5.5 (high)Claude Code82kClaude Opus 5.5 (medium)Claude Code86kClaude Opus 5.5 (high)Claude Code91kClaude Sonnet 5.5 (xhigh)Claude Code102kClaude Opus 4.8 (high)Claude Code117kClaude Opus 5.5 (xhigh)Claude Code120kClaude Opus 5 (high)Claude Code155kClaude Opus 4.7 (high)Claude Code192kClaude Haiku 5.5 (medium)Claude Code199kClaude Haiku 5.5 (high)Claude Code221kClaude Sonnet 5 (high)Claude Code235kClaude Haiku 4.5 (Reasoning)Claude Code264kClaude Haiku 5.5 (xhigh)Claude Code271k
How to read this chart

What the parts mean. Uncached input: input tokens read at the full price. Cached input: input tokens served from the provider's cache at the lower cached price. Output: the tokens the model wrote, its reasoning included, as reported by the provider.

Compare with care. Models use different tokenisers, so the same text is a different number of tokens for different models. Use token counts to see how much work each model did, and cost to compare spending.

Data table: GeoAgentEval: tokens per task
GeoAgentEval: tokens per task
ModelDeveloperUncached inputCached inputOutput (reasoning included)Total
Claude Sonnet 5.5 (medium), Claude CodeAnthropic5k70k91876k
Claude Sonnet 5.5 (high), Claude CodeAnthropic7k74k1k82k
Claude Opus 5.5 (medium), Claude CodeAnthropic7k78k1k86k
Claude Opus 5.5 (high), Claude CodeAnthropic8k81k2k91k
Claude Sonnet 5.5 (xhigh), Claude CodeAnthropic9k92k2k102k
Claude Opus 4.8 (high), Claude CodeAnthropic7k108k2k117k
Claude Opus 5.5 (xhigh), Claude CodeAnthropic9k108k2k120k
Claude Opus 5 (high), Claude CodeAnthropic9k143k3k155k
Claude Opus 4.7 (high), Claude CodeAnthropic7k183k1k192k
Claude Haiku 5.5 (medium), Claude CodeAnthropic8k188k2k199k
Claude Haiku 5.5 (high), Claude CodeAnthropic11k207k3k221k
Claude Sonnet 5 (high), Claude CodeAnthropic9k225k2k235k
Claude Haiku 4.5 (Reasoning), Claude CodeAnthropic8k253k3k264k
Claude Haiku 5.5 (xhigh), Claude CodeAnthropic12k254k5k271k

Cost

GeoAgentEval: cost per task

Average cost per task (USD) by token type · Lower is better

  • Uncached input
  • Cached input
  • Output
  • Not split by token type
GeoAgentEval: cost per taskValues in US dollars: Claude Haiku 5.5 (medium), Claude Code: $0.0048; Claude Haiku 5.5 (high), Claude Code: $0.0059; Claude Haiku 5.5 (xhigh), Claude Code: $0.0077; Claude Sonnet 5.5 (medium), Claude Code: $0.037; Claude Sonnet 5.5 (high), Claude Code: $0.047; Claude Haiku 4.5 (Reasoning), Claude Code: $0.057; Claude Sonnet 5.5 (xhigh), Claude Code: $0.062; Claude Sonnet 5 (high), Claude Code: $0.10; Claude Opus 5.5 (medium), Claude Code: $0.10; Claude Opus 5.5 (high), Claude Code: $0.12; Claude Opus 5.5 (xhigh), Claude Code: $0.15; Claude Opus 4.8 (high), Claude Code: $0.17; Claude Opus 4.7 (high), Claude Code: $0.20; Claude Opus 5 (high), Claude Code: $0.22$0$0.10$0.20$0.30$0.40Claude Haiku 5.5 (medium)Claude Code$0.0048Claude Haiku 5.5 (high)Claude Code$0.0059Claude Haiku 5.5 (xhigh)Claude Code$0.0077Claude Sonnet 5.5 (medium)Claude Code$0.037Claude Sonnet 5.5 (high)Claude Code$0.047Claude Haiku 4.5 (Reasoning)Claude Code$0.057Claude Sonnet 5.5 (xhigh)Claude Code$0.062Claude Sonnet 5 (high)Claude Code$0.10Claude Opus 5.5 (medium)Claude Code$0.10Claude Opus 5.5 (high)Claude Code$0.12Claude Opus 5.5 (xhigh)Claude Code$0.15Claude Opus 4.8 (high)Claude Code$0.17Claude Opus 4.7 (high)Claude Code$0.20Claude Opus 5 (high)Claude Code$0.22
How to read this chart

What cost is measuring. What one attempt at a task would cost if paid token by token at the provider's published API prices, averaged over attempts: ordinary input tokens, input tokens served from the provider's cache at the lower cached price, tokens written to the cache where the provider charges for that, and output tokens (thinking included). Cost assumes each harness uses the model's pay-per-token API, priced at public list rates; sandboxes and our own engineering time are not included. Failed attempts count too.

How the cost is split. Each part is the entry's average tokens of that type times its list price. The rest, mostly tokens written to the cache, is shown as not split by token type.

Data table: GeoAgentEval: cost per task
GeoAgentEval: cost per task
ModelDeveloperUncached inputCached inputOutputNot split by token typeTotal
Claude Haiku 5.5 (medium), Claude CodeAnthropic$0.00085$0.0019$0.0012$0.00085$0.0048
Claude Haiku 5.5 (high), Claude CodeAnthropic$0.0011$0.0021$0.0017$0.0011$0.0059
Claude Haiku 5.5 (xhigh), Claude CodeAnthropic$0.0012$0.0025$0.0027$0.0012$0.0077
Claude Sonnet 5.5 (medium), Claude CodeAnthropic$0.010$0.0070$0.0092$0.010$0.037
Claude Sonnet 5.5 (high), Claude CodeAnthropic$0.014$0.0074$0.012$0.014$0.047
Claude Haiku 4.5 (Reasoning), Claude CodeAnthropic$0.0082$0.025$0.015$0.0082$0.057
Claude Sonnet 5.5 (xhigh), Claude CodeAnthropic$0.017$0.0092$0.018$0.017$0.062
Claude Sonnet 5 (high), Claude CodeAnthropic$0.017$0.045$0.022$0.017$0.10
Claude Opus 5.5 (medium), Claude CodeAnthropic$0.030$0.016$0.027$0.030$0.10
Claude Opus 5.5 (high), Claude CodeAnthropic$0.034$0.016$0.033$0.034$0.12
Claude Opus 5.5 (xhigh), Claude CodeAnthropic$0.038$0.022$0.049$0.038$0.15
Claude Opus 4.8 (high), Claude CodeAnthropic$0.035$0.054$0.048$0.035$0.17
Claude Opus 4.7 (high), Claude CodeAnthropic$0.035$0.092$0.034$0.035$0.20
Claude Opus 5 (high), Claude CodeAnthropic$0.043$0.072$0.067$0.043$0.22

Speed

GeoAgentEval: time per task

Time per task (at 100 output tokens/s), minutes · Lower is better

GeoAgentEval: time per taskGeoAgentEval: time per task: Claude Sonnet 5.5 (medium), Claude Code: 0.2 min; Claude Sonnet 5.5 (high), Claude Code: 0.3 min; Claude Opus 5.5 (medium), Claude Code: 0.3 min; Claude Opus 4.7 (high), Claude Code: 0.3 min; Claude Opus 5.5 (high), Claude Code: 0.4 min; Claude Sonnet 5.5 (xhigh), Claude Code: 0.4 min; Claude Opus 4.8 (high), Claude Code: 0.4 min; Claude Sonnet 5 (high), Claude Code: 0.5 min; Claude Haiku 5.5 (medium), Claude Code: 0.5 min; Claude Opus 5.5 (xhigh), Claude Code: 0.5 min; Claude Opus 5 (high), Claude Code: 0.5 min; Claude Haiku 4.5 (Reasoning), Claude Code: 0.6 min; Claude Haiku 5.5 (high), Claude Code: 0.7 min; Claude Haiku 5.5 (xhigh), Claude Code: 1.0 min; Claude Sonnet 4.6 (high), Terminus-2: No data; DeepSeek V4 Flash (max), Terminus-2: No data; DeepSeek V4 Flash (high), Terminus-2: No data; DeepSeek V4 Pro (max), Terminus-2: No data; DeepSeek V4 Pro (high), Terminus-2: No data; Gemini 3.1 Flash-Lite (low), Terminus-2: No data; Gemini 3.1 Flash-Lite (minimal), Terminus-2: No data; Gemini 3.1 Flash-Lite (high), Terminus-2: No data; Gemini 3.1 Pro (preview) (low), Terminus-2: No data; Gemini 3.1 Pro (preview) (high), Terminus-2: No data; Gemini 3.8 Flash (high), Terminus-2: No data; Gemini 3.8 Flash (low), Terminus-2: No data; Gemma 4 26B A4B (Reasoning), Terminus-2: No data; GLM-4.7-Flash (Reasoning), Terminus-2: No data; GLM-5.2 (high), Terminus-2: No data; GLM-5.2 (Non-reasoning), Terminus-2: No data; GLM-5.2 (max), Terminus-2: No data; GLM-5.3-Flash (low), Terminus-2: No data; GLM-5.3-Flash (max), Terminus-2: No data; GLM-5.3 (low), Terminus-2: No data; GLM-5.3 (max), Terminus-2: No data; gpt-oss-120b (low), Terminus-2: No data; gpt-oss-120b (high), Terminus-2: No data; gpt-oss-20b (high), Terminus-2: No data; Kimi K2.6 (Reasoning), Terminus-2: No data; Kimi K2.7 Code (Reasoning), Terminus-2: No data; Kimi K3 (Reasoning), Terminus-2: No data; Llama 3.3 70B (Non-reasoning), Terminus-2: No data; MiniMax M3.1 Flash (max), Terminus-2: No data; Mistral Large 3 (Non-reasoning), Terminus-2: No data; Nemotron 3 Nano Omni 30B (Reasoning), Terminus-2: No data; Nemotron 3 Ultra (high), Terminus-2: No data; Nemotron 3.5 Super VL 120B (Reasoning), Terminus-2: No data; Qwen 3.8 27B (xhigh), Terminus-2: No data; GLM-4.7-Flash (Reasoning), Claude Code: No data; GLM-5.2 (max), Claude Code: No data; GLM-5.3-Flash (max), Claude Code: No data; GLM-5.3 (max), Claude Code: No data; DeepSeek V4 Flash (high), Codex: No data; DeepSeek V4 Pro (high), Codex: No data; DeepSeek V4.1 Flash (max), Codex: No data; gpt-oss-120b (high), Codex: No data; gpt-oss-20b (high), Codex: No data; Kimi K2.6 (Reasoning), Kimi Code: No data; Kimi K2.7 Code (Reasoning), Kimi Code: No data; Qwen 3.8 27B (xhigh), Qwen Code: No data; GPT-6.1 Sol (medium), Codex: No data; GPT-6.1 Sol (high), Codex: No data; GPT-6.1 Sol (xhigh), Codex: No data; GPT-6 Luna (xhigh), Codex: No data; GPT-6 Sol (medium), Codex: No data; GPT-6 Sol (high), Codex: No data; GPT-6 Luna (medium), Codex: No data; GPT-6 Luna (high), Codex: No data; GPT-5.6 Sol (medium), Codex: No data; GPT-5.6 Sol (high), Codex: No data; GPT-5.6 Terra (high), Codex: No data; GPT-5.6 Luna (medium), Codex: No data; GPT-5.6 Luna (high), Codex: No data; GPT-5.6 Luna (xhigh), Codex: No data; GPT-6 Luna (low), Codex: No data; GPT-5.6 Luna (low), Codex: No data0 min0.25 min0.5 min0.75 min1 minClaude Sonnet 5.5 (medium)Claude Code0.2 minClaude Sonnet 5.5 (high)Claude Code0.3 minClaude Opus 5.5 (medium)Claude Code0.3 minClaude Opus 4.7 (high)Claude Code0.3 minClaude Opus 5.5 (high)Claude Code0.4 minClaude Sonnet 5.5 (xhigh)Claude Code0.4 minClaude Opus 4.8 (high)Claude Code0.4 minClaude Sonnet 5 (high)Claude Code0.5 minClaude Haiku 5.5 (medium)Claude Code0.5 minClaude Opus 5.5 (xhigh)Claude Code0.5 minClaude Opus 5 (high)Claude Code0.5 minClaude Haiku 4.5 (Reasoning)Claude Code0.6 minClaude Haiku 5.5 (high)Claude Code0.7 minClaude Haiku 5.5 (xhigh)Claude Code1.0 min
How to read this chart

Time per task. Time as if every model wrote 100 output tokens per second: output tokens divided by 100, plus the time the agent's commands took. Serving speed differs between providers and is not ranked.

Data table: GeoAgentEval: time per task
GeoAgentEval: time per task
ModelDeveloperTime per task (min)
Claude Sonnet 5.5 (medium), Claude CodeAnthropic0.2 min
Claude Sonnet 5.5 (high), Claude CodeAnthropic0.3 min
Claude Opus 5.5 (medium), Claude CodeAnthropic0.3 min
Claude Opus 4.7 (high), Claude CodeAnthropic0.3 min
Claude Opus 5.5 (high), Claude CodeAnthropic0.4 min
Claude Sonnet 5.5 (xhigh), Claude CodeAnthropic0.4 min
Claude Opus 4.8 (high), Claude CodeAnthropic0.4 min
Claude Sonnet 5 (high), Claude CodeAnthropic0.5 min
Claude Haiku 5.5 (medium), Claude CodeAnthropic0.5 min
Claude Opus 5.5 (xhigh), Claude CodeAnthropic0.5 min
Claude Opus 5 (high), Claude CodeAnthropic0.5 min
Claude Haiku 4.5 (Reasoning), Claude CodeAnthropic0.6 min
Claude Haiku 5.5 (high), Claude CodeAnthropic0.7 min
Claude Haiku 5.5 (xhigh), Claude CodeAnthropic1.0 min
Claude Sonnet 4.6 (high), Terminus-2AnthropicNo data
DeepSeek V4 Flash (max), Terminus-2DeepSeekNo data
DeepSeek V4 Flash (high), Terminus-2DeepSeekNo data
DeepSeek V4 Pro (max), Terminus-2DeepSeekNo data
DeepSeek V4 Pro (high), Terminus-2DeepSeekNo data
Gemini 3.1 Flash-Lite (low), Terminus-2GoogleNo data
Gemini 3.1 Flash-Lite (minimal), Terminus-2GoogleNo data
Gemini 3.1 Flash-Lite (high), Terminus-2GoogleNo data
Gemini 3.1 Pro (preview) (low), Terminus-2GoogleNo data
Gemini 3.1 Pro (preview) (high), Terminus-2GoogleNo data
Gemini 3.8 Flash (high), Terminus-2GoogleNo data
Gemini 3.8 Flash (low), Terminus-2GoogleNo data
Gemma 4 26B A4B (Reasoning), Terminus-2GoogleNo data
GLM-4.7-Flash (Reasoning), Terminus-2Z.aiNo data
GLM-5.2 (high), Terminus-2Z.aiNo data
GLM-5.2 (Non-reasoning), Terminus-2Z.aiNo data
GLM-5.2 (max), Terminus-2Z.aiNo data
GLM-5.3-Flash (low), Terminus-2Z.aiNo data
GLM-5.3-Flash (max), Terminus-2Z.aiNo data
GLM-5.3 (low), Terminus-2Z.aiNo data
GLM-5.3 (max), Terminus-2Z.aiNo data
gpt-oss-120b (low), Terminus-2OpenAINo data
gpt-oss-120b (high), Terminus-2OpenAINo data
gpt-oss-20b (high), Terminus-2OpenAINo data
Kimi K2.6 (Reasoning), Terminus-2Moonshot AINo data
Kimi K2.7 Code (Reasoning), Terminus-2Moonshot AINo data
Kimi K3 (Reasoning), Terminus-2Moonshot AINo data
Llama 3.3 70B (Non-reasoning), Terminus-2MetaNo data
MiniMax M3.1 Flash (max), Terminus-2OtherNo data
Mistral Large 3 (Non-reasoning), Terminus-2Mistral AINo data
Nemotron 3 Nano Omni 30B (Reasoning), Terminus-2NVIDIANo data
Nemotron 3 Ultra (high), Terminus-2NVIDIANo data
Nemotron 3.5 Super VL 120B (Reasoning), Terminus-2NVIDIANo data
Qwen 3.8 27B (xhigh), Terminus-2Alibaba (Qwen)No data
GLM-4.7-Flash (Reasoning), Claude CodeZ.aiNo data
GLM-5.2 (max), Claude CodeZ.aiNo data
GLM-5.3-Flash (max), Claude CodeZ.aiNo data
GLM-5.3 (max), Claude CodeZ.aiNo data
DeepSeek V4 Flash (high), CodexDeepSeekNo data
DeepSeek V4 Pro (high), CodexDeepSeekNo data
DeepSeek V4.1 Flash (max), CodexOtherNo data
gpt-oss-120b (high), CodexOpenAINo data
gpt-oss-20b (high), CodexOpenAINo data
Kimi K2.6 (Reasoning), Kimi CodeMoonshot AINo data
Kimi K2.7 Code (Reasoning), Kimi CodeMoonshot AINo data
Qwen 3.8 27B (xhigh), Qwen CodeAlibaba (Qwen)No data
GPT-6.1 Sol (medium), CodexOpenAINo data
GPT-6.1 Sol (high), CodexOpenAINo data
GPT-6.1 Sol (xhigh), CodexOpenAINo data
GPT-6 Luna (xhigh), CodexOpenAINo data
GPT-6 Sol (medium), CodexOpenAINo data
GPT-6 Sol (high), CodexOpenAINo data
GPT-6 Luna (medium), CodexOpenAINo data
GPT-6 Luna (high), CodexOpenAINo data
GPT-5.6 Sol (medium), CodexOpenAINo data
GPT-5.6 Sol (high), CodexOpenAINo data
GPT-5.6 Terra (high), CodexOpenAINo data
GPT-5.6 Luna (medium), CodexOpenAINo data
GPT-5.6 Luna (high), CodexOpenAINo data
GPT-5.6 Luna (xhigh), CodexOpenAINo data
GPT-6 Luna (low), CodexOpenAINo data
GPT-5.6 Luna (low), CodexOpenAINo data

GeoAgentEval: score vs. time per task

GeoAgentEval score against time per task (at 100 output tokens/s), minutes · Higher and further left is better

  • Most attractive quadrant
  • Pareto line
GeoAgentEval: score vs. time per taskGeoAgentEval score (0 to 100) against time per task (minutes), log scale: Claude Haiku 4.5 (Reasoning), Claude Code: 88, 0.6 min; Claude Opus 5.5 (medium), Claude Code: 100, 0.3 min; Claude Opus 5.5 (high), Claude Code: 100, 0.4 min; Claude Sonnet 5.5 (medium), Claude Code: 96, 0.2 min; Claude Sonnet 5.5 (high), Claude Code: 100, 0.3 min; Claude Haiku 5.5 (medium), Claude Code: 92, 0.5 min; Claude Haiku 5.5 (high), Claude Code: 92, 0.7 min; Claude Opus 5.5 (xhigh), Claude Code: 100, 0.5 min; Claude Sonnet 5.5 (xhigh), Claude Code: 100, 0.4 min; Claude Haiku 5.5 (xhigh), Claude Code: 92, 1.0 min; Claude Opus 5 (high), Claude Code: 96, 0.5 min; Claude Sonnet 5 (high), Claude Code: 92, 0.5 min; Claude Opus 4.8 (high), Claude Code: 92, 0.4 min; Claude Opus 4.7 (high), Claude Code: 92, 0.3 minMost attractive quadrant868890929496981000.2 min0.5 min1 min2 minTime per task (minutes, log scale)GeoAgentEval scoreClaude Opus 5.5 (medium), Claude CodeClaude Opus 5.5 (high), Claude CodeClaude Sonnet 5.5 (high), Claude CodeClaude Sonnet 5.5 (medium), Claude CodeClaude Opus 5.5 (xhigh), Claude CodeClaude Sonnet 5.5 (xhigh), Claude CodeClaude Opus 5 (high), Claude CodeClaude Haiku 5.5 (medium), Claude CodeClaude Haiku 5.5 (high), Claude CodeClaude Haiku 5.5 (xhigh), Claude CodeClaude Sonnet 5 (high), Claude CodeClaude Opus 4.8 (high), Claude CodeClaude Opus 4.7 (high), Claude CodeClaude Haiku 4.5 (Reasoning), Claude Code
How to read this chart

Time per task. Time as if every model wrote 100 output tokens per second: output tokens divided by 100, plus the time the agent's commands took. Serving speed differs between providers and is not ranked.

How to read this chart. Each point is one entry. Further left means a lower average time per task (log scale); higher means a higher GeoAgentEval score. Both axes fit the points shown, so the score axis does not start at zero. The shaded most attractive quadrant is the top-left quarter of the plot: a reading aid, not a fixed bar. The dotted Pareto line joins the points that no faster one beats on score.

Data table: GeoAgentEval: score vs. time per task

Score vs. release date

GeoAgentEval: score vs. release date

GeoAgentEval score against the model's public release date

GeoAgentEval: score vs. release dateGeoAgentEval score (0 to 100) against release date: Claude Haiku 4.5 (Reasoning), Claude Code: 88, 15 October 2025; Claude Opus 5.5 (medium), Claude Code: 100, 22 September 2026; Claude Opus 5.5 (high), Claude Code: 100, 22 September 2026; Claude Sonnet 5.5 (medium), Claude Code: 96, 28 September 2026; Claude Sonnet 5.5 (high), Claude Code: 100, 28 September 2026; Claude Haiku 5.5 (medium), Claude Code: 92, 7 October 2026; Claude Haiku 5.5 (high), Claude Code: 92, 7 October 2026; Claude Opus 5.5 (xhigh), Claude Code: 100, 22 September 2026; Claude Sonnet 5.5 (xhigh), Claude Code: 100, 28 September 2026; Claude Haiku 5.5 (xhigh), Claude Code: 92, 7 October 2026; Claude Opus 5 (high), Claude Code: 96, 24 July 2026; Claude Sonnet 5 (high), Claude Code: 92, 30 June 2026; Claude Opus 4.8 (high), Claude Code: 92, 28 May 2026; Claude Opus 4.7 (high), Claude Code: 92, 16 April 202686889092949698100Oct 2025Jan 2026Apr 2026Jul 2026Oct 2026Jan 2027Release dateGeoAgentEval scoreClaude Opus 5.5 (medium), Claude CodeClaude Opus 5.5 (high), Claude CodeClaude Sonnet 5.5 (high), Claude CodeClaude Opus 5.5 (xhigh), Claude CodeClaude Sonnet 5.5 (xhigh), Claude CodeClaude Sonnet 5.5 (medium), Claude CodeClaude Opus 5 (high), Claude CodeClaude Haiku 5.5 (medium), Claude CodeClaude Haiku 5.5 (high), Claude CodeClaude Haiku 5.5 (xhigh), Claude CodeClaude Sonnet 5 (high), Claude CodeClaude Opus 4.8 (high), Claude CodeClaude Opus 4.7 (high), Claude CodeClaude Haiku 4.5 (Reasoning), Claude Code
How to read this chart

How to read this chart. Each point is one entry: across, the date its model was first released; up, its GeoAgentEval score. Models with no published release date are not plotted.

Data table: GeoAgentEval: score vs. release date

Background

GeoAgentEval tests whether an agent can build, audit and repair spatial data in a PostGIS database, and decline honestly when a request cannot be done: flood zones, wards, routes, coordinate systems and stale records in one made-up town.

Licence: MIT (code, tasks and the made-up town).

Published by Harsh Dange.

Related links

Explore evaluations