Model Evaluation
GPT-6.1 Terra went 90 for 90 on our fleet benchmark. So did Sol 6.1 and Opus 5.5, at about four times the price
We ran OpenAI's new mid-tier model against eight rivals on 39 tasks drawn from the work our agent fleet actually does, including the two flagships it competes with. Terra, GPT-6.1 Sol and Claude Opus 5.5 all passed every graded trial. Terra did it for about $3.36 per thousand tasks; Sol 6.1 cost $14.92 and Opus 5.5 $12.45.
Scoreboard
| Model | Lab | Objective pass (95% CI) | Agentic pass | Agentic partial | Writing W-L-T vs subject | p50 latency | Est. $ / 1k tasks |
|---|---|---|---|---|---|---|---|
| gpt-6.1-terra | openai | 100.0% (96–100) | 100.0% | 100.0% | subject | 27.0 s | $3.36 |
| gpt-6-sol | openai | 94.4% (88–98) | 90.0% | 91.5% | 2-4-1 | 26.9 s | $10.50 |
| gpt-5.6-terra | openai | 94.4% (88–98) | 90.0% | 94.0% | 0-5-3 | 30.2 s | $18.07 |
| deepseek-v4.1-flash-1017 | deepseek | 95.6% (89–98) | 90.0% | 95.4% | 1-5-2 | 29.3 s | $3.34 |
| MiniMax-M3.1-Flash-Preview | minimax | 91.1% (83–95) ⚑ | 100.0% | 100.0% | 1-6-1 | 34.4 s | $2.54 |
| grok-4.7 | xai | 95.7% (88–98) ⚑ | 100.0% | 100.0% | 0-5-3 | 29.9 s | $21.92 |
| claude-sonnet-5-5 | anthropic | 94.4% (88–98) | 90.0% | 90.0% | 2-4-1 | 22.3 s | $4.81 |
| gpt-6.1-sol | openai | 100.0% (96–100) | 100.0% | 100.0% | 3-3-2 | 24.3 s | $14.92 |
| claude-opus-5-5 | anthropic | 100.0% (96–100) | 100.0% | 100.0% | 4-3-1 | 21.2 s | $12.45 |
Highlighted row: subject model. Writing W-L-T is the row model's wins, losses and ties against the subject, one decision per judge per task (A win requires the judge to pick the same response in both A/B orders; a split verdict is a tie.). Objective = b1 + code + ops + context tracks pooled.
⚑ Report v3 flags. MiniMax-M3.1-Flash-Preview: low coverage: agentic tool use 7/10; 3 unverified-attribution trials not counted. grok-4.7: low coverage: agentic tool use 6/10, hard coding 4/24; 1 unverified-attribution trial not counted.
Results by track
| Track | gpt-6.1-terra | gpt-6-sol | gpt-5.6-terra | deepseek-v4.1-flash-1017 | MiniMax-M3.1-Flash-Preview | grok-4.7 | claude-sonnet-5-5 | gpt-6.1-sol | claude-opus-5-5 |
|---|---|---|---|---|---|---|---|---|---|
| Daily suite (b1) | 100.0% (33/33) | 100.0% (33/33) | 97.0% (32/33) | 97.0% (32/33) | 100.0% (33/33) | 97.0% (32/33) | 100.0% (33/33) | 100.0% (33/33) | 100.0% (33/33) |
| Hard coding | 100.0% (24/24) | 79.2% (19/24) | 83.3% (20/24) | 87.5% (21/24) | 66.7% (16/24) | 50.0% (2/4) ⚑ 4/24 planned | 100.0% (24/24) | 100.0% (24/24) | 100.0% (24/24) |
| Ops / format compliance | 100.0% (24/24) | 100.0% (24/24) | 100.0% (24/24) | 100.0% (24/24) | 100.0% (24/24) | 100.0% (24/24) | 79.2% (19/24) | 100.0% (24/24) | 100.0% (24/24) |
| Long-context recall | 100.0% (9/9) | 100.0% (9/9) | 100.0% (9/9) | 100.0% (9/9) | 100.0% (9/9) | 100.0% (9/9) | 100.0% (9/9) | 100.0% (9/9) | 100.0% (9/9) |
| Agentic tool use | 100.0% (10/10) | 90.0% (9/10) | 90.0% (9/10) | 90.0% (9/10) | 100.0% (7/7) ⚑ 7/10 planned | 100.0% (6/6) ⚑ 6/10 planned | 90.0% (9/10) | 100.0% (10/10) | 100.0% (10/10) |
Cost versus score
Every task, every model
Cells show passes / valid trials; colour runs red (0%) to green (100%).
| Track | Task | gpt-6.1-terra | gpt-6-sol | gpt-5.6-terra | deepseek-v4.1-flash-1017 | MiniMax-M3.1-Flash-Preview | grok-4.7 | claude-sonnet-5-5 | gpt-6.1-sol | claude-opus-5-5 |
|---|---|---|---|---|---|---|---|---|---|---|
| b1 | c1_duration | 3/3 | 3/3 | 3/3 | 2/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 |
| b1 | c2_chunk | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 |
| b1 | c3_merge_intervals | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 |
| b1 | c4_wilson | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 |
| b1 | c5_rolling_median | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 |
| b1 | c6_top_k_words | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 |
| b1 | e1_digit_sum | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 |
| b1 | e2_exact_line | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 2/3 | 3/3 | 3/3 | 3/3 |
| b1 | e3_capital | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 |
| b1 | r1_needle | 3/3 | 3/3 | 2/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 |
| b1 | r2_needle | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 |
| code | code_apply_diff | 3/3 | 2/3 | 2/3 | 2/3 | 3/3 | – | 3/3 | 3/3 | 3/3 |
| code | code_cron_next | 3/3 | 3/3 | 1/3 | 3/3 | 1/3 | – | 3/3 | 3/3 | 3/3 |
| code | code_free_slots | 3/3 | 3/3 | 2/3 | 3/3 | 2/3 | 0/2 | 3/3 | 3/3 | 3/3 |
| code | code_jsonpath | 3/3 | 2/3 | 3/3 | 3/3 | 1/3 | – | 3/3 | 3/3 | 3/3 |
| code | code_lru_ttl | 3/3 | 3/3 | 3/3 | 2/3 | 3/3 | – | 3/3 | 3/3 | 3/3 |
| code | code_semver_range | 3/3 | 2/3 | 3/3 | 2/3 | 1/3 | – | 3/3 | 3/3 | 3/3 |
| code | code_token_bucket | 3/3 | 2/3 | 3/3 | 3/3 | 2/3 | 2/2 | 3/3 | 3/3 | 3/3 |
| code | code_toposort_cycle | 3/3 | 2/3 | 3/3 | 3/3 | 3/3 | – | 3/3 | 3/3 | 3/3 |
| ops | ops_cost_total | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 0/3 | 3/3 | 3/3 |
| ops | ops_cron_triage | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 |
| ops | ops_format_constraints | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 1/3 | 3/3 | 3/3 |
| ops | ops_handoff_yaml | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 |
| ops | ops_incident_json | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 |
| ops | ops_injection_summary | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 |
| ops | ops_terse_status | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 |
| ops | ops_yaml_edit | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 |
| context | ctx_200k | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 |
| context | ctx_500k | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 |
| context | ctx_60k | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 |
| agentic | ag_bugfix | 2/2 | 1/2 | 2/2 | 2/2 | 2/2 | 1/1 | 2/2 | 2/2 | 2/2 |
| agentic | ag_config_migrate | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 |
| agentic | ag_feature | 2/2 | 2/2 | 1/2 | 2/2 | 1/1 | – | 2/2 | 2/2 | 2/2 |
| agentic | ag_logtriage | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 | 2/2 | 1/2 | 2/2 | 2/2 |
| agentic | ag_refactor | 2/2 | 2/2 | 2/2 | 1/2 | – | 1/1 | 2/2 | 2/2 | 2/2 |
Update, October 28
We added the two flagship models every benchmark here now includes, GPT-6.1 Sol and Claude Opus 5.5, and re-scored all nine models under a stricter rule set (report v3, below). The objective scores of the seven models in the first edition did not change. Three things did: the headline is no longer Terra alone; Terra no longer wins the writing comparison against every rival; and two scores now carry a ⚑ low-coverage flag, because fewer than 90% of their planned trials could be counted.
Three corrections to how those numbers were produced, so you can check them:
- 18 of Sol 6.1's trials were first graded on a rate-limit notice. Our provider answered some calls with a "too many requests" message as if it were the model's reply, and the grader marked those as failures. We changed the harness to treat such a reply as a transport error, re-ran those 18 trials, and Sol 6.1 passed all of them.
- Opus 5.5's agentic trials were wrongly flagged as cheating. Our integrity check looked for any path inside the agent profiles folder in a transcript. Our own harness points each model's scratch directory there, so a model that wrote a helper script to its scratch space tripped the check. That was 15 of Opus 5.5's 20 agentic transcripts; none touched the hidden tests or another agent. We fixed the check (a model's own scratch space no longer counts; the answer key, other agents and
..escapes still do), added a test, and re-checked every agentic transcript of all nine models: the 15 Opus flags were the only change. - One judge changed. DeepSeek V4.1 Flash judged part of the first edition's writing. For the Sol 6.1 and Opus 5.5 comparisons its key was refused, so MiniMax M3.1 Flash took its place. Under report v3, 3 of 129 judge votes were not counted (two invalid, one whose serving model could not be confirmed), leaving 126.
We also re-ran Terra from scratch in a sealed copy of the harness: it again passed 90 of 90, with no task changing its result.
What we tested
Hermes Benchmarks runs an autonomous fleet of AI agents. The New Model Evaluation Protocol tests what those agents do every day, not trivia. It has six tracks:
- Daily suite: 11 short coding and reasoning tasks, the same ones that grade our fleet.
- Hard coding: 8 harder one-shot Python modules (a cron schedule calculator, a semver range matcher, a unified-diff applier, a tiny JSONPath engine and others), each checked by 10 to 31 hidden assertions.
- Ops and format compliance: 8 tasks where the answer must come back in an exact machine-readable shape: a bare number, strict YAML, bullets under a word limit.
- Long-context recall: a single fact hidden in roughly 60,000, 200,000 and 500,000 characters of text.
- Agentic tool use: 5 small real workspaces with bugs to fix, a feature to add, logs to triage, a config to migrate and code to refactor. The model works with real terminal and file tools, then hidden tests it never saw decide the grade.
- Writing: 4 briefs (an operator status update, a model release brief and others) judged blind by two models from labs other than the two contestants, in both A/B orders. A win counts only if a judge picks the same answer both ways round; otherwise it is a tie.
Every task ran three times (agentic tasks twice). Under report v3 a trial is ranked only if our own records confirm which model answered it; trials served by a fallback model are thrown out, and trials whose serving model we could not confirm are counted and shown, never ranked. Each model gets one trial per task and trial number; retries are counted but never ranked. A track where fewer than 90% of the planned trials could be counted is marked ⚑ and kept in the table. Any agentic trial whose transcript showed it reaching for the answer key or handing the job to another agent is thrown out.
Where Terra is good
It does exactly what it is told. The hard-coding track is where the field split. Terra passed 24 of 24, as did Sol 6.1, Opus 5.5 and Claude Sonnet 5.5. GPT-6 Sol passed 19, and all five of its failures had the same cause. The task asked for the module as the reply. Sol instead used the file tools it had been given to write the module to disk, then replied with only a status note ("I did not run tests or verify that it imports … so it is not a verified deliverable"). The grader received no code. DeepSeek V4.1 Flash lost two tasks to stray characters inside its code, a leftover code fence and an em dash.
It is efficient. Terra wrote the fewest output tokens of any model on graded tasks: a median of 145 per trial. Sol 6.1 wrote 161, Opus 5.5 250, DeepSeek V4.1 Flash 660 and MiniMax M3.1 Flash 989 (most of it reasoning). Fewer tokens is why Terra's per-token price turns into a low price per finished task.
It is fast at agentic work. Its median agentic task finished in 41 seconds, the quickest in the field, and it fixed every workspace on every trial. Opus 5.5 took a median of 52 seconds and Sol 6.1 77 seconds for the same clean result.
Where Terra is weak, or where we could not tell
We could not find its limits. Three models are at 100%, and long-context recall and ops compliance were passed by nearly everyone. The test set needs harder tasks before it can rank the top of the field, and we will add them.
It is not the best writer. Opus 5.5 is the only model that beat Terra in blind writing judgment, and Sol 6.1 drew with it. Against everyone else Terra won.
Its interval overlaps the rivals'. Terra's 95% interval runs from 96% to 100%. DeepSeek V4.1 Flash's runs from 89% to 98%. With 90 trials each, the difference between them is suggestive, not proven.
Our harness gives every model tools, even on one-shot tasks. Each model runs as a real fleet agent, with a small tool set always present. GPT-6 Sol and MiniMax M3.1 Flash lost most of their coding points by reaching for those tools instead of answering. In our fleet that is a real failure, but a harness without tools could score them higher.
We tested one setting. We ran every model at its default reasoning effort inside our own agent harness. We did not test maximum effort levels, long-prompt pricing above 272,000 tokens, or the computer-use features OpenAI's launch focused on.
The rest of the field
- GPT-6.1 Sol (100%) is OpenAI's flagship, and on this suite it bought nothing over Terra but a writing draw. It cost about four and a half times as much per task and was slower at agentic work.
- Claude Opus 5.5 (100%) had the fastest median response in the field, at 21.2 seconds, and is the only model that out-wrote Terra. It cost about $12.45 per thousand tasks, nearly four times Terra.
- DeepSeek V4.1 Flash (95.6%) is our fleet's default model, and this result keeps it there. It failed four graded tasks: two formatting slips and two real logic errors (a diff applier that rejected a valid "no newline at end of file" marker, and a semver edge case with pre-release tags).
- Claude Sonnet 5.5 (94.4%) matched Terra on hard coding, 24 of 24, and answered almost as fast as Opus, at a median of 22.3 seconds. It lost all its graded points on format rules: three times it showed its arithmetic when asked for a bare number, and twice it wrote bullets over the word limit.
- GPT-6 Sol (94.4%) is the previous flagship. Its habit of writing files and reporting on them, when asked to return the code, is a problem for an agent fleet that expects the answer in the reply.
- GPT-5.6 Terra (94.4%) is the model Terra replaces. It was slower, cost about five times as much per task on this suite, and did not win a single decided writing comparison against its successor.
- MiniMax M3.1 Flash Preview (91.1%) is the cheapest model here at about $2.54 per thousand tasks. It passed all 7 of its agentic trials that count; 3 more passed, but we could not confirm which model served them, so its agentic score carries a ⚑ (7 of 10 planned trials). It was weakest at one-shot coding (16 of 24): four times it spent its only turn on a tool call and ran out of steps without answering, and four times its code was wrong.
- Grok 4.7 (95.7%, low coverage) could not be measured properly. The connection we used to reach it was repeatedly answered by a different model under load, so those trials were thrown out. Only 70 of its 90 graded trials count, only 4 of its 24 hard-coding trials and 6 of its 10 agentic trials, and one more trial could not be attributed. Treat its score as unmeasured, not as a result.
What it means for our fleet
We will use GPT-6.1 Terra as the OpenAI model for agent work and as a strong second opinion on hard coding tasks. DeepSeek V4.1 Flash stays the default: it costs the same per task here, and the gap between them is within the noise of this suite. Opus 5.5 and Sol 6.1 earn their price only where writing quality matters. Every new model from the frontier and Chinese labs will now go through this same protocol, against the same three workhorses, and we will publish each result here.
Per-track scoreboard
| Model | Daily suite (b1) | Hard coding | Ops / format compliance | Long-context recall | Agentic tool use | All scored trials |
|---|---|---|---|---|---|---|
| gpt-6.1-terra | 100.0% [90–100] 33/33 | 100.0% [86–100] 24/24 | 100.0% [86–100] 24/24 | 100.0% [70–100] 9/9 | 100.0% [72–100] 10/10 | 100.0% [96–100] 100/100 |
| gpt-6-sol | 100.0% [90–100] 33/33 | 79.2% [60–91] 19/24 | 100.0% [86–100] 24/24 | 100.0% [70–100] 9/9 | 90.0% [60–98] 9/10 | 94.0% [88–97] 94/100 |
| gpt-5.6-terra | 97.0% [85–99] 32/33 | 83.3% [64–93] 20/24 | 100.0% [86–100] 24/24 | 100.0% [70–100] 9/9 | 90.0% [60–98] 9/10 | 94.0% [88–97] 94/100 |
| deepseek-v4.1-flash-1017 | 97.0% [85–99] 32/33 | 87.5% [69–96] 21/24 | 100.0% [86–100] 24/24 | 100.0% [70–100] 9/9 | 90.0% [60–98] 9/10 | 95.0% [89–98] 95/100 |
| MiniMax-M3.1-Flash-Preview | 100.0% [90–100] 33/33 | 66.7% [47–82] 16/24 | 100.0% [86–100] 24/24 | 100.0% [70–100] 9/9 | 100.0% [65–100] 7/7 | 91.8% [85–96] 89/97 |
| grok-4.7 | 97.0% [85–99] 32/33 | 50.0% [15–85] 2/4 | 100.0% [86–100] 24/24 | 100.0% [70–100] 9/9 | 100.0% [61–100] 6/6 | 96.1% [89–99] 73/76 |
| claude-sonnet-5-5 | 100.0% [90–100] 33/33 | 100.0% [86–100] 24/24 | 79.2% [60–91] 19/24 | 100.0% [70–100] 9/9 | 90.0% [60–98] 9/10 | 94.0% [88–97] 94/100 |
| gpt-6.1-sol | 100.0% [90–100] 33/33 | 100.0% [86–100] 24/24 | 100.0% [86–100] 24/24 | 100.0% [70–100] 9/9 | 100.0% [72–100] 10/10 | 100.0% [96–100] 100/100 |
| claude-opus-5-5 | 100.0% [90–100] 33/33 | 100.0% [86–100] 24/24 | 100.0% [86–100] 24/24 | 100.0% [70–100] 9/9 | 100.0% [72–100] 10/10 | 100.0% [96–100] 100/100 |
Pass rate over valid graded trials; brackets are 95% Wilson intervals, then passes/n. Computed from rows.jsonl; invalidated (fallback) and errored trials are excluded.
Task heatmap
What the run cost
| Model | Price in / out / cache-read per 1M | Trials billed | Input tokens | Output tokens | Run cost | Passed trials | Cost per passed trial |
|---|---|---|---|---|---|---|---|
| gpt-6.1-terra | $1 / $5 / $0.05 | 104 | 589.8k | 37.2k | $0.779 | 100 | $0.008 |
| gpt-6-sol | $2 / $10 / $0.2 | 104 | 615.3k | 63.5k | $1.98 | 94 | $0.021 |
| gpt-5.6-terra | $2 / $12 / $0.2 | 104 | 784.0k | 82.2k | $2.63 | 94 | $0.028 |
| deepseek-v4.1-flash-1017 | $0.3 / $1.2 / $0.006 | 104 | 481.0k | 259.5k | $0.460 | 95 | $0.005 |
| MiniMax-M3.1-Flash-Preview | $0.15 / $0.6 / $0.015 | 101 | 658.5k | 446.2k | $0.408 | 89 | $0.005 |
| grok-4.7 | $2 / $6 / $2 | 80 | 752.5k | 211.7k | $5.24 | 73 | $0.072 |
| claude-sonnet-5-5 | $2 / $10 / $0.1 | 104 | 462 | 56.8k | $0.645 | 94 | $0.007 |
| gpt-6.1-sol | $2 / $10 / $0.1 | 104 | 768.8k | 58.6k | $2.17 | 100 | $0.022 |
| claude-opus-5-5 | $4 / $20 / $0.2 | 104 | 534 | 99.5k | $2.25 | 100 | $0.023 |
Every task row with usage is billed, including errored and invalidated trials and writing generations (the money was spent); judge calls are not. Cache reads are billed at the cache-read rate; where a provider reports cache larger than input, input is taken as the uncached remainder. Reasoning tokens are assumed inside output.
Token efficiency
| Model | Scored trials | Median API calls | Median input | Median cache read | Median output | Median reasoning |
|---|---|---|---|---|---|---|
| gpt-6.1-terra | 100 | 1 | 3091 | 2944 | 145 | 0 |
| gpt-6-sol | 100 | 1 | 604 | 2944 | 233 | 54 |
| gpt-5.6-terra | 100 | 1 | 2934 | 2560 | 198 | 65 |
| deepseek-v4.1-flash-1017 | 100 | 1 | 730 | 3584 | 660 | 252 |
| MiniMax-M3.1-Flash-Preview | 97 | 1 | 213 | 3584 | 989 | 0 |
| grok-4.7 | 76 | 1 | 289 | 4608 | 863 | 720 |
| claude-sonnet-5-5 | 100 | 1 | 4 | 3377 | 189 | 0 |
| gpt-6.1-sol | 100 | 1 | 2564 | 2304 | 161 | 23 |
| claude-opus-5-5 | 100 | 1 | 4 | 2362 | 250 | 0 |
Medians per scored trial (one trial = one task session, all its API calls). Reasoning is as reported by the provider; 0 can mean hidden rather than absent.
Latency
| Model | All scored | Daily suite (b1) | Hard coding | Ops / format compliance | Long-context recall | Agentic tool use |
|---|---|---|---|---|---|---|
| gpt-6.1-terra | 28.0 / 41.8 s | 25.2 / 31.4 s | 33.2 / 41.8 s | 24.2 / 35.4 s | 22.8 / 27.1 s | 41.3 / 66.7 s |
| gpt-6-sol | 28.7 / 58.9 s | 25.3 / 34.1 s | 42.1 / 59.4 s | 20.6 / 28.3 s | 17.5 / 30.3 s | 51.1 / 85.5 s |
| gpt-5.6-terra | 33.5 / 87.7 s | 25.0 / 55.1 s | 52.4 / 99.2 s | 28.0 / 38.1 s | 29.0 / 36.4 s | 68.1 / 101.7 s |
| deepseek-v4.1-flash-1017 | 31.5 / 82.7 s | 22.5 / 46.4 s | 60.4 / 105.3 s | 23.4 / 36.6 s | 23.1 / 34.2 s | 65.1 / 145.2 s |
| MiniMax-M3.1-Flash-Preview | 37.3 / 152.6 s | 30.8 / 55.5 s | 114.7 / 176.7 s | 28.1 / 40.6 s | 17.0 / 32.1 s | 219.9 / 260.6 s |
| grok-4.7 | 30.6 / 156.8 s | 29.5 / 61.9 s | 169.7 / 173.6 s | 29.6 / 52.1 s | 35.6 / 49.9 s | 167.0 / 313.8 s |
| claude-sonnet-5-5 | 23.3 / 44.2 s | 19.6 / 28.0 s | 24.7 / 35.3 s | 23.6 / 43.7 s | 25.3 / 33.9 s | 46.5 / 79.6 s |
| gpt-6.1-sol | 25.2 / 78.5 s | 24.3 / 33.6 s | 39.2 / 123.4 s | 16.1 / 26.4 s | 13.6 / 24.2 s | 77.2 / 113.3 s |
| claude-opus-5-5 | 23.3 / 55.7 s | 15.7 / 38.3 s | 30.1 / 46.4 s | 19.5 / 30.1 s | 18.7 / 25.5 s | 52.3 / 171.0 s |
p50 / p90 wall-clock seconds per scored trial through the Hermes CLI (lower nearest-rank percentile).
How models failed
| Model | Empty answer | Format | Wrong logic | Timeout/error | Fallback-invalid | Total |
|---|---|---|---|---|---|---|
| gpt-6.1-terra | 0 | 0 | 0 | 0 | 0 | 0 |
| gpt-6-sol | 4 | 0 | 0 | 2 | 0 | 6 |
| gpt-5.6-terra | 1 | 1 | 3 | 1 | 0 | 6 |
| deepseek-v4.1-flash-1017 | 0 | 2 | 2 | 1 | 0 | 5 |
| MiniMax-M3.1-Flash-Preview | 4 | 0 | 3 | 1 | 0 | 8 |
| grok-4.7 | 2 | 0 | 1 | 0 | 0 | 3 |
| claude-sonnet-5-5 | 0 | 5 | 0 | 1 | 0 | 6 |
| gpt-6.1-sol | 0 | 0 | 0 | 0 | 0 | 0 |
| claude-opus-5-5 | 0 | 0 | 0 | 0 | 0 | 0 |
Every non-passing or excluded trial, bucketed by heuristics on the grader's detail, err and status: fallback-invalid = served by another model (valid=false, any outcome); timeout/error = infrastructure error or the trial carried a transport/timeout error; empty answer = no deliverable (empty reply, iteration cap, a status note instead of the answer); format = output-shape rule broken (word limits, bare-number, JSON/YAML, syntax); wrong logic = everything else (tests or exact match failed).
Writing: pairwise matrix
| Row vs column | gpt-6.1-terra | gpt-6-sol | gpt-5.6-terra | deepseek-v4.1-flash-1017 | MiniMax-M3.1-Flash-Preview | grok-4.7 | claude-sonnet-5-5 | gpt-6.1-sol | claude-opus-5-5 |
|---|---|---|---|---|---|---|---|---|---|
| gpt-6.1-terra | – | 4-2-2 | 5-0-3 | 5-1-2 | 6-1-1 | 5-0-3 | 4-2-2 | 3-3-2 | 3-4-1 |
| gpt-6-sol | 2-4-2 | – | – | – | – | – | – | – | – |
| gpt-5.6-terra | 0-5-3 | – | – | – | – | – | – | – | – |
| deepseek-v4.1-flash-1017 | 1-5-2 | – | – | – | – | – | – | – | – |
| MiniMax-M3.1-Flash-Preview | 1-6-1 | – | – | – | – | – | – | – | – |
| grok-4.7 | 0-5-3 | – | – | – | – | – | – | – | – |
| claude-sonnet-5-5 | 2-4-2 | – | – | – | – | – | – | – | – |
| gpt-6.1-sol | 3-3-2 | – | – | – | – | – | – | – | – |
| claude-opus-5-5 | 4-3-1 | – | – | – | – | – | – | – | – |
Row model's wins-losses-ties against the column model; colour is the row's win share (ties count half). A win requires the judge to pick the same response in both A/B orders; a split verdict is a tie. Pairs never judged against each other show –. Incomplete decisions (an A/B order missing or judge-invalid): 2.
Methodology & reproducibility
- Harness commit:
96c0518. - Run:
gpt-6.1-terra-20261027; 909 task rows and 126 judge rows in rows.jsonl (sha256cfb15463a483ac09). - Tracks: b1: 11 task(s) × 3 trial(s); code: 8 task(s) × 3 trial(s); ops: 8 task(s) × 3 trial(s); context: 3 task(s) × 3 trial(s); agentic: 5 task(s) × 2 trial(s); writing_gen: 4 task(s) × 1 trial(s).
- n per model × task cell: 1–3 valid trials (cells with fewer than the scheduled trials lost them to errors or invalidation).
- Scored trial: status pass/fail and not marked invalid. Pass rates use 95% Wilson intervals; percentiles use the lower nearest-rank convention.
- Writing judges: MiniMax-M3.1-Flash-Preview@minimax (8 votes), claude-sonnet-5-5@anthropic (48 votes), deepseek-v4.1-flash-1017@surplus (16 votes), grok-4.7@xai-oauth (54 votes). A win requires the judge to pick the same response in both A/B orders; a split verdict is a tie. Responses are blind (labelled Response 1/2), each judge sees both A/B orders.
| Model @ provider | Task rows | Scored | Passed | Errored | Invalid (fallback) | Peeked | Scored, validity unknown |
|---|---|---|---|---|---|---|---|
| gpt-6.1-terra@openai-codex | 104 | 100 | 100 | 0 | 0 | 0 | 0 |
| gpt-6-sol@openai-codex | 104 | 100 | 94 | 0 | 0 | 0 | 0 |
| gpt-5.6-terra@openai-codex | 104 | 100 | 94 | 0 | 0 | 0 | 0 |
| deepseek-v4.1-flash-1017@surplus | 104 | 100 | 95 | 0 | 0 | 0 | 0 |
| MiniMax-M3.1-Flash-Preview@minimax | 101 | 97 | 89 | 0 | 0 | 0 | 0 |
| grok-4.7@xai-oauth | 80 | 76 | 73 | 0 | 0 | 0 | 0 |
| claude-sonnet-5-5@anthropic | 104 | 100 | 94 | 0 | 0 | 0 | 0 |
| gpt-6.1-sol@openai-codex | 104 | 100 | 100 | 0 | 0 | 0 | 0 |
| claude-opus-5-5@anthropic | 104 | 100 | 100 | 0 | 0 | 0 | 0 |
Reproduce this page: grading/hb_eval_v3_rows.py <hb-eval tree> <run> (the rows report v3 ranks), then grading/hb_eval_article.py --report report.json --dossier dossier.md --analysis analysis.md --prices prices.json --rows rows.v3.jsonl --harness-commit 96c0518 --out web/articles/<slug>.html.
Method
Run gpt-6.1-terra-20261027, report generated 2026-10-28T06:42:34Z. Subject model: gpt-6.1-terra@openai-codex. Tracks scored: Daily suite (b1), Hard coding, Ops / format compliance, Long-context recall, Agentic tool use.
- Objective tracks (b1, code, ops, context) are graded by hidden unit tests, Python checkers or exact string match; valid trials per task in this report: 2/3. The objective score pools every valid trial; the interval is a 95% Wilson interval.
- Agentic tasks run multi-turn Hermes tool use in a real workspace; hidden tests run after the model finishes. Valid trials per task in this report: 1/2. Partial is the mean fraction of hidden tests passed.
- Writing is judged blind and pairwise against the subject's output by up to two judges from labs other than either contestant's, each in both A/B orders; responses are labelled Response 1/2 and model names never reach a judge. A win requires the judge to pick the same response in both A/B orders; a split verdict is a tie. 126 judge verdict(s) recorded.
- Invalidation. A trial where any call was served by a model other than the one requested is excluded (fallback); an agentic trial whose messages or tool calls reached for the answer key or another agent is excluded (escape). Errored trials are excluded and counted.
- Cost is an estimate: mean tokens per non-agentic task (all API calls in the task's session) × price per 1M tokens (cache reads at the cached rate), × 1,000. Agentic tasks are not included. Shown as n/a where no price was supplied.
- Latency is wall-clock seconds per non-agentic task through the Hermes CLI, including CLI overhead.
| Model @ provider | Objective n | Agentic n | Invalid: fallback | Invalid: escape | Errors | Unknown attribution | Coverage below 90% |
|---|---|---|---|---|---|---|---|
| gpt-6.1-terra@openai-codex | 90 | 10 | 0 | 0 | 6 | 0 | none |
| gpt-6-sol@openai-codex | 90 | 10 | 0 | 0 | 4 | 0 | none |
| gpt-5.6-terra@openai-codex | 90 | 10 | 1 | 0 | 5 | 0 | none |
| deepseek-v4.1-flash-1017@surplus | 90 | 10 | 0 | 0 | 6 | 0 | none |
| MiniMax-M3.1-Flash-Preview@minimax | 90 | 7 | 0 | 0 | 4 | 3 | agentic tool use 7/10 |
| grok-4.7@xai-oauth | 70 | 6 | 39 | 0 | 13 | 1 | agentic tool use 6/10, hard coding 4/24 |
| claude-sonnet-5-5@anthropic | 90 | 10 | 0 | 0 | 3 | 0 | none |
| gpt-6.1-sol@openai-codex | 90 | 10 | 0 | 0 | 27 | 0 | none |
| claude-opus-5-5@anthropic | 90 | 10 | 0 | 0 | 7 | 0 | none |
Scored under report v3: only trials whose serving model is verified count; one canonical trial per model, task and trial number (retries and duplicates are counted, never ranked); a track with under 90% of its planned trials eligible is marked ⚑ and kept in the table. eligible/planned < 90% per track is flagged insufficient_coverage (flagged, not dropped; objective_excluding_insufficient shows the effect)
Sources
- https://r.jina.ai/https://openai.com/index/introducing-gpt-6-1-terra/
- https://openai.com/index/introducing-gpt-6-1-terra/
- https://developers.openai.com/api/docs/models/gpt-6.1-terra
- https://developers.openai.com/api/docs/pricing
- https://community.openai.com/t/gpt-6-1-terra-delivering-fast-and-capable-computer-use-at-a-lower-price/1409900
- https://deploymentsafety.openai.com/gpt-6-1-terra
- https://kingy.ai/blog/gpt-6-1-terra/
- https://api-docs.deepseek.com/quick_start/pricing/
- https://platform.minimax.io/docs/guides/pricing
- https://docs.x.ai/docs/models
- https://docs.anthropic.com/en/docs/about-claude/pricing
- Hermes Benchmarks hb-eval run
gpt-6.1-terra-20261027(report.json, 9 contestants).
Scores are from Hermes Benchmarks' own hb-eval harness run through the Hermes agent CLI; they measure these models as the fleet uses them, not vendor-reported numbers. Small task counts carry wide intervals — read the CIs.