Zum Inhalt springen
senn-techsenn-tech
Zurück zum Blog
OpenAIKI & Entwicklung
KI im Betrieb2026-11-11· Von Franz Senn

Coding-Agent-Harness im Vergleich: Dasselbe Modell, 37 Punkte Unterschied

Am 9. November 2026 hat das Harness Leaderboard von Joel Niklaus auf Hugging Face OpenCode gegen die Version 2.2.6 ausgetauscht, also den Programmteil um das Modell, und die Ergebnisse von OpenCode 1.19.0 durchgerechnet. Auf der offenen Gewichtung über alle Modelle stand OpenCode vorher auf Platz 8 von 9 bei 35,5 Prozent und kostet 3,35 Dollar pro gelöster Aufgabe. Nach dem Tausch standen 52,0 Prozent und 0,45 Dollar pro gelöster Aufgabe, Platz 1, zusammen mit vieren weiteren Harnesses innerhalb der Fehlerbalken. Das Modell war in beiden Fällen dasselbe.

Ein Harness ist das Programm um das Sprachmodell herum. Er baut den Prompt zusammen, schlägt dem Modell Werkzeuge vor, führt die vom Modell verlangten Aufrufe in einer Sandbox aus, schickt die Ergebnisse zurück und entscheidet, was davon beim nächsten Aufruf noch im Kontext steht. Das Modell selbst bleibt unverändert; der Harness bestimmt, welche Tokens es tatsächlich zu sehen bekommt, wie lang ein Antworten dürften, welches Denkfeld zurückgeht und wann die Historie zusammengefasst wird. Verglichen wird also diese Hülle; die Gewichte bleiben in jeder Zeile dieselben.

Was die öffentliche Tafel hergibt

Die Aufgaben stammen aus Terminal-Bench 2.1 (89 nach der Board-Konfiguration) und DeepSWE (113). In der Sammelansicht, die ich am 11.11.2026 um 14:44 MEZ aus api/index geladen und nachgerechnet habe, stehen 32.025 Auswertungen und rund 4.700 Dollar an Modellkosten. Die Spalte „Erledigt“ ist mein Anteil gelöster Aufgaben über alle Anstrengungsstufen und beide Benchmarks, „Kosten“ der Dollarbetrag pro gelöster Aufgabe in der Gewichtungsansicht.

Harness (Fassung auf dem Board)GLM-5.3-FlashDeepSeek-V4.1-FlashFlintKosten je Lösung
OpenCode 2.2.661,8 %70,0 %21,1 %0,45 $
mini-swe-agent 2.4.661,8 %67,8 %20,1 %0,54 $
Kimi Code 2.2.060,9 %67,8 %20,4 %0,63 $
DeepSeek Harness 0.2.2-rc.160,0 %70,1 %19,2 %0,53 $
Hermes Agent v0.22.159,7 %71,2 %17,7 %0,65 $
Claude Code 2.1.30060,5 %68,9 %15,8 %0,52 $
Pi 1.2.061,0 %65,7 %16,7 %0,29 $
Qwen Code 0.25.254,1 %66,1 %11,3 %0,34 $
Codex 0.162.145,4 %68,1 %15,5 %0,71 $
OpenClaw 2026.10.439,1 %33,8 %4,9 %1,43 $

Gelesen: Bei GLM-5.3-Flash liegt der beste Harness 22,7 Punkte vor dem schlechtesten, bei DeepSeek-V4.1-Flash 37,4 Punkte und bei Flint 16,2 Punkte. Bei Pi und OpenClaw, gemessen am gleichen Modell GLM-5.3-Flash, kostet eine gelöste Aufgabe 0,16 Dollar gegenüber 0,84 Dollar, also das 5,3-fache. Wer ein Modell im Haus hat und zwischen zwei Coding-Agents wählt, bewegt mit diesem Schritt also mehr als bei einem üblichen Modellwechsel innerhalb einer Generation.

Gewichteter Anteil gelöster Aufgaben je Harness, alle drei ModelleOpenCode 2.2.652 · 0,45 $ / Lösungmini-swe-agent 2.4.651 · 0,54 $ / LösungKimi Code 2.2.051 · 0,63 $ / LösungDeepSeek Harness 0.2.250 · 0,53 $ / LösungHermes Agent v0.22.150 · 0,65 $ / LösungClaude Code 2.1.30049 · 0,52 $ / LösungPi 1.2.049 · 0,29 $ / LösungQwen Code 0.25.245 · 0,34 $ / LösungCodex 0.162.145 · 0,71 $ / LösungOpenClaw 2026.10.427 · 1,43 $ / Lösung060
Anteil gelöster Aufgaben (Gewicht über beide Benchmarks und alle Anstrengungsstufen), Stand der Tafel am 11.11.2026, Board-Fassung 0.1.5. Nach Platz 1 folgen fünf Harnesses, deren Fehlerbalken sich überschneiden. (Quelle: Harness Leaderboard, eigene Neurechnung aus api/index)

Woran der Abstand hängt

Der größte einzelne Posten ist kein Intelligenzunterschied, sondern Buchhaltung: Schickt der Harness die Denkaktsätze der letzten Antwort noch einmal mit? OpenCode 1.19.0 sprach über den eingebauten OpenAI-Provider im Responses-Format, und das Board musste diese Anfragen über eine Brücke ins Chat-Completions-Format übersetzen. Ihr Reasoning-Anbieter schickt Denkinhalte nur zusammen mit encrypted_content zurück, und diese Feld erzeugt die Brücke nie. Im Protokoll des Boards wuchs bei OpenCode 1.19.0 der Prompt auf 91 bis 94 Prozent der Aufrufpaare, deren Antwort länger als 300 Tokens denkend antwortete, um weniger als eben diese Antwort. Bei Codex, Pi, Kimi Code, Qwen Code, mini-swe-agent, Hermes und OpenCode 2 lag diese Quote bei 0 bis 1 Prozent. OpenClaw lässt für eine eigene OpenAI-kompatible Anbindung nach eigener Voreinstellung nichts zurück und kommt auf 89 bis 94 Prozent; auf der Tafel läuft es so mit, wie es ausgeliefert ist.

Dass dasselbe Modell in einer andern Hülle schlechter abschneidet, ist die eine Folge. Die andere ist Geld und Zeit, und die sind weniger abstrakt. Der Grok-Build-Harness liest nur reasoning_content. An einer Route, die Denkinhalte in reasoning und reasoning_details liefert, sah er kein Reasoning, schickte nichts zurück und sein Idle-Zähler quittierte nach 600 Sekunden ohne Inhalt, obwohl weiter 7 bis 13 Megabyte eintrafen. Der Harness fx schickte dagegen jedes reasoning_details-Fragment mit, rund 70 Byte je Denk-Token: Bodies von 4,4 und 5,6 Megabyte, Antwort 413 vom Anbieter, dann die eigene Abbruchmeldung. Deshalb führt die Tafel eine zweite Route, die ankommende Denkfelder in reasoning_content umschreibt; damit fiel ein Aufruf von 60,8 Kilobyte auf 37,5 Kilobyte, und die Verbindungen blieben stehen.

Die Ehrlichkeit dieser Stelle verdient den Satz: Nachgerüstetes Nachsenden funktionierte, und der Betreiber schreibt, dass der Punktgewinn damals noch nicht von den üblichen Schwankungen zu unterscheiden war.

Unsere eigene Messung, 11. November 2026

Wir lassen hier vier Harnesses auf dem eigenen Gateway laufen, das die Anfragen an eine vLLM-Instanz auf vier Karten durchreicht (vLLM 0.32.0, TP4, Messung am 11.11.2026). Die Route antwortet mit dem Feld reasoning_content. Ich habe für jeden Harness einen Auftrag mit genau einem Werkzeugaufruf durchlaufen lassen und die Request-Bodies über einen Proxy auf meinem Rechner mitgeschrieben. Der zweite Aufruf enthält die erste Antwort des Modells; darin muss die Denkarbeit stehen, wenn sie beim Modell ankommen soll.

Harness auf unserem GatewayDenkarbeit im zweiten Aufruf?Nachweis aus dem Request-Body
Pi 1.5.2ja12.103 Zeichen reasoning_content, exakt die Menge der ersten Antwort
OpenCode 2.2.5ja4.553 Zeichen reasoning_content im Assistenten-Block
OMP 18.18.7neinSchlüssel des Assistenten-Blocks nur role, content, tool_calls, zweimal reproduziert
Claude Code 2.1.322 über /v1/messagesneinkeine thinking-Blocks in der Antwort, kein Signature-Feld; mit Denkbudget 1.500 und 2.500 Ausgabetokens kam eine leere Antwort bei verbrauchtem Budget

Zwei Zahlen aus demselben Durchgang gehören dazu. Ein Text von etwa 250 Tokens, im Feld reasoning_content mitgeschickt, hebt prompt_tokens von 70 auf 334; derselbe Text in content hebt ihn auf 333. Die Felder werden also wirklich serialisiert. Derselbe Text in reasoning_details liefert 87, wird dort also ignoriert. Und: Pi schickt auf dem Board reasoning zurück, bei uns reasoning_content, jeweils in dem Feld, aus dem es gekommen war. Diese Beobachtung von uns und die des Boards passen zusammen. OMP hat einen Schalter für das Verhalten in den Modelldateien; in Fassung 18.18.7 wird replay-reasoning-content auf Provider- und Modellebene als unbekannter Schlüssel abgelehnt, die Konfiguration sonst aber geladen.

Wie viel davon Rauschen ist

Die Tafel zählt in jeder Zelle drei Wiederholungen desselben Tasks. Meine Neurechnung über die zehn Sammelzellen: Eine Wiederholung desselben Tasks im selben Harness kippt das Ergebnis in 17,6 bis 23,6 Prozent der Fälle. Der Herausgeber misst für den Stand vom 2.11.2026 zusätzlich: Tausch des Harnesses 29,1 Prozent Umschlag, Tausch des Modells 33,6 Prozent, Tausch der Anstrengungsstufe 27,3 Prozent. Der Unterschied zwischen zwei benachbarten Plätzen der Tafel liegt fast immer innerhalb von drei bis fünf Punkten und damit in den Fehlerbalken; die ersten sechs Plätze überschneiden sich.

Auch die Denkleistung selbst ist keine Konstante. Auf GLM-5.3-Flash gewinnt jeder der zehn Harnesses, wenn er von niedriger auf hohe Anstrengung wechselt, im Mittel 5,7 Punkte (59,3 zu 53,6 Prozent), bei Kosten je Lösung, die um 20 bis 40 Prozent steigen. Auf DeepSeek-V4.1-Flash ist dasselbe Muster wertlos: 65,1 zu 64,9 Prozent im Mittel, einzelne Harnesses verlieren bis zu 5,7 Punkte. Die Spanne, die ein Harness-Tausch bei gleichem Modell öffnet, bleibt damit größer als der Hebel der Denkleistung.

Gegenprobe: Denkleistung gegen Zusatzmaschinen

Surge AI hat im November 2026 vier Coding-Agent-Aufbauten mit Claude Opus 5.5 in Claude Code auf 100 eigenen Softwareaufgaben gemessen. Vanilla-Claude-Code mit hoher Denkleistung brachte +11,3 Punkte, die wirksamsten Harness-Zusätze 2,4 bis 3,3 Punkte, eine Zusammenstellung mit 37 Skills und 17 Unteragenten das Achtfache an Kosten ohne klaren Gewinn. Die Messung stammt von einem Anbieter mit eigenem Interesse, das Setup ist ein anderes (kommerzielles Modell, andere Aufgaben), und trotzdem passt sie zur eigenen Beobachtung: Was an einer Anbindung wirklich Geld kostet, sind verlorene Felder und unnötige Wiederholungen. Wie viele Agenten ein Auftrag weckt, ist die kleinere Frage.

Was wir daraus gezogen haben

Der Weg, den wir für jede eigene Anbindung gehen würden, ist kurz: erst nachsehen, dann umstellen. Konkret für uns erledigt und in unseren Notizen festgehalten, welche Harnesses die Denkarbeit zurückgeben und welche nicht; offen bleibt der Vergleich, ob zurückgeben oder wegwerfen bei unseren Modellen und zwanzig mehrstufigen Aufgaben messbar gewinnt, gegen die Stufe ohne Reasoning. Erst danach wird am Gateway etwas umgeschrieben, wenn überhaupt. Ein Vergleich zweier Coding-Agents mit einem einzigen Durchlauf pro Aufgabe ist Rauschen, also zwei, drei Läufe und danach der Mittelwert. Eine Tafel wie diese bewegt sich täglich, also ist sie eine Zahl für die Ablage mit Datum: Die Werte oben gelten für 11.11.2026, 14:44 MEZ.

Wer nur eine Zahl mitnehmen will: Die größte Einzelverbesserung, die das Board an einem einzigen Harness dokumentiert, kam nicht durch ein besseres Modell, sondern dadurch, dass Denkinhalte und alle Werkzeugaufrufe einer Antwort tatsächlich beim Modell ankamen. Unsere Beiträge dazu, wie wir Tokens und Durchsatz an eigener Infrastruktur messen, stehen im Beitrag zu vLLM Prefix-Caching und im Beitrag zur vLLM-Inferenz; alles zu Agenten und Automatisierung im Betrieb läuft im Hub KI im Betrieb zusammen. Wer seine eigene Anbindung durchmessen lassen will, kann das mit uns tun, unsere IT-Leistung für Infrastruktur und Betrieb.

Was die Zahlen nicht hergeben

Hinter der Tafel steht die Infrastruktur einer einzelnen Person, mit eigener Aufgabenwahl, eigener Brücke, eigener Preisrechnung über Listenpreise des jeweils billigsten geprüften Anbieters. Die Aufgaben sind öffentlich (Terminal-Bench 2.1, DeepSWE), Die Auswertungsskripte sind nicht einzeln nachgereicht; die Roh-Trials liegen offen in einem öffentlichen Bucket von 846 GB. Zwei methodische Funde des Betreibers gehören in die Bilanz: FeatureBench flog aus der Wertung, weil dessen Aufgabenbilder die Referenzlösung und versteckte Tests enthielten und Trials sie erreicht hatten; und 21.344 Terminal-Bench-Trials wurden noch einmal geprüft, nachdem Zeilennummern in Dateianzeigen das Lesen der Lösung verdeckt hatten. Auf unserer Seite gilt die gleiche Einschränkung: Die vier Harnesses oben sind unsere Arbeitsfassung, auf der Tafel laufen andere Fassungen, und unsere Route ist ein anderer Router als ihre.

Weiterführende Quellen

Fragen?
Lohnt es sich, den Coding-Agent zu wechseln, wenn das Modell gleich bleibt?+

Bei den öffentlichen Zahlen ja, wenn der aktuelle Harness auf der eigenen Anbindung sichtbar Daten verliert. Bei den öffentlichen Zahlen liegt der beste Harness pro Modell 16 bis 37 Punkte vor dem schlechtesten. Ein Wechsel lohnt nicht als Suche nach drei Punkten: die Konfidenzintervalle benachbarter Plätze überlappen, und ein einzelner Task kippt bei Wiederholung in rund jedem vierten Fall.

Muss ich Reasoning mitschicken, damit mein Agent gut arbeitet?+

Nicht automatisch. Der Harness-Betreiber hat das Nachsenden nachgerüstet und danach geschrieben, dass der Zugewinn an Punkten noch nicht von den Üblichen Schwankungen zu unterscheiden ist. Messen lässt sich der Verlust aber sofort: Er kostet Tokens, Zeit und bei mehreren Harnesses richtig Geld, weil Antworten erneut produziert werden.

Wie prüfe ich das für meine eigene Anbindung?+

Ein kleiner Proxy zwischen Agent und Gateway, der die Request-Bodies auf die Platte legt, genügt. Zwei Sätze Auftrag mit einem Werkzeugaufruf reichen. Dann in der zweiten Anfrage nachsehen, ob die Reasoning-Texte der ersten Antwort noch dastehen, und zwar in dem Feld, in dem sie angekommen sind. Das dauert ein paar Minuten und ändert an der Produktion nichts.