Claude Messages API Compaction: zwei Beta-Pfade, der signierte Block und die Abrechnungszeile
Kompaktieren kostet einen zusätzlichen Sampling-Schritt und ist nicht automatisch günstiger
Anthropic hat die Compaction-API am 2026-02-05 als Beta veröffentlicht (Zusammenfassung, sobald ein Schwellenwert erreicht ist) und am 2026-09-14 die Compaction auf Abruf ergänzt: Senden Sie den Top-Level-Parameter compaction, und die API liefert einen signierten Compaction-Block zurück. Beide Pfade lassen sich nicht in einer Anfrage kombinieren; der signierte Block muss in messages an erster Stelle stehen, und laut Anbieter ist es ein 400-Fehler, wenn die zusammengefassten Nachrichten davor bleiben; usage.iterations bestimmt den tatsächlichen Verbrauch; wie Compaction mit Prompt Caching zusammenspielt, zeigt der Anbieter ebenfalls.
Aktualisiert 2026-10-20
Claude, GPT und chinesische Modelle mit einem Key, Bezahlung pro Token; verfügbare Modelle unter /models.
- Bezahlung pro Token — aktuelle Preise unter /models
- Zahlung per Karte (Visa / Mastercard), Apple Pay, Google Pay oder Krypto
- Selbstbedienung: aufladen und sofort aktivieren
Vier Kernpunkte
Zwei verschiedene Beta-Header
Die Schwellenwert-Compaction verwendet compact-2026-01-12 und wird in context_management.edits mit dem Eintragstyp compact_20260112 konfiguriert; die Compaction auf Abruf verwendet compact-2026-09-04 mit dem Top-Level-Parameter compaction. Der Anbieter hält fest, dass compaction und context_management nicht in derselben Anfrage gesendet werden dürfen.
Standard-Trigger für den Schwellenwert-Pfad
Laut offizieller Parametertabelle ist der Standardwert von trigger {"type": "input_tokens", "value": 150000}, input_tokens ist der einzige unterstützte Trigger-Typ, und value muss mindestens 50,000 Tokens betragen. Sobald der Trigger auslöst, schreibt die API eine Zusammenfassung, legt sie in einem Compaction-Block ab und setzt die Antwort mit dem kompaktierten Kontext fort.
Ein falsch platzierter signierter Block führt zu einem 400
Die Compaction auf Abruf liefert einen signierten Compaction-Block. Bleiben die zusammengefassten Nachrichten vor dem Block stehen, antwortet die Anfrage mit einem 400 und dem Fehlercode compaction_block_misplaced. Setzen Sie den Block an erster Stelle in messages an die Stelle der Nachrichten, die er zusammenfasst, und behalten Sie ihn unverändert bei, einschließlich seiner Signatur. Der Schwellenwert-Block steht dagegen hinter dem Inhalt, den er zusammenfasst.
Warum separat abgerechnet wird
Offizieller Wortlaut: Kompaktieren fügt einen zusätzlichen Sampling-Schritt hinzu, und dieser Schritt zählt gegen Rate Limits und Abrechnung. Die Antwort fügt usage.iterations einen Eintrag vom Typ compaction hinzu; die Top-Level-Werte input_tokens und output_tokens enthalten ihn nicht, weshalb für den tatsächlichen Verbrauch über alle Iterationen summiert werden muss.
Was es ist
Serverseitige Compaction: Erreicht eine Anfrage den konfigurierten Schwellenwert, schreibt Claude die Zusammenfassung des Gesprächs selbst und legt sie in einem Compaction-Block zurück. Bei späteren Anfragen verwirft die API alle Content-Blöcke vor diesem Block und macht mit der Zusammenfassung weiter. Der Anbieter versteht das als Ersatz für clientseitigen Zusammenfassungscode: Die Zusammenfassung entsteht serverseitig, eigenen Code dafür brauchen Sie nicht. Genannt werden zwei Anwendungsfälle: ein Chat, den Nutzer lange in einem Fenster führen, und Aufgaben mit vielen Folgeaktionen (häufig Werkzeugeinsatz), die das Kontextfenster sprengen können.
Was passiert ist
Beide Daten stehen wörtlich in den offiziellen API-Release-Notes. 2026-02-05: Die Compaction-API ging in die Beta und liefert serverseitige Kontextzusammenfassung für praktisch endlose Unterhaltungen, und der Eintrag nennt Opus 4.6 als verfügbares Modell. 2026-09-14: Die Messages API kann eine Unterhaltung auf Abruf verdichten, ebenfalls in Beta, mit dem Beta-Header compact-2026-09-04; der Top-Level-Parameter compaction liefert einen signierten Compaction-Block, und in späteren Anfragen senden Sie diesen Block an die Stelle der ursprünglichen Nachrichten. Der Abruf-Pfad erzeugt einen signierten Block und keine Antwort (stop_reason ist compaction); die Anfrage kann im Hintergrund laufen, während die Unterhaltung mit dem vollständigen Verlauf weitergeht, und aktuelle Turns lassen sich nach der Zusammenfassung wortgetreu beibehalten.
Zeitleiste
2026-02-05: Die offiziellen Release Notes melden die Compaction-API als Beta mit serverseitiger Kontextzusammenfassung für praktisch endlose Unterhaltungen, und der Eintrag nennt Opus 4.6 als verfügbares Modell – die erste serverseitige Compaction-Beta.
2026-09-14: Dieselbe Seite ergänzt On-Demand-Compaction (Beta-Header compact-2026-09-04): den Parameter compaction auf oberster Ebene, einen signierten Block, Zusammenfassung im Hintergrund und wortgetreu beibehaltene letzte Turns nach der Zusammenfassung.
Übersichtsseite, Schwellenwert-Seite und Abruf-Seite der offiziellen Compaction-Dokumentation sowie die API-Release-Notes wurden an diesem Tag geprüft und jeder oben zitierte Parameter, Standardwert und Fehlercode wörtlich abgeglichen; in der offiziellen Liste für den Abruf-Pfad steht Google Cloud, nicht Amazon Bedrock, in der Liste für den Schwellenwert-Pfad zusätzlich Amazon Bedrock.
Bestätigt und Stolperfallen
Durch die Dokumentation bestätigt
Wörtlich in den offiziellen Seiten: Der Standardwert für trigger ist 150000 mit einem Wert von mindestens 50,000; input_tokens ist der einzige unterstützte Trigger-Typ; ein nicht leerer instructions-String ersetzt den Standard-Zusammenfassungs-Prompt vollständig (auf dem Abruf-Pfad bis zu 16.384 Zeichen); pause_after_compaction steht standardmäßig auf false; Kompaktieren fügt einen zusätzlichen Sampling-Schritt hinzu, der gegen Rate Limits und Abrechnung zählt; die usage der obersten Ebene schließt die Compaction-Iteration aus, daher müssen Sie iterations summieren; bleiben die zusammengefassten Nachrichten vor einem signierten Block stehen, ist das ein 400 mit dem Code compaction_block_misplaced; compaction und context_management dürfen nicht in derselben Anfrage stehen; der Endpunkt zum Zählen von Tokens ignoriert den Parameter compaction; Bilder, Dokumente, container_upload-Blöcke und abgerufene URLs im zusammengefassten Bereich sind verloren, sobald der Block sie ersetzt.
⚠️ Stolperfallen
Die Aussage aus der Community, „Kompaktieren macht jede spätere Anfrage teurer“, lässt sich nicht als Tatsache festhalten. Der Anbieter sagt, Kompaktieren füge einen zusätzlichen, abgerechneten Sampling-Schritt hinzu, und schreibt im selben Dokument, Compaction funktioniere gut mit Prompt Caching; dort wird ein cache_control-Breakpoint am Block gezeigt und ein Breakpoint am Ende des System-Prompts empfohlen, damit der System-Prompt-Cache gültig bleibt; außerdem heißt es, dass das erneute Anwenden eines früheren Compaction-Blocks keine zusätzlichen Compaction-Kosten verursacht. Die zutreffende Fassung: Kompaktieren hat seinen Preis, und ob es sich rechnet, hängt davon ab, wo Ihre Cache-Breakpoints liegen. Außerdem: Die gesamte Oberfläche ist Beta; eine fehlgeschlagene Zusammenfassung liefert weiterhin HTTP 200 mit leerem Inhalt, und dieser Aufruf wird trotzdem abgerechnet; ein vorübergehendes Serverproblem liefert einen wiederholbaren 529 overloaded_error mit error.details.error_code compaction_unavailable; und wird der Restwert eines Task-Budgets zusammen mit Compaction gesendet, ist das ein 400.
Gemeinsamkeiten und Unterschiede
Was beide gemeinsam haben
Beide fassen serverseitig zusammen, beide liefern einen Compaction-Block, beide verwenden das Modell aus Ihrer Anfrage, um die Zusammenfassung zu schreiben („Current limitations“ nennt keine Option, ein anderes, günstigeres Modell zu verwenden), beide fügen einen Sampling-Schritt hinzu, der auf Rate Limits und Abrechnung angerechnet wird, und beide befinden sich weiterhin in der Beta.
Was sich unterscheidet
Der Auslöser unterscheidet sich: Der Schwellenwert-Pfad greift mitten in einer Anfrage und verdichtet dort, und er kann in einem Aufruf mehrfach greifen (mit Server-Tools wird der Schwellenwert am Start jeder Sampling-Iteration geprüft); der Abruf-Pfad ist eine eigene Anfrage, die Sie für das Schreiben der Zusammenfassung aufwenden und die keine Antwort erzeugt. Auch die Platzierung des Blocks unterscheidet sich: Ein Schwellenwert-Block folgt auf den Inhalt, den er zusammengefasst hat, ein signierter Block ersetzt diese Nachrichten. Ebenso unterscheiden sich die Plattformen: In der offiziellen Liste für den Abruf-Pfad steht Google Cloud, nicht Amazon Bedrock, in der Liste für den Schwellenwert-Pfad zusätzlich Amazon Bedrock.
So verwenden Sie es
Fünf Schritte. 1) Wählen Sie einen Pfad: Schwellenwert-Compaction, wenn die API den Kontext innerhalb normaler Anfragen verwalten soll; die Compaction auf Abruf, wenn Ihre App selbst steuern muss, wann sie stattfindet, nicht pausieren kann, während eine Zusammenfassung geschrieben wird, oder aktuelle Turns samt ihrem Thinking behalten muss. 2) Senden Sie den Header korrekt: Die Compaction auf Abruf benötigt compact-2026-09-04 bei der Anfrage, die die Zusammenfassung anfordert, und bei jeder späteren Anfrage, die den signierten Block enthält; fehlt er bei der Zusammenfassungsanfrage, antwortet die API mit einem 400, der den fehlenden Beta-Header nennt, fehlt er bei einer späteren Anfrage, kommt ein Validierungsfehler, der compaction nicht als erwarteten Blocktyp nennt, ohne den Header zu erwähnen. 3) Legen Sie den Block in messages wieder an erster Stelle ab und löschen Sie die zusammengefassten Nachrichten. 4) Summieren Sie usage.iterations, statt nur die beiden Top-Level-Felder zu lesen. 5) Behandeln Sie den Fall ohne Zusammenfassung: Sind Tools definiert, ruft das Modell manchmal ein Tool auf, statt eine Zusammenfassung zu schreiben, und der Block kommt mit content: null zurück; die dokumentierte Abhilfe sind instructions, die Tool-Aufrufe ausdrücklich verbieten.
Bei QCode
Compaction ist ein Parameter und Beta-Header der Messages API; einen Schalter dafür geben wir nicht frei. Den Parameter wertet Anthropic aus, und wir sagen in seinem Namen kein Verhalten zu. Die Modelle der offiziellen Beta-Supportliste - claude-opus-5, claude-sonnet-5, claude-fable-5, claude-fable-5-1, claude-opus-4-8 und claude-sonnet-4-6 - stehen alle in der öffentlichen /models-Liste (geprüft 2026-10-20); die offizielle Supportliste nennt außerdem claude-mythos-5 und claude-mythos-5-1. Ob ein Modell die Compaction unterstützt, steht in den offiziellen Compatibility-Listen, die der Anbieter für jeden Beta-Header getrennt führt. Abrechnung pro Token; die Preise je Modell stehen auf der Modellseite.
FAQ
Können beide Betas gleichzeitig aktiv sein?
Nein. Der Anbieter hält fest, dass compaction und context_management nicht in derselben Anfrage gesendet werden dürfen, und ergänzt, dass Schwellenwert-Compaction (compact_20260112) nicht in einer Anfrage laufen kann, die einen signierten Block enthält. Wählen Sie einen der beiden Pfade.
Spart die Aktivierung von Compaction Geld?
Nicht von selbst. Der Anbieter sagt, Compaction erfordere einen zusätzlichen Sampling-Schritt, der zu Rate Limits und Abrechnung beiträgt, und dass die input_tokens / output_tokens der obersten Ebene ihn ausschließen, sodass Sie usage.iterations summieren müssen. Kleiner wird der Kontext späterer Anfragen; ob unterm Strich günstiger abgerechnet wird, hängt von den Cache-Breakpoints ab und davon, dass das erneute Anwenden eines alten Blocks keine zusätzliche Compaction kostet.
Wohin gehört der signierte Block?
An den Anfang von messages, wobei die zusammengefassten Nachrichten entfernt werden und der Block exakt so beibehalten wird, wie er zurückgegeben wurde, einschließlich seiner Signatur. Bleiben die zusammengefassten Nachrichten vor einem signierten Block stehen, antwortet die Anfrage laut Anbieter mit einem 400 und dem Code compaction_block_misplaced. Jede spätere Anfrage mit dem Block muss den Header compact-2026-09-04 enthalten.
Warum kam der Block leer zurück?
Meist wegen des Tool-Konflikts: Unter „Current limitations“ steht, dass das Modell bei einer Anfrage mit Tools gelegentlich im internen Zusammenfassungsschritt ein Tool aufruft, statt eine Zusammenfassung zu schreiben, und die Antwort dann einen Compaction-Block mit content: null enthält. Die dokumentierte Abhilfe sind instructions, die ausdrücklich vorgeben, keine Tools aufzurufen und nur mit Text zu antworten. Beachten Sie außerdem: Eine fehlgeschlagene Zusammenfassung ist weiterhin HTTP 200 mit leerem Inhalt, wird trotzdem abgerechnet und erscheint weiterhin in usage.iterations.
Wo sehe ich, welche Modelle die Compaction unterstützen? Mit welchen Modellen kann ich das bei QCode ausprobieren?
Der Anbieter führt offizielle Compatibility-Listen getrennt für jeden Beta-Header: eine für den Abruf-Pfad, eine für den Schwellenwert-Pfad, jeweils mit den Modellbezeichnungen in der Form, in der Sie sie senden. Die Modelle der offiziellen Beta-Supportliste - claude-opus-5, claude-sonnet-5, claude-fable-5, claude-fable-5-1, claude-opus-4-8 und claude-sonnet-4-6 - stehen alle in der öffentlichen /models-Liste (geprüft 2026-10-20); die offizielle Supportliste nennt außerdem claude-mythos-5 und claude-mythos-5-1. Compaction ist ein API-Parameter, keinen Schalter bieten wir dafür an; Beta-Funktionen können sich ändern, und eine langfristige Unterstützung sagen wir für keine davon zu.
Kann ein günstigeres Modell die Zusammenfassung schreiben, oder lässt sie sich überspringen?
Kein Austausch möglich. Der Anbieter schreibt, dass das in der Anfrage angegebene Modell die Zusammenfassung erstellt und dass es keine Option gibt, für die Zusammenfassung ein anderes (zum Beispiel günstigeres) Modell zu verwenden. Ändern können Sie instructions (einen eigenen Zusammenfassungs-Prompt, der den Standard vollständig ersetzt) und den Schwellenwert für trigger. Volle Kontrolle bedeutet, serverseitige Compaction abzuschalten und clientseitig zusammenzufassen, was ein anderes Design ist.
Quellen
Die offiziellen Anthropic-Seiten zur Compaction: Übersicht https://platform.claude.com/docs/en/build-with-claude/compaction (Tabelle Choose how to compact und Seitenindex), Schwellenwert-Variante https://platform.claude.com/docs/en/build-with-claude/compaction-threshold (Abschnitte Parameters / Understanding usage / Prompt caching / Current limitations), Abruf-Variante https://platform.claude.com/docs/en/build-with-claude/compaction-on-demand (Abschnitte Request a summary / Errors / Count compaction usage) sowie die API-Release-Notes https://platform.claude.com/docs/en/release-notes/api (die Einträge vom 2026-02-05 und September 14, 2026 sind wörtlich zitiert; am selben Tag im offiziellen .md-Format abgerufen, HTTP 200).
Nutzungserfassung klären, bevor Sie sich für Compaction entscheiden
Header, Blockplatzierung und Abrechnungsformulierungen stützen sich hier auf die am 2026-10-20 geprüften offiziellen Dokumente; den Parameter wertet Anthropic aus, und wir sagen in seinem Namen kein Verhalten zu. Kontingent aufgebraucht? Warten Sie nicht auf den Reset – mit aktivem Privatplan kaufen Sie ein Booster-Pack, ohne Plan ein Nutzungspaket; Nutzungspakete starten bei $4 für ein einmaliges Kontingent, das Sie innerhalb von 7 Tagen nutzen (Aufladen ab $5). Preise unter /pricing, aktueller Katalog unter /models.
Weiterführende Lektüre
Context Engineering: der komplette Leitfaden 2026
Compaction ist eine Technik innerhalb des Context Engineering; diese Seite behandelt die Methode, nicht die API-Parameter.
Tools mitten in der Unterhaltung hinzufügen und entfernen
Dort wird beschrieben, wie Anweisungen und Tool-Änderungen aus laufenden Unterhaltungen eine Zusammenfassung überstehen.
„effort“ wird nicht unterstützt, wenn „thinking“ deaktiviert ist
Die Fehlerfamilie zu Thinking-Blöcken und Verlaufsänderungen: Auch das Thinking der beibehaltenen Turns muss konsistent bleiben.
Krypto-Zahlungsleitfaden
Neun Coins, 56 Netzwerke, keine Plattformgebühr für KI-Coding-API-Guthaben.
Diese Seite gibt öffentliche Anthropic-Dokumentation wieder und steht in keiner Verbindung zu Anthropic. Parameternamen, Standardwerte, Fehlercodes und zitierte Sätze entsprechen dem Stand der Prüfung am 2026-10-20; Beta-Oberflächen ändern sich ohne Vorankündigung. Ob sich Compaction rechnet, entscheiden der Preis des zusätzlichen Sampling-Schritts und die Lage der Cache-Breakpoints; der Anbieter schreibt dazu nichts weiter. QCode bietet API-Zugang und ändert nichts am Beta-Status der Anthropic-Schnittstellen.