Programmierer auf der ganzen Welt schenken Anthropic völlig umsonst Geld! Die offiziellen Verantwortlichen können dies endlich nicht länger hinnehmen.
Gerade hat Anthropic einen Blogbeitrag veröffentlicht.
Die Kernbotschaft lautet: Leute, verschwendet keine unnötigen Tokens mehr, wir können das nicht mehr mit ansehen!
Dafür hat das Offizielle sechs detaillierte Spartipps aufgelistet, die wir hier direkt vorstellen:
1. Führe /clear aus, sobald die Aufgabe abgeschlossen ist. Sobald du einen Bug behoben hast, lösche den aktuellen Chat, damit die Dateien und Befehlsausgaben der vorherigen Aufgabe nicht in die nächste Aufgabe übernommen werden und unnötig Kontext belegen.
2. Lege direkt zu Beginn Modell und Inferenzstufe (effort level) fest. Wenn du mitten im Chat wechselst, verfällt der gesamte zuvor angesammelte Prompt-Cache, und der gesamte Chatverlauf wird zum vollen Preis neu berechnet.
3. Verweise auf Dateien mit @, gib keine Pfade manuell ein. Hänge die Datei direkt mit @ an die Nachricht an, sodass Claude keinen zusätzlichen Toolaufruf zum Lesen durchführen muss. Wenn du nur den Dateinamen eingibst, durchsucht Claude möglicherweise erst den gesamten Bereich und öffnet mehrere Dateien zum Ausprobieren – alle diese Aktionen landen im Chatverlauf und werden in jeder nachfolgenden Runde mitgeführt.
4. Füge Befehl mit hoher Ausgabemenge einen Stillen-Parameter (quiet flag) hinzu. Schreibe eine Konfiguration wie --reporter=dot in die Datei CLAUDE.md, sodass die Testausgabe nur wenige Zeilen mit Zusammenfassungen statt Hunderte von Zeilen mit Details ausgibt. Je kürzer die Ausgabe, desto weniger Kontext wird belegt.
5. Führe /compact vor der Pause durch. Wenn du den Chat noch komprimierst, solange er sich im Cache befindet, betragen die Kosten nur ein Zehntel des Normalpreises. Wenn du nach deiner Rückkehr erst komprimierst, nachdem der Cache abgelaufen ist, musst du den gesamten Inhalt zum vollen Preis neu lesen und dann komprimieren.
6. Übergebe Aufgaben mit großer Ausgabemenge an einen Sub-Agenten. Der Sub-Agent läuft in einem unabhängigen Kontextfenster und sendet nach Abschluss nur das Ergebnis zurück. Die während des Vorgangs gelesenen Dateien und Befehlsausgaben gelangen nicht in deinen Hauptchat.
Die Vergangenheit und Gegenwart eines Tokens
Wenn du mit Claude Code arbeitest, wird die API nach Verbrauch abgerechnet, die monatlichen Abonnementgebühren verteilen sich auf drei Stufen von 20 bis 200 US-Dollar.
Nach offiziellen Berechnungen verbrauchen Entwickler durchschnittlich 13 US-Dollar an Tokens pro Tag, die monatlichen Ausgaben liegen zwischen 150 und 250 US-Dollar.
Das ist nur das Durchschnittsniveau. Selbst bei der Behebung desselben Bugs können die Kosten je nach Fragestellung um ein Mehrfaches auseinanderliegen.
Außerdem wird bei jeder Chat-Runde der gesamte Inhalt aller vorherigen Runden erneut übermittelt. Je länger die Sitzung dauert, desto teurer wird jede einzelne Runde.
Um zu verstehen, wofür dieses Geld ausgegeben wird, muss man sich die Preislogik von Tokens ansehen.
Jedes Mal, wenn du eine Anweisung in Claude Code eingibst, passieren zwei Dinge im Hintergrund.
Das erste nennt sich Prefill (Vorbefüllung): Das Modell liest deine gesamte Anfrage auf einmal ein, einschließlich System-Prompt, CLAUDE.md, deiner Nachricht und allem, was sich im vorherigen Chatverlauf angesammelt hat. Das sind alles Eingabe-Tokens.
Das zweite nennt sich Decode (Dekodierung): Der Vorgang, bei dem das Modell Wort für Wort die Ausgabe erstellt, einschließlich seiner Überlegungen, Toolaufrufe und des Textes, den du schließlich siehst. Das sind alles Ausgabe-Tokens.
Der entscheidende Unterschied liegt hier.
Das Prefill läuft parallel ab: Alle Eingabe-Tokens werden in einem Durchgang von der GPU verarbeitet. Das Decodieren läuft seriell ab: Für jedes ausgegebene Token muss das Modell einmal ausgeführt werden. Eine Antwort mit 200 Tokens entspricht 200 unabhängigen Berechnungen.
Deshalb ist es leicht verständlich, warum Ausgabe-Tokens 5 Mal so teuer sind wie Eingabe-Tokens.
Auf dieser Grundlage hängt die endgültige Rechnung von zwei Faktoren ab.
Der erste ist das Modell, das den Stückpreis pro Token festlegt.
Bei Opus 5 kostet die Eingabe 5 US-Dollar pro Million Tokens, die Ausgabe 25 US-Dollar.
Bei Sonnet 5 kostet die Eingabe 2 US-Dollar, die Ausgabe 10 US-Dollar.
Bei Haiku 4.5 kostet die Eingabe 1 US-Dollar, die Ausgabe 5 US-Dollar.
Der zweite Faktor ist die Inferenzstufe, die die Anzahl der Tokens festlegt.
In einer Sitzung sind die meisten Ausgabe-Tokens Denk-Tokens, und die Inferenzstufe steuert genau diese Menge. Je höher die Inferenzstufe ist, desto länger denkt das Modell, desto mehr Denk-Tokens gibt es aus. Zwischen der Stufe max und low kann der Unterschied ein Mehrfaches betragen.
Verwende einfach und flexibel Sonnet für normale Aufgaben, und setze Opus nur für schwierige Aufgaben ein. Geld dafür auszugeben, ein großes Werkzeug für kleine Aufgaben zu verschwenden, ist am meisten verschwendet.
Der Prompt-Cache ist das größte Werkzeug zum Geldsparen
In der Preisgestaltung von Tokens gibt es noch eine große Variable, nämlich der Cache.
Jede Anfrage in Claude Code beginnt mit demselben Präfix, also dem System-Prompt, den Tooldefinitionen, der Datei CLAUDE.md und dem Chatverlauf.
Wenn das Präfix dieser Anfrage byte für byte mit der vorherigen übereinstimmt, führt der Server keine Neuberechnung durch, sondern lädt direkt das Berechnungsergebnis der vorherigen Anfrage.
Das Lesen aus dem Cache kostet nur 0,1 Mal des normalen Eingabepreises, sodass du direkt 90 % sparst.
Das Schreiben in den Cache ist etwas teurer, maximal das Doppelte. Aber das Schreiben findet nur einmal statt, und alle nachfolgenden Runden profitieren von dem 0,1-fachen Lesepreis.
Nehmen wir ein Beispiel.
Angenommen, dein Chatverlauf umfasst 50.000 Tokens. Ohne Cache müsstest du für jede Runde bereits den vollen Preis zahlen, nur um diese 50.000 Tokens erneut zu lesen. Aber solange der Cache getroffen wird, kosten dieselben 50.000 Tokens nur ein Zehntel des Preises.
Wenn eine Sitzung 20 bis 30 Runden läuft, summieren sich die durch den Cache erzielten Rabatte zu einer immensen Summe.
Das ist dein größter Hebel, um Vorteile zu nutzen.
Aber der Cache hat eine tödliche Schwäche: Er muss ab dem ersten Byte der Anfrage zusammenhängend übereinstimmen. Wenn sich irgendwo in der Mitte etwas ändert, wird alles ab dieser Position ungültig.
Genauer gesagt gibt es insgesamt sechs Fälle:
1. Wechsel des Modells mit /model: Der Cache jedes Modells ist unabhängig. Wenn du von Sonnet zu Opus wechselst, wird der gesamte Chatverlauf zum Preis von Opus neu vorgefüllt, es gibt keinen Rabatt.
2. Wechsel der Inferenzstufe mit /effort: Die Inferenzstufe ist ebenfalls Teil des Cache-Schlüssels, nach dem Wechsel muss der gesamte Chatverlauf neu berechnet werden.
3. Ein- und Ausschalten des Fast Mode: Der Effekt ist derselbe wie bei den beiden vorherigen Fällen, der Cache verfällt direkt.
4. Komprimieren des Chats mit /compact: Der Chat wird zu einer Zusammenfassung umgeschrieben, der ursprüngliche Inhalt stimmt nicht mehr überein, der alte Cache verfällt direkt.
5. Zeitablauf: Der Cache von Abonnementnutzern bleibt 1 Stunde aktiv, bei API-Nutzern beträgt die Standardzeit 5 Minuten. Nach Ablauf der Zeit wird die nächste Runde vollständig neu berechnet.
6. Wiederherstellen einer alten Sitzung: Nach zu langer Zeit ist der Cache längst verschwunden, fast zu 100 % muss alles zum vollen Preis neu berechnet werden.
Die schlechte Nachricht ist: Sobald einer dieser Fälle eintritt, bedeutet das, dass der gesamte Chatverlauf von dem 0,1-fachen Preis wieder auf den regulären Preis zurückspringt.
Die gute Nachricht ist: Wenn du weißt, was den Cache zum Verfallen bringt, kannst du auch wissen, wie du ihn behältst.
Zum Beispiel: Lege direkt zu Beginn der Sitzung Modell und Inferenzstufe fest und wechsle sie während des gesamten Vorgangs nicht. Führe /compact nicht durch, solange der Cache noch aktiv ist, sondern erst, wenn du bereit bist, eine Pause zu machen.
Hier gibt es noch einen versteckten Fallstrick.
Im Modus opusplan wird bei jedem Ein- und Austritt aus dem Plan das Modell gewechselt. Bei jedem Eintritt verfällt der Cache einmal, bei jedem Austritt verfällt er erneut. Wenn du ständig hin und her wechselst, kostet jeder Wechsel ein vollständiges Prefill zum vollen Preis.
Deine Sitzung wird heimlich immer größer
Der Cache hilft dir, die Kosten für das wiederholte Übermitteln des Verlaufs auf ein Zehntel zu senken.
Aber es gibt eine Sache, bei der er dir nicht helfen kann: Dein Verlauf selbst wächst Runde für Runde an.
Jedes Mal, wenn Claude eine Datei liest, wird der Inhalt der Datei an den Chat angehängt. Jedes Mal, wenn Claude einen Befehl ausführt, wird die Ausgabe ebenfalls angehängt. Ab der Runde, in der das Hinzufügen stattfindet, wird der Inhalt in jeder nachfolgenden Runde mitgeführt.
In der 40. Chat-Runde werden die gesamten angesammelten Inhalte der Runden 1 bis 39 erneut übermittelt.
Dieses Wachstum folgt einem nahezu quadratischen Muster von O(n²).
Claude Code verfügt über einen Auffangmechanismus.
Wenn die Befehlsausgabe mehr als 30.000 Zeichen beträgt, wird sie nicht in den Chat eingefügt, sondern in eine temporäre Datei geschrieben, und im Chat wird nur eine Zeile mit Zusammenfassung hinterlegt. Aber Ausgaben unter 30.000 Zeichen werden nicht überwacht.
Zum Beispiel gibt ein Testframework nach dem Ausführen 400 Zeilen mit Erfolgsmeldungen aus, jede Zeile umfasst mehrere Dutzend Zeichen, die Gesamtmenge liegt unter 30.000 und erreicht diesen Schwellenwert nicht.
Also verbleiben diese 400 Zeilen unverändert im Chatverlauf und werden in jeder nachfolgenden Runde erneut übermittelt.
Dafür gibt der Anthropic-Blog mehrere sehr praktische Methoden zur Verkleinerung des Umfangs an.
1. Verweise auf Dateien mit @.
Gib keine Pfade manuell ein, damit Claude sie selbst suchen muss. Mit @ als Verweis wird die Datei direkt an die Nachricht angehängt, sodass ein zusätzlicher Lesevorgang eingespart wird.
Wenn du nur den Dateinamen nennst, durchsucht Claude möglicherweise erst den gesamten Bereich mit grep und öffnet mehrere Dateien, um zu prüfen, welche die richtige ist. Diese Versuche landen dann alle im Chatverlauf und erhöhen unnötig die Kosten.