Leitfaden zu Funktionen · geprüft am 2026-09-21

Claude Messages API Compaction: zwei Beta-Pfade, der signierte Block und die Abrechnungszeile
Kompaktieren ist nicht automatisch günstiger

Anthropic hat die Compaction-API am 2026-02-05 als Beta veröffentlicht (einmalige 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. Diese Seite beantwortet vier Fragen: wie jeder Pfad gesendet wird, wie der Block zurückgegeben wird (die falsche Position führt zu einem 400, in den Worten des Anbieters), warum usage.iterations ändert, was Sie bezahlen, und wie Compaction tatsächlich mit Prompt Caching zusammenhängt.

Aktualisiert 2026-09-21

#compact-2026-01-12#compact-2026-09-04#usage.iterations#signierter Block

Vier Kernpunkte

zwei Betas

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. Offizieller Wortlaut: „You can't send compaction and context_management on the same request.“

150000

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.

400

Ein falsch platzierter signierter Block führt zu einem 400

Der Pfad auf Abruf liefert einen signierten Compaction-Block. Offiziell heißt es: „Leaving the summarized messages in front of a signed block is a 400 error.“ Senden Sie den Block in messages an erster Stelle, anstelle der Turns, die er zusammenfasst, und behalten Sie ihn byte-genau inklusive Signatur bei. Der Schwellenwert-Block steht dagegen nach dem Inhalt, den er zusammenfasst.

ein zusätzlicher Sampling-Schritt

Warum separat abgerechnet wird

Offizieller Wortlaut: „Compaction requires an additional sampling step, which contributes to rate limits and billing.“ 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 der Anbieter empfiehlt, für die tatsächlichen Kosten des Aufrufs über alle Iterationen zu summieren.

Was es ist

Serverseitige Compaction: Erreicht eine Anfrage den konfigurierten Schwellenwert, fasst Claude die Unterhaltung selbst zusammen und gibt die Zusammenfassung 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. Die Dokumentation sieht darin den Ersatz für clientseitigen Zusammenfassungscode („Server-side compaction is the recommended strategy“) und nennt zwei Anwendungsfälle: lange Einzel-Threads im Chat sowie aufgabenorientierte Prompts mit viel Folgearbeit, meist Tool-Nutzung, die das Kontextfenster überschreiten könnte.

Was passiert ist

Beide Daten stehen wörtlich in den offiziellen API-Release-Notes: 2026-02-05, „We've launched the compaction API in beta, providing server-side context summarization for effectively infinite conversations. Available on Opus 4.6.“; und, erneut geprüft am 2026-09-21, der Eintrag vom September 14, 2026, „The Messages API can now compact a conversation on demand ... in beta with the compact-2026-09-04 beta header.“ Der Pfad auf Abruf erzeugt einen signierten Block und keine Antwort (stop_reason ist compaction); diese 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

2026-02-05: Die offiziellen Release Notes schreiben „We've launched the compaction API in beta ... Available on Opus 4.6.“ – die erste serverseitige Compaction-Beta.

2026-09-14

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.

2026-09-21

2026-09-21: Auf dieser Seite wurden beide offiziellen .md-Dokumente erfasst und jeder oben zitierte Parameter, Standardwert und Fehlercode geprüft; Katalog und 30-Tage-Nutzung mit Preisen wurden am selben Tag geprüft.

Bestätigt und Stolperfallen

Durch die Dokumentation bestätigt

Wörtlich in den am 2026-09-21 erfassten 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 On-Demand-Pfad bis zu 16,384 Zeichen); pause_after_compaction ist standardmäßig false; Compaction erfordert einen zusätzlichen Sampling-Schritt, der zu Rate Limits und Abrechnung beiträgt; die usage der obersten Ebene schließt die Compaction-Iteration aus, daher müssen Sie iterations summieren; Wenn die zusammengefassten Nachrichten vor einem signierten Block stehen bleiben, führt das zu einem 400-Fehler; Compaction kann nicht mit context_management in einer Anfrage kombiniert werden; 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, „Compaction macht jede spätere Anfrage teurer“, lässt sich nicht als Tatsache festhalten. Der Anbieter sagt, Compaction füge einen 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: Compaction ist nicht kostenlos, und ob sie sich lohnt, 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 wenn der Restwert (remaining) eines Task-Budgets zusammen mit Compaction gesendet wird, ist das ein 400. (Die vier obigen Punkte wurden am 2026-09-21 anhand der Dokumentation geprüft; überarbeiten Sie diesen Abschnitt, falls sie sich ändern)

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 kann in einem einzigen Aufruf mehrfach auslösen (bei Server-Tools wird der Auslöser zu Beginn jeder Sampling-Iteration erneut geprüft), während der On-Demand-Pfad eine eigene Anfrage ist, 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: Laut Dokumentation ist On-Demand-Compaction in der Claude API verfügbar, nicht jedoch auf Amazon Bedrock oder Google Cloud.

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; den Parameter compaction, 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 – und laut Dokumentation scheitert ein fehlender Header mit einem generischen Validierungsfehler (compaction: Extra inputs are not permitted), der den Header nie erwähnt. 3) Legen Sie den Block in messages wieder an erster Stelle ab und löschen Sie die zusammengefassten Turns. 4) Korrigieren Sie Ihr Kosten-Tracking: 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 Lösung sind Anweisungen, die Tool-Aufrufe ausdrücklich verbieten.

Bei QCode

Compaction ist ein Parameter und Beta-Header der Messages API, kein Schalter, den wir anbieten. Wir haben keine echte, abgerechnete Anfrage über unseren eigenen Relay-Dienst zum Testen gesendet (Testkonten sind hier schreibgeschützt); diese Seite sagt daher nur, welche Ebene für das Verhalten zuständig ist: Der vorgelagerte Anbieter Anthropic interpretiert den Parameter, und wir geben in seinem Namen keine Zusagen. Geprüft gegen unseren Katalog am 2026-09-19: claude-opus-5, claude-sonnet-5, claude-fable-5, claude-fable-5-1, claude-opus-4-8 und claude-sonnet-4-6 aus der Liste der von der Beta unterstützten Modelle stehen alle in der öffentlichen /models-Liste, mit 59,161 / 222,137 / 12,904 / 15,728 / 22,007 / 151,645 abgerechneten Aufrufen in den letzten 30 Tagen; claude-mythos-5 und claude-mythos-5-1 sind ebenfalls gelistet, mit 0 abgerechneten Aufrufen in diesem Zeitraum. Beta-Funktionen ändern sich ohne Vorankündigung, daher sagt diese Seite für keine Stufe Stabilität zu.

FAQ

Können beide Betas gleichzeitig aktiv sein?

Nein. Unter „How it fits with the rest of the API“ hält die Dokumentation fest: „You can't send compaction and context_management on the same request“, 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 Turns entfernt werden und der Block exakt so beibehalten wird, wie er zurückgegeben wurde, einschließlich seiner Signatur. Die Dokumentation hält fest, dass es ein 400-Fehler ist, wenn die zusammengefassten Nachrichten vor einem signierten Block stehen bleiben. Jede spätere Anfrage 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.

Mit welchen Modellen kann ich das bei QCode ausprobieren?

Von der unterstützten Liste der Beta stehen claude-opus-5, claude-sonnet-5, claude-fable-5, claude-fable-5-1, claude-opus-4-8 und claude-sonnet-4-6 alle in unserer öffentlichen /models-Liste (geprüft am 2026-09-19; 59,161 / 222,137 / 12,904 / 15,728 / 22,007 / 151,645 abgerechnete Aufrufe in 30 Tagen). Compaction ist ein API-Parameter und nichts, was wir für Sie umschalten, und Beta-Oberflächen können sich ändern – diese Seite sagt keine Stabilität zu.

Kann ein günstigeres Modell die Zusammenfassung schreiben, oder lässt sie sich überspringen?

Kein Austausch möglich. Die Dokumentation hält fest: „The model specified in your request is used for summarization.“ Es gibt keine Option, 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 auszuschalten und clientseitig zusammenzufassen, was ein anderes Design ist.

Quellen

Anthropic, Compaction, https://platform.claude.com/docs/en/build-with-claude/compaction (am 2026-09-21 als offizielle .md erfasst, HTTP 200; die Abschnitte Compatibility, Parameters, Understanding usage, Prompt caching, Current limitations und Compact on demand) sowie die Claude-Release-Notes, https://platform.claude.com/docs/en/release-notes/overview (gleiche Erfassung; die Einträge vom 2026-02-05 und 14. September 2026 sind wörtlich zitiert). Katalogeintrag und die bepreisten Aufrufe der letzten 30 Tage sind eigene Prüfungen (öffentlicher /models-Snapshot plus das Ledger der bepreisten Aufrufe).

Nutzungserfassung klären, bevor Sie sich für Compaction entscheiden

Header, Blockplatzierung und Abrechnungsformulierungen stützen sich hier auf die am 2026-09-21 erfassten offiziellen Dokumente; der Parameter wird beim Anbieter ausgewertet, und wir sagen in seinem Namen kein Verhalten zu. Preise unter /pricing, aktueller Katalog unter /models.

Weiterführende Lektüre

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 Erfassung am 2026-09-21; Beta-Oberflächen ändern sich ohne Vorankündigung. Diese Seite behauptet nicht, dass Compaction günstiger ist – der Hersteller dokumentiert einen zusätzlich abgerechneten Sampling-Schritt und ein bestimmtes Verhalten bei Cache-Breakpoints, nicht mehr. QCode bietet API-Zugang und ändert nichts am Beta-Status der Upstream-Schnittstellen.

Erst testen, dann entscheiden

Unsicher bei der Tarifwahl? Beginnen Sie mit Starter ($8.57/Monat) und wechseln Sie auf einen höheren Tarif, wenn Sie zufrieden sind — der ungenutzte Wert des alten Tarifs geht auf Ihr Guthaben zurück.