CLAUDE GUIDE 06 · WERKSTREAM
Gemessen: Was Modell und Effort kosten
Ich wollte Fakten sehen: 171 headless Läufe über vier Modelle und zwei Effort-Stufen! Hier sind die echten Zahlen zu Speed, Tokenvolumen und geschätztem Limit-Anteil.
Auf einen Blick (Kurzfassung):
- 171 Testläufe ausgewertet: Echtes Tempo, Tokenverbrauch und Limit-Anteil im Vergleich.
- Haiku 4.5 ist Speed-Sieger: Ideal für schnelle Subagenten-Erkundungen.
- Sonnet 5 bringt die beste Balance: Höchste Effizienz pro verbrauchtem Limit-Prozent.
Andere Quellenlage als Artikel 1–5. Die übrigen Artikel geben ausschließlich offiziell dokumentierte Aussagen wieder. Dieser hier besteht aus eigenen Messungen auf einem Rechner, an einem Tag, mit zehn selbst geschriebenen Aufgaben. Reproduzierbar, aber nicht repräsentativ für deine Workloads.
Die Kurzfassung
- Geschwindigkeit trennt klar. Sonnet 5 low ist mit 7,5 s Median fast viermal schneller als Haiku 4.5 low mit 28,9 s.
- Tokenvolumen trennt noch klarer. Opus 5 low braucht 682 Output-Tokens pro Aufgabe, Haiku 4.5 low 4747 — Faktor 7.
- Qualität trennt nicht. 16 Fehlschläge auf 144 Läufe, Fisher exakt p = 0,18 für low gegen high. Die Aufgaben waren zu leicht, um zwischen den Modellen zu unterscheiden.
- Modelltier schlägt Effort-Stufe. Fable 5 auf
lowverbraucht mehr Limit als Opus 5 aufhigh. - Der größte Hebel ist keiner davon — es ist der Session-Overhead. Dazu am Ende mehr.
Aufbau
Jede Zelle der Matrix ist ein eigener headless-Lauf in einem frischen Temp-Verzeichnis, das nur den Aufgabentext enthält:
claude -p "<Aufgabe>" \
--safe-mode \
--model claude-opus-5 \
--effort low \
--output-format json \
--permission-mode bypassPermissions \
--max-turns 25
Vier Entscheidungen, die das Ergebnis überhaupt erst aussagekräftig machen:
--safe-modeschaltet CLAUDE.md, Skills, Plugins, Hooks und MCP ab. Ohne das misst man die eigene Konfiguration statt des Modells — bei aktiven Ausgabestil-Plugins verschiebt sich allein die Antwortlänge erheblich.- Subscription-Auth erzwungen: der Runner entfernt
ANTHROPIC_API_KEYundANTHROPIC_AUTH_TOKENaus der Child-Umgebung. Sonst läuft der Sweep über die metered API und verbraucht gar kein Limit — womit die interessanteste Größe wegfiele. - Der Prüfer liegt außerhalb des Arbeitsverzeichnisses. Läge er darin, könnte der Agent die Assertions lesen und die erwarteten Werte hart codieren.
- Zwei Wiederholungen je Zelle, damit Lauf-zu-Lauf-Streuung überhaupt sichtbar wird.
Der Vertrag für alle Aufgaben ist identisch: Der Agent schreibt solution.py, danach bewertet ein Prüfskript sie von außen und gibt einen Score zwischen 0 und 1 zurück. Zehn Aufgaben, gemischt: Algorithmik mit Laufzeitgrenze, ein Bugfix mit Endlosschleife, Regex plus Kalenderlogik inklusive Schaltjahren, ein Constraint-Rätsel, ein Parser mit Fehlerfällen, römische Zahlen mit Ablehnung nicht-kanonischer Formen, Wahrscheinlichkeitsrechnung und Telefonnummern-Normalisierung nach E.164.
Die Matrix
| Modell | Effort | n | Pass | Score ø | Wall s | Out-Tok ø | Fresh-Tok ø |
|---|---|---|---|---|---|---|---|
| Opus 5 | low | 18 | 16 | 0,99 | 12,5 | 682 | 5967 |
| Opus 5 | high | 18 | 18 | 1,00 | 21,3 | 1735 | 8017 |
| Sonnet 5 | low | 18 | 15 | 0,91 | 7,5 | 882 | 5980 |
| Sonnet 5 | high | 18 | 16 | 0,91 | 13,2 | 1937 | 8038 |
| Fable 5 | low | 18 | 15 | 0,98 | 15,8 | 1024 | 7020 |
| Fable 5 | high | 18 | 17 | 0,99 | 21,7 | 1650 | 8113 |
| Haiku 4.5 | low | 18 | 15 | 0,98 | 28,9 | 4747 | 12777 |
| Haiku 4.5 | high | 18 | 16 | 0,99 | 20,2 | 3321 | 9927 |
Fresh-Tokens = output + input + cache_creation, also alles außer Cache-Reads: das Volumen, das Modell und Effort tatsächlich erzeugen. Die Spalte ist bewusst statt total_cost_usd gewählt — warum, steht weiter unten.
Zwei Beobachtungen, die nicht ins Klischee passen. Erstens ist Haiku 4.5 hier das langsamste Modell, nicht das schnellste: 28,9 s Median auf low, weil es mit Abstand am meisten schreibt. Der Geschwindigkeitsvorteil kleiner Modelle gilt pro Token, nicht pro Aufgabe — und wer viermal so viele Tokens produziert, ist trotz schnellerer Tokenrate am Ende langsamer.
Zweitens ist bei Haiku 4.5 high günstiger als low (3321 gegen 4747 Output-Tokens). Bei allen drei 5er-Modellen steigt der Verbrauch mit dem Effort wie erwartet um Faktor 1,6 bis 2,5. Haiku 4.5 stammt aus der Vorgängergeneration; das Effort-Flag wird angenommen, aber die Skalierung greift dort nicht sauber.
Warum die Qualitätsspalte nichts entscheidet
Die Score-Spalte sieht nach Ranking aus. Sie ist keines. 16 Fehlschläge auf 144 Läufe, pro Zelle null bis drei — Fisher exakter Test:
| Vergleich | Fehlschläge | p |
|---|---|---|
| Opus 5 high gegen Sonnet 5 low | 0/18 gegen 3/18 | 0,23 |
| Effort low gegen high, gepoolt | 11/72 gegen 5/72 | 0,18 |
Beides weit von Signifikanz entfernt. Dazu kommt ein Deckeneffekt: Von neun ausgewerteten Aufgaben produzierten nur zwei überhaupt Fehlschläge. Die anderen sieben laufen bei jedem Modell durch und heben alle Mittelwerte gleichmäßig an — effektiv war das ein Zwei-Aufgaben-Benchmark.
Wer Modelle nach Qualität ranken will, braucht Aufgaben, an denen die stärkeren messbar besser sind — Reasoning-Tiefe statt Tipparbeit. Kandidaten aus dem zweiten Anlauf: unrestricted Damerau-Levenshtein (fast alle liefern die OSA-Variante), Misère-Nim (die Normal-Play-XOR-Regel ist dort falsch), ein Ausdrucksparser mit -2**2 == -4 und Trunkierung Richtung Null, SemVer-2.0-Precedence mit Prerelease-Ordering.
Wie viel Limit kostet ein Lauf?
Claude Code hat keinen headless auslesbaren Limit-Zähler — /usage ist nur interaktiv (siehe Artikel 2). Ein Proxy lässt sich trotzdem kalibrieren, wenn man einen Beobachtungspunkt hat.
Der lag hier vor: Nach dem Sweep zeigte /usage 75 % des 5-Stunden-Fensters. Die 171 Läufe summieren sich auf 20,28 cost-equivalent und dürften grob 70 Prozentpunkte davon ausmachen — die Hauptsession, in der der Sweep gesteuert wurde, ist gegen 171 volle Sessions Rauschen. Daraus folgt: ein Prozentpunkt ≈ 0,29 cost-equivalent, das volle Fenster ≈ 29.
| Modell / Effort | % des 5-h-Fensters pro Lauf | Läufe bis 100 % |
|---|---|---|
| Fable 5 high | 0,92 | 108 |
| Fable 5 low | 0,80 | 124 |
| Opus 5 high | 0,48 | 209 |
| Opus 5 low | 0,33 | 300 |
| Sonnet 5 high | 0,30 | 335 |
| Sonnet 5 low | 0,22 | 459 |
| Haiku 4.5 low | 0,15 | 667 |
| Haiku 4.5 high | 0,12 | 866 |
Die Spannweite beträgt Faktor 7,7 zwischen der teuersten und der billigsten Zelle. Und die Rangfolge zeigt: das Modelltier dominiert die Effort-Stufe. Fable 5 auf low kostet mehr Limit als Opus 5 auf high, Opus 5 auf low mehr als Sonnet 5 auf high. Wer sparen will, wechselt zuerst das Modell, nicht die Effort-Stufe.
Drei Fehlerquellen, die diese Tabelle unschärfer machen, als sie aussieht. Erstens ein einziger Kalibrierpunkt — ±20 % sind plausibel. Zweitens ist die Limit-Formel nicht öffentlich; sie ist kostengewichtet, aber nicht nachweislich linear in total_cost_usd. Drittens die Cache-Kontamination unten. Die Größenordnung trägt, die zweite Nachkommastelle nicht.
Warum nicht einfach total_cost_usd?
Weil die Zahl von der Lauf-Reihenfolge abhängt, nicht nur vom Modell. Aus der Vorab-Probe:
fable-5 low 0,4081
fable-5 high 0,1545
Die Kosten sinken um Faktor 2,6, während der Effort steigt. Ursache ist nicht das Modell, sondern ob eine frühere Zelle den Prompt-Cache bereits gefüllt hatte: cache_creation kostet das 1,25-fache des Basispreises, cache_read ein Zehntel. Wer als Erster in einer Reihe läuft, zahlt den Aufbau; alle danach lesen billig. Das folgt dem Scheduling und der Parallelität des Sweeps — mit mehr Wiederholungen mittelt sich das nicht weg, weil es kein Rauschen ist, sondern ein systematischer Effekt.
Deshalb ranken die Tabellen oben nach Fresh-Tokens, und $ steht nur als Nebenspalte. Für den Limit-Schätzer ist die Summe über alle 171 Läufe verwendet — über den ganzen Sweep gemittelt fällt der Cache-Effekt weitgehend heraus, für eine Rangfolge einzelner Zellen taugt er nicht.
Was sich wann lohnt
| Aufgabe | Wahl | Begründung aus den Daten |
|---|---|---|
| Mechanisch, klar spezifiziert | Haiku 4.5 high | 0,12 % pro Lauf, viermal limitschonender als Opus 5 low. high statt low, weil Haiku bei low mehr Tokens produziert. |
| Standard-Coding, interaktiv | Sonnet 5 low | 7,5 s Median — mit Abstand die schnellste Rückmeldung. Score 0,91, das schwächste im Feld; taugt dort, wo ein Fehler sofort auffällt. |
| Default für echte Arbeit | Opus 5 low | 12,5 s bei Score 0,99 und 0,33 % pro Lauf. Die schnellste Zelle der starken Tier — low ist bei Opus 5 auffällig stark. |
| Schwer, korrektheitskritisch | Opus 5 high | Einzige Zelle mit 18/18. Kostet 1,5× gegenüber low — bei 209 statt 300 Läufen pro Fenster günstig erkauft. |
| Fable 5 | nur wenn Opus 5 high scheitert | Doppelter Limitverbrauch von Opus 5 high, kein messbarer Qualitätsvorsprung auf diesen Aufgaben. Bei langen autonomen Läufen kann das anders aussehen — dafür fehlen hier die Daten. |
Zur Effort-Wahl: low → high kostet rund das 1,4-fache an Limit und das 1,6-fache an Zeit. Bei Opus 5 hebt es die Pass-Rate von 16/18 auf 18/18 — der einzige Ort in dieser Messung, an dem sich der Aufschlag sichtbar auszahlt. Bei Haiku 4.5 ist high ohnehin die günstigere Wahl.
Der eigentliche Hebel
Die gesamte Modellwahl bewegt sich innerhalb eines Faktors von etwa 7. Der Session-Overhead bewegt mehr.
| Größe über alle 171 Läufe | Tokens |
|---|---|
| Output | 320 000 |
| Cache-Creation | 1 054 000 |
| Cache-Read | 9 075 000 |
Jeder Lauf zahlt 50 000 bis 75 000 Input-Tokens allein für System-Prompt und Tool-Definitionen — unabhängig davon, wie klein die Aufgabe ist. Der eigentliche Aufgabentext liegt bei rund 200 Tokens. Über 90 % des Verbrauchs ist Session-Overhead, nicht Denkarbeit. --safe-mode schaltet CLAUDE.md und Skills ab, aber nicht den Basis-Prompt.
Praktisch heißt das: Eine lange Session mit warmem Cache schlägt zwanzig kalte Kurzsessions deutlicher, als irgendein Modellwechsel es je könnte. Das deckt sich mit dem, was Artikel 3 zur Cache-Wärme und Artikel 4 zum Session-Start beschreiben — hier ist es einmal beziffert.
Was diese Messung nicht zeigt
- Qualitätsrangfolge. Die Aufgaben waren zu leicht; p = 0,18 bis 0,23. Ein zweiter Sweep mit acht härteren Aufgaben wurde nach 27 von 144 Zellen abgebrochen — zu wenig für jede Aussage.
- Lange autonome Läufe. Jede Zelle war eine Aufgabe in wenigen Turns. Genau dort, wo Fable 5 und Opus 5
highihre Stärken haben sollen, liegen keine Daten vor. - Effort über zwei Stufen hinaus. Nur
lowundhigh;medium,xhighundmaxfehlen. - Tool-schwere Workloads. Zwei bis drei Turns pro Lauf. Wie sich die Modelle über zwanzig Tool-Calls verhalten, steht hier nicht.