Coding-Agent-Laufzeitbenchmark

Vier Ausführungsstacks. Ein Repository.

4 Änderungen · alle Zieltests bestanden · 6:04–13:57

Codex logoCloud

Codex · Luna Max

6:04

DeepSeek logoQwen logoLokal

DSH · Qwen 27B

8:04

OpenCode logoCodex logoCloud

OpenCode · Luna Max

12:54

OpenCode logoQwen logoLokal

OpenCode · Qwen 100K

13:57

Coding-Agent-Benchmark: Wie stark das Runtime-System die Laufzeit verändert

21. August 2026AI agentslocal LLMQwenbenchmark

Testumgebung

Erfasst: 2026-08-21T12:39:07+02:00

Host-Hardware

Betriebssystem

Windows 11 Pro

CPU

AMD Ryzen 9 7950X

Kerne

16C/32T

RAM

128 GB

GPU / VRAM

NVIDIA GeForce RTX 4090 / 24 GB

GPU-Treiber

610.88

Pro Lauf

LaufRuntimeModellFormat / QuantisierungKontext / KV-CacheBackend
Codex · Luna Max (Cloud)Codex CLI 0.148.0-alpha.21gpt-5.6-luna (GPT-5.6 Luna Max)vom Anbieter nicht offengelegt258400 tokens / vom Anbieter nicht offengelegtvom Anbieter nicht offengelegt
DSH · Qwen 3.8 27B (Lokal)DeepSeek Harness (dsh) 0.1.0-rc.8Qwen3.8-27B-Q4-100K-Q8 (Qwen 3.8 27B Q4 (100K Q8 KV))GGUF / Q4100K (102400 tokens) / Q8llama.cpp
OpenCode · Luna Max (Cloud)OpenCode 1.18.19GPT-5.6 Lunavom Anbieter nicht offengelegtvom Anbieter nicht offengelegt / vom Anbieter nicht offengelegtvom Anbieter nicht offengelegt
OpenCode · Qwen 100K (Lokal)OpenCode 1.18.19Qwen3.8-27B Q4 (100K Q8 KV)GGUF / Q4100K / Q8llama.cpp

Die Hardware wurde nach Abschluss der Läufe auf derselben Maschine erneut überprüft. Die Werte pro Lauf stammen aus den aufbewahrten Sitzungsexporten; nicht erfasste Werte wurden entsprechend markiert statt geschätzt.

Gewichts-Quantisierung (Q4) und KV-Cache-Quantisierung (Q8) sind bei den Qwen-Läufen bewusst getrennt ausgewiesen.

Benchmark auf einen Blick

Vier unterschiedliche Änderungen · alle Zieltests bestanden

Gemessen wurde der gesamte Ausführungsstack

Das Modell ist nur ein Eingangswert für Laufzeit und Tokenvolumen.

  1. 01

    Agentenanweisungen

    Systemprompt, Skills, Memory und Planungsregeln

  2. 02

    Kontext

    Frische Eingabe, Cache-Lesen, Kompaktierung und Fortsetzung

  3. 03

    Werkzeuge

    Repository-Lesen, Änderungen, Befehle und Tests

  4. 04

    Review-Gates

    Nutzerantworten, Reviewer und Verifikationsregeln

  5. 05

    Geprüftes Ergebnis

    Patch-Umfang, Zieltests und Abschlussbericht

Acht Ansichten derselben vier Sitzungen

Gesamtlaufzeit

Sekunden · weniger ist besser

Gemeldetes Tokenvolumen

Millionen Tokens · kein direkter Geschwindigkeitswert

Laufzeitfaktor je Modellfamilie

Direktes Harness = 1,00 · weniger ist besser

Assistentenrunden und Tool-Aufrufe

Codex ohne vergleichbare Exportzähler ausgelassen

OpenCode Prompt-Zusammensetzung

Prozent · frische Eingabe gegenüber Cache-Lesen

Luna Laufzeit-Zusammensetzung

Sekunden · Review gegenüber übriger gemessener Zeit

Generiertes Tokenvolumen

Tausend Tokens · Output plus separat gemeldetes Reasoning

Patch- und Verifikationsmatrix

RuntimeAusgewählte ÄnderungDateienTestsErgebnis
Codex · Luna MaxValueError-Kompatibilität plus Schutz für Nicht-Objekt-Flashcards21111/11
DSH · Qwen 27BAtomisches RunKeyStore-Speichern mit temporärer Datei und os.replace21414/14
OpenCode · Luna MaxFlashcardValidationError erbt von ValueError31111/11
OpenCode · Qwen 100KOCR-Leerraumkorrektur für die Garbage-Ratio21717/17

Vier Coding-Agent-Sitzungen erhielten dasselbe Repository und dieselbe übergeordnete Aufgabe. Jede Sitzung lieferte eine Änderung und bestand ihre gezielt ausgeführten Tests. Die beobachtete Gesamtdauer lag trotzdem zwischen 6:04 und 13:57 Minuten.

Codex mit Luna Max war der kürzeste beobachtete Lauf. DSH mit Qwen 3.8 27B war der kürzeste lokale Lauf. Beide OpenCode-Konfigurationen benötigten mehr Zeit, obwohl OpenCode Qwen das niedrigste gemeldete Gesamt-Tokenvolumen hatte.

Die zentrale Erkenntnis ist deshalb keine allgemeine Modellrangliste. Ein Coding-Agent besteht aus mehr als dem Modell: Systemanweisungen, Skills, Memory, Kontextverwaltung, Cache, Werkzeuge, Nutzereingriffe, Review-Regeln und Tests wirken gemeinsam auf das sichtbare Ergebnis.

Was der Benchmark misst

Die vier Sitzungen starteten mit demselben Repository und derselben abstrakten Aufgabe, mussten aber nicht denselben konkreten Defekt auswählen. Die Luna-Läufe landeten im selben Flashcard-Bereich, wählten jedoch einen unterschiedlichen Patch-Umfang. Die beiden Qwen-Läufe bearbeiteten andere Fehlerbereiche.

Damit vergleicht der Test vollständige Runtime-Profile, nicht vier Modelle unter einer kontrollierten Same-Patch-Bedingung. Diese Unterscheidung ist wichtig: Eine Sitzung kann wegen langsamer Modellgenerierung, zusätzlicher Tool-Arbeit, Review, Kontextkompaktierung oder Wartezeiten länger dauern.

Laufzeit und Tokenvolumen

  • Codex · Luna Max: 363,696 Sekunden, 2,031 Millionen gemeldete Tokens, 11/11 Zieltests.
  • DSH · Qwen 3.8 27B: 483,641 Sekunden, 1,984 Millionen Tokens, 57 Tool-Aufrufe, 14/14 Tests.
  • OpenCode · Luna Max: 773,632 Sekunden, 2,683 Millionen Tokens, 67 Tool-Aufrufe, 11/11 Tests.
  • OpenCode · Qwen 100K: 836,954 Sekunden, 1,687 Millionen Tokens, 39 Tool-Aufrufe, 17/17 Tests.

OpenCode Luna benötigte 2,13-mal so lange wie Codex Luna. OpenCode Qwen benötigte 1,73-mal so lange wie DSH Qwen. Gleichzeitig war OpenCode Qwen trotz des kleinsten Gesamt-Tokenvolumens der längste Lauf. Ein niedriger Tokenwert ist daher weder automatisch ein Geschwindigkeits- noch ein Qualitätswert.

Auch die Tokenfelder sind nicht identisch. Codex führt Reasoning als Teil des Outputs. OpenCode trennt Reasoning und kombiniert frische Eingabe mit Cache-Lesen im Promptvolumen. DSH liefert Prompt- und Output-Summen. Die normalisierten Werte beschreiben Arbeitsvolumen, nicht unmittelbar Rechnung, Energiebedarf oder Abonnementlimit.

Cache, Orchestrierung und Review

In beiden OpenCode-Läufen stammten mehr als 91 Prozent des Promptvolumens aus Cache-Lesevorgängen. OpenCode Luna meldete 220.630 frische Input-Tokens und 2.451.456 Cache-Tokens; OpenCode Qwen 145.146 beziehungsweise 1.514.973.

DSH Qwen nutzte 36 Assistentenrunden und 57 Tool-Aufrufe. OpenCode Luna nutzte 32 Runden und 67 Aufrufe, OpenCode Qwen 31 Runden und 39 Aufrufe. Für Codex standen keine direkt vergleichbaren Exportzähler zur Verfügung; deshalb wird Codex in dieser Teilgrafik nicht fälschlich mit null dargestellt.

OpenCode Luna aktivierte Brainstorming, Planerstellung, testgetriebene Entwicklung, Code-Review und Abschlussverifikation. Allein der Reviewer beanspruchte ungefähr 299 Sekunden, also 38,6 Prozent der Gesamtdauer. Dieser Prozess kann bei großen oder riskanten Änderungen wertvoll sein. Bei einem kleinen Fix wurde sein fixer Aufwand jedoch zu einem bedeutenden Teil der Sitzung.

Codex Luna verwendete Karpathy-Guidelines und vorhandenes Working Memory. Diese Eingaben könnten einen kleinen Patch, explizite Annahmen und direkte Verifikation gefördert haben. Ein einzelner Lauf kann ihren isolierten Effekt jedoch nicht messen. Dafür wäre ein eigener Skills-an/Skills-aus-Versuchsarm erforderlich.

Welche Runtime passt zu welcher Aufgabe?

  • Für einen kleinen, klar begrenzten Cloud-Modell-Fix war Codex Luna Max der kürzeste beobachtete Pfad.
  • Für lokale Qwen-Ausführung war DSH Qwen in diesem Test der schnellere Runtime-Stack.
  • OpenCode bleibt sinnvoll, wenn Provider-Portabilität, sichtbare Planung und ein einheitliches Modell-Interface wichtiger sind als minimale Laufzeit.
  • Für große Refactorings oder Änderungen mit hohem Regressionsrisiko kann eine explizite Planungs- und Review-Kette ihren Zeitaufschlag rechtfertigen.
  • Für Mikroaufgaben sollte ein leichteres Agentenprofil feste Prozesskosten vermeiden, sofern die Risikolage keine zusätzlichen Gates verlangt.

Grenzen und nächster Test

Jede Bedingung lief nur einmal; es gibt keine Varianz oder Konfidenzintervalle. Die Agenten implementierten nicht denselben Patch, die Tokenexporte verwenden unterschiedliche Semantik, und Qwen lief lokal, während Luna Cloud-Infrastruktur nutzte. Auch Testanzahlen sind wegen unterschiedlicher Patch-Umfänge kein Qualitätsranking.

Ein stärkerer Folgetest sollte einen einzigen Defekt, dieselben Akzeptanzkriterien, identische Tools, gleiche Systemanweisungen sowie gleiche Kontext- und Timeout-Grenzen verwenden. Jede Bedingung sollte mindestens dreimal laufen. Für Qwen müssen Hardware, Quantisierung, Kontextlimit, KV-Cache-Format und Generationsdurchsatz dokumentiert werden. Pro-Schritt-Zeitstempel würden Modelllatenz, Toolzeit und Review erstmals sauber trennen.

Evidenz und Markenquellen

Die Messwerte wurden aus vier aufbewahrten Sitzungsexporten rekonstruiert: `lunamax-session.jsonl`, `session.jsonl`, `session-ses_fdda.md` und `session-ses_fdd8.md`.

Weitere Beiträge

← Alle BeiträgeLab →