holistechlabsOpenCode · SWE-bench Verified
DEEN

Messung · 12. Oktober 2026 · 54 Durchgänge

Qwen3.8-Flash-Next als Coding-Agent in OpenCode

sushi 1.2.1 · MacBook Pro M1 Max und sushi 1.2.1 · Mac Studio M1 Ultra und halogen 0.18.0 · HP ZBook Ultra G1a

Autoren

Dipl.-Ing. Sören GebbertInstitut für holistische Technologieforschung GmbH Claude Code Opus 5.5Anthropic

Maschine und Server

MacBook Pro M1 Max

SoC
Apple M1 Max, 10 CPU-Kerne, 32 GPU-Kerne
Speicher
64 GiB Unified Memory
System
macOS 27.0.1
Server
sushi 1.2.1, Denkstufe xhigh
Gewichte
beamster/Qwen3.8-Flash-Next-Sushi-2.6bpw

Maschine und Server

Mac Studio M1 Ultra

SoC
Apple M1 Ultra, 20 CPU-Kerne, 64 GPU-Kerne
Speicher
64 GiB Unified Memory
System
macOS 26.2
Server
sushi 1.2.1, Denkstufe xhigh
Gewichte
beamster/Qwen3.8-Flash-Next-Sushi-2.6bpw

Maschine und Server

HP ZBook Ultra G1a

SoC
Ryzen AI Max+ PRO 395, Radeon 8060S
Speicher
128 GiB LPDDR5X-8000 als Unified Memory
System
Ubuntu 24.04
Server
halogen-flash-server 0.18.0, Denkstufe xhigh (Vorgabe)
Gewichte
v2.hgn, alle 512 Experten

Protokoll

Sechs Issues, drei Durchgänge

Agent
OpenCode 2.0.26
Aufgaben
SWE-bench Verified: vier aus pytest und Sphinx, zwei aus sympy und Django
Grenzen
262.144 Token Kontext, 150 Schritte, 60 bzw. 120 Minuten
Netz
gesperrt bis auf den eigenen Server
Gewertet
mit den Tests der Aufgabe wie bei SWE-bench

17von 18

MacBook Pro M1 Max · sushiDurchgänge gelöst

309Token/s

Einlesen Median der Anfragen mit mindestens 2.048 neuen Token

30,7Token/s

Ausgabe Median aller Anfragen, Denken eingeschlossen

217kToken

Tiefster Kontext höchster Stand einer Sitzung

17von 18

Mac Studio M1 Ultra · sushiDurchgänge gelöst

521Token/s

Einlesen Median der Anfragen mit mindestens 2.048 neuen Token

43,7Token/s

Ausgabe Median aller Anfragen, Denken eingeschlossen

163kToken

Tiefster Kontext höchster Stand einer Sitzung

18von 18

HP ZBook Ultra G1a · halogenDurchgänge gelöst

1.220Token/s

Einlesen Median der Anfragen mit mindestens 2.048 neuen Token

58,3Token/s

Ausgabe Median aller Anfragen, Denken eingeschlossen

112kToken

Tiefster Kontext höchster Stand einer Sitzung

Aus den Protokollen der Server, eine Anfrage je Schritt des Agenten, zusammen 3.304 Anfragen. Die meisten Schritte bringen nur einige hundert neue Token, der Rest kommt aus dem Prompt-Cache; deshalb zählen fürs Einlesen nur die größeren. Tempo je Kontextstufe und die Aufteilung der Zeit zeigt Kapitel 03.

01 · Aufbau

Echte Issues, offline, gewertet mit den Tests von SWE-bench

Der Agent bekommt ein Repository auf dem Stand vor der Reparatur und das Issue im Wortlaut, dazu einen Satz: Löse das Issue, du darfst Befehle und die vorhandenen Tests ausführen, höre auf, wenn du fertig bist. Die Tests, mit denen gewertet wird, bekommt er nicht, ebenso wenig einen Hinweis auf sie. Die Abhängigkeiten sind installiert; ins Netz kommt er nicht. Erreichbar ist nur der eigene Sprachmodell-Server.

Die sechs Aufgaben stammen aus SWE-bench Verified. Genommen wurde nur, was zwei veröffentlichte Läufe anderer Modelle beide gelöst haben, reines Python ist und laut Datensatz 15 Minuten bis eine Stunde Arbeit für einen Menschen bedeutet. Die Aufgaben sind also nachweislich lösbar. Gemessen wird, ob Flash-Next sie auf diesen Servern löst, wie lange es dafür braucht und wie verlässlich über drei Durchgänge.

Gewertet wird wie bei SWE-bench: Der Patch, den der Agent im Arbeitsbaum hinterlässt, kommt auf einen frischen Stand, dazu die Tests der Aufgabe. Gelöst ist eine Aufgabe, wenn die Tests zum Fehler bestehen (FAIL_TO_PASS) und kein vorher bestehender Test fällt (PASS_TO_PASS). Die Wertung läuft ohne Docker in einer Python-Umgebung, die der Harness von SWE-bench in Version 4.1.0 nachgebildet ist.

Alle drei Arme haben dieselben Einstellungen: Kontext bis 262.144 Token, Temperatur 1,0, top_p 0,95, Denkstufe xhigh, automatische Kompaktierung an, Prompt-Cache an. Beide Server nutzen ihre Mehrtoken-Vorhersage (MTP). Jede Maschine bearbeitet die 18 Durchgänge nacheinander in derselben Reihenfolge; nebenher läuft nichts.

Die sechs Aufgaben
Kennung Projekt SWE-bench FAIL_TO_PASS PASS_TO_PASS
M1pytestpytest-dev__pytest-7571114
M2pytestpytest-dev__pytest-8399159
M3Sphinxsphinx-doc__sphinx-1046616
M4Sphinxsphinx-doc__sphinx-1144528
G1sympysympy__sympy-21379191
G2Djangodjango__django-15814129

02 · Ergebnis

52 von 54 Durchgängen gelöst

Auf dem HP ZBook löst der Agent alle 18 Durchgänge, auf beiden Macs je 17. Die beiden Fehlschläge sind derselbe Durchgang derselben Aufgabe, M3 im zweiten Durchgang, auf dem MacBook und auf dem Mac Studio, mit derselben unvollständigen Lösung: Der Agent filtert doppelte Fundstellen in Catalog.add über Datei, Zeile und eine Kennung (uid). Die Duplikate aus dem Issue tragen verschiedene Kennungen und bleiben deshalb stehen. Der Test zum Fehler scheitert, alle übrigen bestehen.

Ob sushi bei M3 schwächer ist oder ob ein Fehlschlag in drei Durchgängen Zufall ist, lässt sich aus dieser Messung nicht ablesen.

Ein Durchgang endete an der Zeitgrenze: G1 im dritten Durchgang auf dem MacBook, nach 120 Minuten. Der Patch, den der Agent bis dahin geschrieben hatte, besteht alle Tests und zählt deshalb als gelöst, wie bei SWE-bench. Die Schrittgrenze von 150 griff nie.

Gelöste Durchgänge je Aufgabe
Aufgabe MacBook Pro M1 Max Mac Studio M1 Ultra HP ZBook Ultra G1a
M13 / 33 / 33 / 3
M23 / 33 / 33 / 3
M32 / 32 / 33 / 3
M43 / 33 / 33 / 3
G13 / 33 / 33 / 3
G23 / 33 / 33 / 3

03 · Tempo

Wie schnell die Maschinen einlesen und schreiben

Jeder Schritt des Agenten ist eine Anfrage an den Server: Er liest den neuen Teil des Verlaufs ein, meist die Ausgabe des letzten Werkzeugs, und schreibt Denken und den nächsten Werkzeugaufruf. Das MacBook liest im Median 309 Token je Sekunde ein und gibt 30,7 aus, der Mac Studio 521 und 43,7, das ZBook 1.220 und 58,3. Mit wachsendem Kontext ändert sich das Tempo auf allen drei Maschinen wenig.

Die beiden Macs rechnen mit demselben Server und denselben Gewichten. Der Mac Studio mit 64 GPU-Kernen liest 1,7-mal so schnell ein wie das MacBook mit 32 und schreibt 1,4-mal so schnell. Zwischen ZBook und Macs sind Plattform, Server und Gewichte zugleich verschieden; die Zahlen sagen, wie schnell es auf der jeweiligen Maschine geht.

Token je Sekunde nach Länge des Prompts, Median; Einlesen nur Anfragen mit mindestens 2.048 neuen Token, n = Zahl der Anfragen
Prompt MacBook Pro M1 Max Mac Studio M1 Ultra HP ZBook Ultra G1a
EinlesenAusgabeEinlesenAusgabeEinlesenAusgabe
0k–32k316 n=9531,0 n=429532 n=8343,9 n=4521.228 n=6858,6 n=421
32k–64k307 n=5030,5 n=421522 n=3144,0 n=3531.150 n=2257,8 n=285
64k–128k297 n=3130,9 n=431466 n=2943,2 n=2771.380 n=857,1 n=65
128k–256k279 n=1229,5 n=145557 n=343,1 n=25––

Wohin die Zeit geht, ergibt sich aus den Protokollen: Einlesen und Ausgabe stehen je Anfrage darin, der Rest der Wandzeit gehört den Werkzeugen, also vor allem den Tests, die der Agent selbst laufen lässt, und OpenCode. Auf den Macs entfällt der größte Teil auf die Ausgabe, auf dem ZBook auf den Rest. Darin steckt eine Stunde, in der der Agent in G2 auf sich selbst wartete (Kapitel 04).

Je Schritt schreibt der Agent auf allen drei Maschinen ähnlich viel, zwischen 549 und 592 Token. Auf dem MacBook brauchte er mehr Schritte, 1.426 gegen 1.107 auf dem Mac Studio und 771 auf dem ZBook. Die Wandzeit enthält beides, das Tempo je Schritt und die Zahl der Schritte, die von Durchgang zu Durchgang streut.

Alle 18 Durchgänge je Maschine zusammen, Zeiten in Minuten
Maschine Schritte Token erzeugt Einlesen Ausgabe Werkzeuge und Rest Wandzeit
MacBook Pro M1 Max1.426843.926127513172813
Mac Studio M1 Ultra1.107624.8965525464374
HP ZBook Ultra G1a771422.95115125157297
Wandzeit je Aufgabe in Minuten: Median, daneben kürzester bis längster Durchgang
Aufgabe MacBook Pro M1 Max Mac Studio M1 Ultra HP ZBook Ultra G1a
M115,8 12,4–32,011,0 8,8–11,66,8 6,8–7,2
M217,7 15,6–32,112,3 11,4–13,02,8 1,8–4,4
M339,8 28,5–42,411,4 8,9–12,612,1 9,9–12,6
M436,0 29,3–41,430,5 25,1–32,47,5 6,6–14,1
G1100,7 74,6–120,018,9 15,8–31,211,1 10,8–32,5
G251,9 39,3–83,338,4 36,6–44,156,6 20,5–72,8

04 · Verlauf

Kontext, Schritte und Werkzeuge

Wie tief der Kontext wird, entscheidet der Agent. Am tiefsten ging eine Sitzung auf dem MacBook mit 217.152 Token, auf dem Mac Studio waren es höchstens 163.340, auf dem ZBook 111.553. Keine Sitzung erreichte die Schwelle, ab der OpenCode den Verlauf zusammenfasst; kompaktiert wurde nie.

Von 3.571 Werkzeugaufrufen scheiterten 18 (MacBook 6, Mac Studio 6, ZBook 6).

Ein Durchgang zeigt, wie ein Agent sich selbst aufhalten kann: In G2 auf dem ZBook wartete er mit while pgrep -f "runtests.py --parallel 1" auf seinen Testlauf. Das Suchmuster steht in der Befehlszeile der Warteschleife selbst, also findet sie sich immer. Sie endete erst an der Zeitgrenze von einer Stunde, die der Agent dem Befehl mitgegeben hatte. Danach löste er die Aufgabe, nach 72,8 Minuten.

05 · Netz

Der Agent sucht im Netz nach der Lösung

In 40 von 54 Durchgängen versuchte der Agent, ins Netz zu gehen. Er rief mit curl Dateien von raw.githubusercontent.com und api.github.com ab, teils gezielt den Pull Request zum Issue, lud mit pip download neuere Fassungen des Pakets, fragte mit git ls-remote das Original-Repository ab und rief fetch() im JavaScript-Werkzeug von OpenCode auf. Kein Versuch bekam Daten: Auf allen drei Maschinen sperrte die Sandbox des Betriebssystems jede dieser Verbindungen. Jede Ausgabe ist in den Exporten der Sitzungen geprüft.

Mit offenem Netz würde Flash-Next bei SWE-bench-Aufgaben also regelmäßig die veröffentlichte Lösung holen. Eine solche Messung zeigt dann, wie gut der Agent sucht, nicht wie gut er repariert.

Durchgänge mit Netzversuch
MaschineDurchgänge
MacBook Pro M1 Max15 / 18
Mac Studio M1 Ultra14 / 18
HP ZBook Ultra G1a11 / 18

06 · Patches

Was in den gelösten Patches steht

Bestandene Tests sagen nicht, ob ein Patch die Ursache trifft oder nur den getesteten Fall. Alle 52 gelösten Patches hat deshalb je Aufgabe ein Prüfer beurteilt, der nicht wusste, von welcher Maschine sie stammen: ein Sprachmodell (Claude Haiku 5.5) mit dem Issue, der Referenzlösung der Projektbetreuer und den Patches in zufälliger Reihenfolge, Pfade geschwärzt. Er beantwortete drei Fragen je Patch mit festen Werten.

Kein Patch umgeht nur das Symptom; alle treffen die Ursache ganz oder für den gemeldeten Fall. Den deutlichsten Unterschied zeigt der Beifang: Hilfsskripte, Logdateien und Ausgaben, die der Agent im Repository liegen ließ, fand der Prüfer in 4 von 17 Patches vom MacBook und in keinem von den beiden anderen Maschinen.

Beim Vergleich mit der Referenzlösung trennt der Prüfer wenig: In 3 der sechs Aufgaben (M1, M2, M3) gab er allen Patches denselben Wert. Für Unterschiede zwischen den Maschinen trägt diese Frage deshalb kaum.

Trifft der Patch die Ursache?
MaschineUrsachegemeldeter Fallnur SymptomPatches
MacBook Pro M1 Max152017
Mac Studio M1 Ultra143017
HP ZBook Ultra G1a162018
Ändert der Patch mehr als nötig?
MaschinekeinergeringerheblichPatches
MacBook Pro M1 Max67417
Mac Studio M1 Ultra98017
HP ZBook Ultra G1a144018
Verglichen mit der Referenzlösung
Maschinegleichwertiganders, gleich gutanders, schwächerbesserPatches
MacBook Pro M1 Max482317
Mac Studio M1 Ultra752317
HP ZBook Ultra G1a852318

07 · Alle Zahlen

Alle 54 Durchgänge

Je Durchgang: Ergebnis der Wertung, Wandzeit, Schritte des Agenten, höchster Kontext der Sitzung, erzeugte Token einschließlich Denken und der Beifang laut blinder Beurteilung. Aus dieser Tabelle sind alle Zahlen dieses Berichts gerechnet.

Aufgabe Maschine Durchgang Ergebnis FAIL_TO_PASS PASS_TO_PASS Wandzeit (min) Schritte Kontext max. Token erzeugt Beifang
M1 MacBook Pro M1 Max1gelöst1/114/1432,03429.02814.285gering
MacBook Pro M1 Max2gelöst1/114/1412,43726.75612.728gering
MacBook Pro M1 Max3gelöst1/114/1415,83139.44121.817gering
Mac Studio M1 Ultra1gelöst1/114/1411,02930.69116.629keiner
Mac Studio M1 Ultra2gelöst1/114/1411,62433.63916.721gering
Mac Studio M1 Ultra3gelöst1/114/148,83325.6299.971keiner
HP ZBook Ultra G1a1gelöst1/114/147,23222.7879.530keiner
HP ZBook Ultra G1a2gelöst1/114/146,82624.3959.395keiner
HP ZBook Ultra G1a3gelöst1/114/146,82521.9789.268gering
M2 MacBook Pro M1 Max1gelöst1/159/5932,14842.81416.655keiner
MacBook Pro M1 Max2gelöst1/159/5917,75250.49019.224keiner
MacBook Pro M1 Max3gelöst1/159/5915,64137.57915.422keiner
Mac Studio M1 Ultra1gelöst1/159/5912,35443.61220.453keiner
Mac Studio M1 Ultra2gelöst1/159/5911,44236.79917.443gering
Mac Studio M1 Ultra3gelöst1/159/5913,05644.50021.568gering
HP ZBook Ultra G1a1gelöst1/159/594,43230.79812.060keiner
HP ZBook Ultra G1a2gelöst1/159/591,82213.9325.000keiner
HP ZBook Ultra G1a3gelöst1/159/592,83018.6317.478keiner
M3 MacBook Pro M1 Max1gelöst1/16/642,462103.01453.822keiner
MacBook Pro M1 Max2nicht gelöst0/16/639,86594.08054.284–
MacBook Pro M1 Max3gelöst1/16/628,56864.51736.150gering
Mac Studio M1 Ultra1gelöst1/16/612,62856.19022.261gering
Mac Studio M1 Ultra2nicht gelöst0/16/68,93340.20717.142–
Mac Studio M1 Ultra3gelöst1/16/611,44060.06522.492keiner
HP ZBook Ultra G1a1gelöst1/16/612,12456.18941.085keiner
HP ZBook Ultra G1a2gelöst1/16/69,93871.03227.662keiner
HP ZBook Ultra G1a3gelöst1/16/612,65062.80936.399keiner
M4 MacBook Pro M1 Max1gelöst2/28/829,35761.27836.314keiner
MacBook Pro M1 Max2gelöst2/28/836,07780.23545.183gering
MacBook Pro M1 Max3gelöst2/28/841,411595.56152.317erheblich
Mac Studio M1 Ultra1gelöst2/28/825,18685.92145.331keiner
Mac Studio M1 Ultra2gelöst2/28/832,4114101.66159.920keiner
Mac Studio M1 Ultra3gelöst2/28/830,510491.55255.611gering
HP ZBook Ultra G1a1gelöst2/28/87,54134.28919.281keiner
HP ZBook Ultra G1a2gelöst2/28/814,15848.09730.168keiner
HP ZBook Ultra G1a3gelöst2/28/86,64240.70517.893keiner
G1 MacBook Pro M1 Max1gelöst1/191/91100,7152145.74085.048erheblich
MacBook Pro M1 Max2gelöst1/191/9174,6160162.95698.466keiner
MacBook Pro M1 Max3gelöst, Zeitgrenze1/191/91120,0136101.34460.299erheblich
Mac Studio M1 Ultra1gelöst1/191/9115,83749.51525.192keiner
Mac Studio M1 Ultra2gelöst1/191/9118,94242.96921.020keiner
Mac Studio M1 Ultra3gelöst1/191/9131,26463.50631.535keiner
HP ZBook Ultra G1a1gelöst1/191/9110,83236.63922.696keiner
HP ZBook Ultra G1a2gelöst1/191/9132,56576.06732.628keiner
HP ZBook Ultra G1a3gelöst1/191/9111,13639.66218.834keiner
G2 MacBook Pro M1 Max1gelöst1/129/2983,3156217.152110.984erheblich
MacBook Pro M1 Max2gelöst1/129/2951,970168.34862.831gering
MacBook Pro M1 Max3gelöst1/129/2939,365127.25048.097gering
Mac Studio M1 Ultra1gelöst1/129/2938,496138.84473.535gering
Mac Studio M1 Ultra2gelöst1/129/2944,1133163.34080.896gering
Mac Studio M1 Ultra3gelöst1/129/2936,692127.85767.176gering
HP ZBook Ultra G1a1gelöst1/129/2920,576105.89641.620gering
HP ZBook Ultra G1a2gelöst1/129/2956,683111.55346.722gering
HP ZBook Ultra G1a3gelöst1/129/2972,85996.68035.232gering

08 · Grenzen

Was diese Messung nicht zeigt

Kein Vergleich der Server. halogen rechnet mit den Gewichten v2.hgn auf Strix Halo, sushi mit beamster/Qwen3.8-Flash-Next-Sushi-2.6bpw (2,6 bpw) auf Apple M1. Plattform, Server und Gewichte sind zugleich verschieden. Die Messung zeigt, was Flash-Next als Agent auf einem Mac mit 64 GB gegenüber einer Maschine mit 128 GB leistet, nicht welcher Server besser rechnet.

Keine Lösungsquote. Ausgewählt sind nur Aufgaben, die andere Modelle gelöst haben. Die Zahl der gelösten Durchgänge lässt sich deshalb nicht neben veröffentlichte SWE-bench-Werte stellen.

Bekannte Aufgaben. Issues und Lösungen von SWE-bench Verified sind öffentlich. Ob Qwen3.8-Flash-Next sie aus dem Training kennt, lässt sich hier nicht prüfen.

Nachgebildete Wertung. Gewertet wurde ohne die Docker-Images von SWE-bench, in einer Umgebung nach den Vorgaben der Harness 4.1.0. Jede Aufgabe bestand vorab mit der Referenzlösung auf allen drei Maschinen.

Sechs Aufgaben, drei Durchgänge. Genug, um zu zeigen, dass der Agent auf allen drei Maschinen arbeitet, zu wenig, um einen einzelnen Fehlschlag einer Maschine zuzuschreiben.

Ein Prüfer je Aufgabe. Die Beurteilung der Patches stammt von je einem Sprachmodell, ohne zweiten Prüfer und ohne Abgleich mit einem Menschen.

Prompt-Cache an verschiedenen Orten. halogen hält den Cache im Arbeitsspeicher, sushi nur auf der SSD (bis 20 GB, zu Beginn jeder Reihe geleert). Beide Server liefen über alle 18 Durchgänge ohne Neustart. Wie viel ein Schritt neu einlesen muss, hängt deshalb auch vom Cache ab.

Hintergrundprozesse nur auf dem Mac Studio erfasst. Prozesse, die der Agent im Hintergrund startet und nicht beendet, wurden auf dem Mac Studio nach jedem Durchgang gesucht und beendet; es gab keine. Auf ZBook und MacBook ist nicht erfasst, ob solche Prozesse in spätere Durchgänge hineinliefen.