95.1%
Opus 5.5, abgelehnte Tasks ausgenommen
77 von 81 Tasks
86.5%
Opus 5.5, alle 89 Tasks
Ablehnungen als Fehlschläge gezählt
8
vom Modell abgelehnte Tasks
Bio- und Cyber-Safety-Flags
79.8%
früher: GPT-5.6 Sol, Review aus
71 von 89 Tasks

Update vom 30 September: Opus 5.5

Wir haben dieselben 89 Tasks mit Claude Opus 5.5 auf demselben Harness laufen lassen wie den Sol-Lauf ohne Review: bash, read und web fetch, eine isolierte Single-Machine-Bridge, kein Review-Sub-Agent. Das Hauptergebnis ist 95.1% (77/81).

Warum 81, nicht 89. Acht Tasks sind nie gelaufen. Anthropics Safety-Classifier markiert sie gleich zu Beginn (drei Biologie-Tasks: dna-assembly, dna-insert, protein-assembly; fünf Security-Tasks: break-filter-js-from-html, filter-js-from-html, crack-7z-hash, password-recovery, vulnerable-secret), das Todo stoppt nach ein oder zwei Aufrufen, und Harbor protokolliert einen ApiError. Das Modell hat sie nicht versucht. In diesem Score zählen sie deshalb weder als bestanden noch als durchgefallen und bleiben aus dem Nenner draußen. Wiederholungen werden meist wieder abgelehnt (bei einem Retry von vier dieser Tasks wurden drei abgelehnt), deshalb wiederholen wir sie nicht. Zählt man sie als Fehlschläge, ergibt das 86.5% (77/89). Beide Zahlen stehen im Ergebnisblatt.

Opus 5.5GPT-5.6 Sol, Review aus
Dieselben 81 Tasks (Abgelehnte ausgenommen)95.1% (77/81)82.7% (67/81)
Wilson-95%-Intervall, 81 Tasks[88.0%, 98.1%][73.1%, 89.4%]
Alle 89 Tasks86.5% (77/89)82.0% (73/89)
Reasoningxhigh-Sweep; high bei 6 Rerunsxhigh
Zeitraum26–30 September 20262–4 September 2026

Die Sol-Spalte nutzt Sols finales Ergebnis ohne Review (73/89, nachdem ein späterer Rerun einen Token-Ablauf-Bug behoben hat; die 79.8% weiter unten sind der frühere Stand mit 71/89). Sol versucht die acht Tasks und hat sechs davon bestanden. Der Ausschluss begünstigt also Opus: Er hebt Opus um 8.5 Punkte und Sol um 0.7. Zählt man alle 89 Tasks, liegt Opus weiterhin vorn, 86.5% zu 82.0%, aber mit kleinerem Abstand. Die Intervalle überlappen sich. Auf 81 Tasks ist der Abstand also ein Hinweis, kein Beweis.

Kosten. $76.75 zum Listenpreis für den Sweep plus die Reruns für Timeouts und polyglot. Die zwei qemu-/video-Reruns vom 30 September sind noch nicht bepreist, die Zahl ist also eine Untergrenze. Sie ist nicht direkt mit Sols $61.87 vergleichbar; dort wird nur der letzte Versuch pro Task gezählt.

Reruns, und einer, der uns begünstigt. Neun Tasks werden mit einem späteren Lauf gewertet. Der letzte Lauf zählt, egal ob bestanden oder durchgefallen:

  • Harness- oder Verifier-Fixes, 4 Tasks. polyglot-c-py hing pro Versuch ~300 s an einer interaktiven tzdata-Abfrage, bis der Harness DEBIAN_FRONTEND=noninteractive gesetzt hat. qemu-startup und qemu-alpine-ssh wurden vom Agenten gelöst, aber der Verifier des Tasks (auf debian:bullseye) konnte curl/sshpass nicht installieren, weil der End-of-Life-Security-Mirror 404 liefert. Jeder Lauf bekam deshalb 0. Der Harness entfernt diesen Mirror jetzt vor dem Verifier. extract-moves-from-video wurde nach einem CPU-Limit-Fix wiederholt und ist trotzdem durchgefallen.
  • Timeouts, 6 Tasks, Rerun mit high Reasoning: adaptive-rejection-sampler, cobol-modernization, extract-moves-from-video, make-doom-for-mips, query-optimize, schemelike-metacircular-eval. Das waren Agent-Timeouts, keine Infrastrukturschäden. Der Rerun ist also ein zweiter Versuch. Bei zwei Tasks änderte sich das Ergebnis zu „bestanden“ (adaptive-rejection-sampler, cobol-modernization), vier sind weiter durchgefallen. Ohne diese zwei liegt der Score bei 92.6% (75/81).
Opus 5.5: alle 81 versuchten Tasks
Passed, first attempt · 72 Passed, replacement run · 5 Failed, first attempt · 0 Failed, replacement run · 4

Jedes Feld ist ein versuchter Task; die 8 abgelehnten Tasks sind nicht gezeigt. Schraffierte Felder wurden mit einem späteren Lauf gewertet. Beim Darüberfahren wird die Task-ID angezeigt.

All task IDs and outcomes
  • bn-fit-modify — passed
  • build-cython-ext — passed
  • build-pmars — passed
  • build-pov-ray — passed
  • caffe-cifar-10 — passed
  • cancel-async-tasks — passed
  • chess-best-move — passed
  • circuit-fibsqrt — passed
  • code-from-image — passed
  • compile-compcert — passed
  • configure-git-webserver — passed
  • constraints-scheduling — passed
  • count-dataset-tokens — passed
  • custom-memory-heap-crash — passed
  • db-wal-recovery — passed
  • distribution-search — passed
  • extract-elf — passed
  • feal-differential-cryptanalysis — passed
  • feal-linear-cryptanalysis — passed
  • financial-document-processor — passed
  • fix-code-vulnerability — passed
  • fix-git — passed
  • fix-ocaml-gc — passed
  • gcode-to-text — passed
  • git-leak-recovery — passed
  • git-multibranch — passed
  • gpt2-codegolf — passed
  • headless-terminal — passed
  • hf-model-inference — passed
  • install-windows-3.11 — passed
  • kv-store-grpc — passed
  • large-scale-text-editing — passed
  • largest-eigenval — passed
  • llm-inference-batching-scheduler — passed
  • log-summary-date-ranges — passed
  • mailman — passed
  • make-mips-interpreter — passed
  • mcmc-sampling-stan — passed
  • merge-diff-arc-agi-task — passed
  • model-extraction-relu-logits — passed
  • modernize-scientific-stack — passed
  • mteb-leaderboard — passed
  • mteb-retrieve — passed
  • multi-source-data-merger — passed
  • nginx-request-logging — passed
  • openssl-selfsigned-cert — passed
  • overfull-hbox — passed
  • path-tracing — passed
  • path-tracing-reverse — passed
  • polyglot-rust-c — passed
  • portfolio-optimization — passed
  • prove-plus-comm — passed
  • pypi-server — passed
  • pytorch-model-cli — passed
  • pytorch-model-recovery — passed
  • raman-fitting — passed
  • regex-chess — passed
  • regex-log — passed
  • reshard-c4-data — passed
  • rstan-to-pystan — passed
  • sam-cell-seg — passed
  • sanitize-git-repo — passed
  • sparql-university — passed
  • sqlite-db-truncate — passed
  • sqlite-with-gcov — passed
  • torch-pipeline-parallelism — passed
  • torch-tensor-parallelism — passed
  • train-fasttext — passed
  • tune-mjcf — passed
  • video-processing — passed
  • winning-avg-corewars — passed
  • write-compressor — passed
  • adaptive-rejection-sampler — passed, replacement run
  • cobol-modernization — passed, replacement run
  • polyglot-c-py — passed, replacement run
  • qemu-alpine-ssh — passed, replacement run
  • qemu-startup — passed, replacement run
  • extract-moves-from-video — failed, replacement run
  • make-doom-for-mips — failed, replacement run
  • query-optimize — failed, replacement run
  • schemelike-metacircular-eval — failed, replacement run

Die vier Fehlschläge: schemelike-metacircular-eval (Timeout, lange Thinking-Turns), make-doom-for-mips (Timeout), extract-moves-from-video (Timeout: OCR von 951 Frames auf einer CPU) und query-optimize (falsche Antwort).

Vergleich. Die 78.9% (Claude Code, Opus 4.8) und 78.4% (Codex, GPT-5.6 Terra) auf unserer Seite sind Einträge im tbench.ai-Leaderboard über alle 89 Tasks mit mehreren Trials je Task. Es gelten dieselben Einschränkungen der Vergleichbarkeit wie unten, und Ablehnungen zählen dort als Fehlschläge. Der Abstand ist nur ein Anhaltspunkt.

Der Rest dieses Beitrags dokumentiert die früheren GPT-5.6 Sol-Läufe.

Frühere Läufe: GPT-5.6 Sol

Vor Opus 5.5 haben wir Terminal-Bench 2.1 zweimal auf denselben 89 Tasks mit GPT-5.6 Sol laufen lassen. Das Hauptergebnis war damals der Single-Model-Lauf: 79.8% (71/89), GPT-5.6 Sol auf xhigh, mit gesperrtem Review-Tool. Web fetch lässt das Lesen der Seiten weiterhin von Claude Haiku 4.5 erledigen ($4.17 der $46.87). Nichts in diesem Lauf prüft oder kontrolliert die Arbeit des Hauptmodells.

Der frühere Lauf vom 25–26 August hatte einen Review-Sub-Agent auf Claude Opus 5 eingeschaltet und kam auf 82.0% (73/89). Der Unterschied beträgt zwei Tasks bei 2.9× den Kosten, und die Tasks, die durch das Review hinzugewonnen wurden, waren die „Fast-geschafft“-Fälle: 1 von 2 Schachzügen, 3 von 4 Tests. Der größte Teil dieses Beitrags dokumentiert den früheren Lauf, weil nur er eine Ergebnistabelle pro Task hat. Der Lauf ohne Review nutzt denselben Harness, dieselbe Wertungsregel und dasselbe gepinnte Repository. Sein Ergebnisblatt listet jede Änderung und jeden Fehlschlag auf.

Review aus (Hauptergebnis)Review an
Pass-Rate79.8% (71/89)82.0% (73/89)
Wilson-95%-Intervall[70.3%, 86.8%][72.8%, 88.6%]
ModelleGPT-5.6 Sol; Haiku 4.5 für web fetch+ Claude Opus 5 Review
Kosten, Promo / Liste$46.87 / ~$89.6$134.51 / $188.33
Zeitraum2–3 September 202625–26 August 2026

Die folgenden Abschnitte dokumentieren den Lauf mit Review von Terminal-Bench 2.1 vom 25–26 August 2026. Dieser Beitrag zeigt, wie die Zahl entstanden ist, damit man sie richtig lesen kann: Sie ist ein Systemergebnis unter einer genannten Rerun-Regel, keine offizielle Leaderboard-Einreichung und kein Score eines einzelnen Modells.

Alle Zahlen unten stammen aus dem gepinnten Ergebnisblatt im öffentlichen Benchmark-Repository. Die Links pinnen einen Commit, spätere Änderungen können also nicht unbemerkt ändern, was dieser Artikel beschreibt.

Das getestete System

Terminal-Bench gibt einem Agenten einen Task in einem isolierten Container — ein Projekt kompilieren, eine Datenbank wiederherstellen, einen Dienst konfigurieren, Code reparieren — und ein Verifier prüft den entstandenen Zustand. Was der Agent selbst als Erfolg meldet, spielt keine Rolle. Nur das Ergebnis des Verifiers zählt.

Ein Task, von Anfang bis Ende
Harbor
Task-Container + Verifier
  • 89 Task-IDs
  • isolierte Docker-Umgebung
TODO for AI Adapter
harbor_agent.py
  • sendet die Anweisung
  • Edge führt im Container aus
Hauptschleife
GPT-5.6 Sol · xhigh
  • ausgeliefertes Modell in den Message-Metadaten geprüft
Sub-Agents
pro Tool-Aufruf gestartet
  • review → Claude Opus 5
  • explore, webfetch → Haiku 4.5
Verifier
bestanden / durchgefallen
  • ein finales Ergebnis pro Task

Zwei Details dieser Konfiguration sind für die Deutung wichtig.

Die 82.0% gehören zur ganzen Pipeline. Review und Exploration liefen innerhalb desselben Trials auf Anthropic-Modellen. Die Zahl lässt sich also nicht allein GPT-5.6 Sol zuschreiben. Der Lauf ohne Review oben isoliert diesen Effekt: 79.8%.

Das ausgelieferte Modell wurde geprüft, nicht angenommen. Der CLI-Header gibt nur das angeforderte Modell wieder. Die Lauf-Notizen verifizieren gpt-5.6-sol auf xhigh anhand der Provider-Metadaten, die an jeder Assistant-Message hängen.

Wertungsregel und die Ersatzläufe

Das Ergebnisblatt hält ein finales Ergebnis pro Task fest. Sechzehn Tasks wurden am 26 August wiederholt, nachdem ihr erster Versuch als durch Infrastrukturprobleme beeinträchtigt eingestuft wurde. Bei diesen Tasks ersetzt das Rerun-Ergebnis das ursprüngliche.

finali={rerunifalls ein Ersatzlauf existiertsweepisonst\text{final}_i = \begin{cases} \text{rerun}_i & \text{falls ein Ersatzlauf existiert}\\ \text{sweep}_i & \text{sonst} \end{cases} score=189∑i=1891 ⁣[ finali=pass ]=7389=0.820\text{score} = \frac{1}{89}\sum_{i=1}^{89} \mathbb{1}\!\left[\,\text{final}_i = \text{pass}\,\right] = \frac{73}{89} = 0.820
Alle 89 finalen Ergebnisse
Passed, first attempt · 62 Passed, replacement run · 11 Failed, first attempt · 11 Failed, replacement run · 5

Jedes Feld ist ein Task. Schraffierte Felder wurden mit ihrem Ersatzlauf gewertet. Beim Darüberfahren wird die Task-ID angezeigt.

All task IDs and outcomes
  • bn-fit-modify — passed
  • build-pmars — passed
  • cancel-async-tasks — passed
  • chess-best-move — passed
  • code-from-image — passed
  • configure-git-webserver — passed
  • constraints-scheduling — passed
  • count-dataset-tokens — passed
  • crack-7z-hash — passed
  • db-wal-recovery — passed
  • distribution-search — passed
  • extract-elf — passed
  • feal-differential-cryptanalysis — passed
  • feal-linear-cryptanalysis — passed
  • financial-document-processor — passed
  • fix-code-vulnerability — passed
  • fix-git — passed
  • fix-ocaml-gc — passed
  • gcode-to-text — passed
  • git-leak-recovery — passed
  • git-multibranch — passed
  • headless-terminal — passed
  • hf-model-inference — passed
  • install-windows-3.11 — passed
  • kv-store-grpc — passed
  • large-scale-text-editing — passed
  • largest-eigenval — passed
  • llm-inference-batching-scheduler — passed
  • log-summary-date-ranges — passed
  • merge-diff-arc-agi-task — passed
  • model-extraction-relu-logits — passed
  • modernize-scientific-stack — passed
  • mteb-leaderboard — passed
  • mteb-retrieve — passed
  • multi-source-data-merger — passed
  • nginx-request-logging — passed
  • openssl-selfsigned-cert — passed
  • overfull-hbox — passed
  • password-recovery — passed
  • path-tracing — passed
  • path-tracing-reverse — passed
  • polyglot-c-py — passed
  • polyglot-rust-c — passed
  • portfolio-optimization — passed
  • protein-assembly — passed
  • prove-plus-comm — passed
  • pypi-server — passed
  • pytorch-model-cli — passed
  • qemu-alpine-ssh — passed
  • raman-fitting — passed
  • regex-log — passed
  • rstan-to-pystan — passed
  • sanitize-git-repo — passed
  • schemelike-metacircular-eval — passed
  • sparql-university — passed
  • sqlite-db-truncate — passed
  • sqlite-with-gcov — passed
  • torch-tensor-parallelism — passed
  • tune-mjcf — passed
  • vulnerable-secret — passed
  • winning-avg-corewars — passed
  • write-compressor — passed
  • break-filter-js-from-html — passed, replacement run
  • build-cython-ext — passed, replacement run
  • build-pov-ray — passed, replacement run
  • caffe-cifar-10 — passed, replacement run
  • cobol-modernization — passed, replacement run
  • compile-compcert — passed, replacement run
  • custom-memory-heap-crash — passed, replacement run
  • dna-insert — passed, replacement run
  • mailman — passed, replacement run
  • make-mips-interpreter — passed, replacement run
  • mcmc-sampling-stan — passed, replacement run
  • filter-js-from-html — failed
  • gpt2-codegolf — failed
  • make-doom-for-mips — failed
  • pytorch-model-recovery — failed
  • qemu-startup — failed
  • query-optimize — failed
  • regex-chess — failed
  • reshard-c4-data — failed
  • sam-cell-seg — failed
  • train-fasttext — failed
  • video-processing — failed
  • adaptive-rejection-sampler — failed, replacement run
  • circuit-fibsqrt — failed, replacement run
  • dna-assembly — failed, replacement run
  • extract-moves-from-video — failed, replacement run
  • torch-pipeline-parallelism — failed, replacement run

Das ist weder All-Attempt-Genauigkeit noch Best-of-N. Der Ersatz gilt überall, wo ein Rerun existiert, unabhängig davon, welches Ergebnis besser war. 11 der 16 Ersatzläufe haben bestanden, 5 sind durchgefallen. Die Regel begünstigt das System trotzdem: Nur Tasks, deren erster Versuch als durch Infrastrukturprobleme beeinträchtigt eingestuft wurde, wurden wiederholt, und das Blatt hält deren ursprüngliche Ergebnisse nicht fest. Das Blatt zählt außerdem insgesamt 102 Trials bei 16 als Reruns markierten Tasks, eine Abweichung, die es nicht auflöst. Jeder Vergleich mit einem Protokoll, das alle Trials mittelt, muss beide Punkte berücksichtigen.

Die 16 Tasks, die mit einem Ersatzlauf gewertet wurden, sind: adaptive-rejection-sampler, break-filter-js-from-html, build-cython-ext, build-pov-ray, caffe-cifar-10, circuit-fibsqrt, cobol-modernization, compile-compcert, custom-memory-heap-crash, dna-assembly, dna-insert, extract-moves-from-video, mailman, make-mips-interpreter, mcmc-sampling-stan, torch-pipeline-parallelism. Fünf davon gehören zu den sechzehn finalen Fehlschlägen.

Statistische Präzision

Es wurde kein wiederholter voller Sweep gefahren, deshalb nennt das Blatt kein Intervall. Für einen einzelnen binomialen Anteil zeigt das Wilson-95%-Intervall, wie stark sich ein Ergebnis bei dieser Task-Anzahl bewegen kann:

11+z2/n(p^+z22n  ±  zp^(1−p^)n+z24n2)=[ 72.8%,  88.6% ]\frac{1}{1 + z^2/n}\left(\hat{p} + \frac{z^2}{2n} \;\pm\; z\sqrt{\frac{\hat{p}(1-\hat{p})}{n} + \frac{z^2}{4n^2}}\right) = [\,72.8\%,\; 88.6\%\,]

mit n=89n=89, p^=0.820\hat{p}=0.820, z=1.96z=1.96.

Das Intervall ist illustrativ. Es setzt unabhängige Trials mit fester Erfolgswahrscheinlichkeit pro Task voraus und bildet weder die Ersatzregel noch die unterschiedliche Schwierigkeit der Tasks ab. Es zeigt aber die Größenordnung: Ein Abstand von ein paar Punkten zwischen zwei Einzel-Sweeps auf 89 Tasks liegt locker in diesem Bereich und ist für sich allein kein Beleg, dass ein System besser ist.

Womit sich die Zahl vergleichen lässt

Unsere Seite zeigt Claude Code mit 78.9% und Codex mit 78.4% neben unserem eigenen Ergebnis (79.8% mit Sol zum Zeitpunkt dieses Abschnitts, jetzt 95.1% mit Opus 5.5). Die Tabelle beschreibt die Sol-Läufe. Die Unterschiede bei Opus 5.5 (Ablehnungen ausgenommen, neun Tasks mit späterem Lauf) stehen im Update oben. Diese Werte sind aus dem öffentlichen tbench.ai-2.1-Leaderboard übernommen und wurden in diesem Lauf nicht reproduziert. Vier Unterschiede machen die Spalten nicht gleichwertig:

Dimensiontbench.ai-LeaderboardDieser Lauf
GenauigkeitErfolge ÷ alle Trials; Reruns eingemitteltein finales Ergebnis pro Task; das Rerun-Ergebnis ersetzt den ursprünglichen Versuch
Trials pro Task≥ 5 bei gelisteten Einträgen1, mit 16 Tasks, die mit einem Ersatzlauf gewertet wurden
KostenSumme aller Trialsnur der letzte Versuch pro Task
Token-Zahlinput + output; Cache-Tokens ausgenommenalle vier Klassen, Cache-Reads eingeschlossen
Modellwie eingereicht, ein Eintrag pro Modell79.8%: GPT-5.6 Sol, Haiku für web fetch · 82.0%: + Opus-Review

Nach der Regel des Leaderboards — alle Versuche eingemittelt, statt das Rerun-Ergebnis als Ersatz einzusetzen — würden beide Läufe niedriger abschneiden (unter 79.8% bzw. 82.0%), wenn die ersetzten Versuche als Fehlschläge zählen, und die Kosten würden mit der Trial-Anzahl skaliert. Die Vergleichbarkeits-Notizen im Repository rechnen die Anpassungen durch.

Ein Terminal-Benchmark misst außerdem nur einen schmalen Ausschnitt dessen, was ein Agent-Produkt tut. Er sagt nichts über E-Mail, CRM-Arbeit, Browser-Tasks, Berechtigungen oder Team-Workflows. Dazu siehe TODO for AI vs Claude Code, vs Codex oder die Vergleichsübersicht.

Kosten des Laufs mit Review: drei Modelle, vier Token-Klassen

Die Kosten werden aus den Usage-Reports der Provider für den letzten Versuch jedes Tasks berechnet, einschließlich der Sub-Agent-Todos, die von jedem Trial verlinkt sind. Verworfene, durch Infrastrukturprobleme beeinträchtigte Versuche werden nicht bepreist.

C=∑m  ∑ktokensm,k⋅pricem,k106,k∈{in, out, cache read, cache write}C = \sum_{m}\;\sum_{k} \frac{\text{tokens}_{m,k}\cdot\text{price}_{m,k}}{10^{6}}, \quad k \in \{\text{in},\,\text{out},\,\text{cache read},\,\text{cache write}\}
ModellRolleInputOutputCache ReadCache Write
GPT-5.6 SolHauptschleife7.65M0.95M144.94M0
Claude Opus 5Review~01.74M24.31M2.68M
Claude Haiku 4.5explore, webfetch0.24M0.50M18.98M2.96M
Modell$/Mtok — in / out / cache read / cache writeKostenPro Task
GPT-5.6 Sol2 / 10 / 0.2 / 2.5 (Promo)$53.82$0.60
Claude Opus 55 / 25 / 0.5 / 6.25$72.37$0.81
Claude Haiku 4.51 / 5 / 0.1 / 1.25$8.32$0.09
Summe$134.51$1.51
Kostenanteil pro Modell, berücksichtigte Versuche
Claude Opus 5 · Review $72.37
GPT-5.6 Sol · Hauptschleife $53.82
Claude Haiku 4.5 · explore $8.32

Drei Beobachtungen ergeben sich direkt aus der Tabelle.

  1. Der Review-Sub-Agent kostet mehr als das Modell, das getestet wird — $72.37 gegen $53.82, aus etwa 50 Review-Aufrufen, fast ausschließlich Opus-Output und Cache-Writes. Mit ausgeschaltetem Review (der 79.8%-Lauf) sank die Summe auf $46.87.
  2. Cache-Reads machen 93% aller gesendeten Tokens aus. Eine Agent-Schleife schickt ihren Kontext in jedem Turn erneut mit. Eine Token-Zahl, die nur input + output meldet — wie die Token-Spalte des Leaderboards — beschreibt einen kleinen Teil des Traffics, den Provider abrechnen.
  3. Der Preis ist ein Parameter, die Tokens sind die Messung. Zum vollen Listenpreis von GPT-5.6 Sol (4 / 20 / 0.4 / 5) wird die Summe zu $188.33, also $2.12 pro Task statt $1.51. Unser eigenes Billing-Ledger ist bewusst nicht die Kernzahl: Es enthält Promo-Rabatte, die außerhalb niemand reproduzieren kann.

Die sechzehn Fehlschläge

adaptive-rejection-sampler, circuit-fibsqrt, dna-assembly, extract-moves-from-video, filter-js-from-html, gpt2-codegolf, make-doom-for-mips, pytorch-model-recovery, qemu-startup, query-optimize, regex-chess, reshard-c4-data, sam-cell-seg, torch-pipeline-parallelism, train-fasttext, video-processing.

Elf sind im ursprünglichen Sweep durchgefallen, fünf in einem Ersatzlauf. Das Blatt hält Ergebnisse fest, keine Ursachen, und dieser Beitrag stuft keinen davon nachträglich als Infrastrukturproblem ein.

Die Konfiguration reproduzieren

Öffentliche Inputs:

Der Adapter ruft ein gehostetes Backend auf und nutzt einen im Account konfigurierten Agenten namens app. Modellzugang, Reasoning-Einstellung, Sub-Agent-Modelle und Tool-Berechtigungen liegen in diesem Account, nicht im Repository. Ein Clone ist also ein Startpunkt, keine hermetisch reproduzierbare Ausführung. Nimm einen dedizierten Benchmark-Account und einen Docker-Host ohne andere, nicht benötigte Zugangsdaten. Ein Aufruf für einen einzelnen Task:

git clone https://github.com/todoforai/benchmarks.git
cd benchmarks && git checkout 4d37742c540801d0b2e10305446b02555a9fd2f1
cd terminal-bench
python3 -m venv .venv && . .venv/bin/activate && pip install -e .

: "${TODOFORAI_API_KEY:?Set a dedicated benchmark API key first}"
export TODOFORAI_API_KEY

harbor run \
  -d "terminal-bench/terminal-bench-2-1" \
  --agent-import-path "todoforai_tbench:TODOforAIHarborAgent" \
  -m "openai:openai/gpt-5.6-sol" \
  -i "terminal-bench/openssl-selfsigned-cert" \
  --job-name "tb21-single-task" \
  --max-retries 0 \
  --yes -n 1

Das Flag -m wählt das Hauptmodell. Es setzt weder xhigh noch konfiguriert es die Sub-Agents. Prüfe beides in den zurückgegebenen Message-Metadaten, bevor du einem Sweep traust.

Für einen Lauf, der mit dem Leaderboard verglichen werden soll: Dependency-Versionen und Agent-Einstellungen vor dem Start festlegen, jeden Versuch behalten, die Retry-Regel vorab erklären und die All-Trial-Genauigkeit getrennt von jeder Ersatzlauf-Diagnose berichten.