Anthropic & Claude

Compaction auf Abruf: Die Messages API fasst zusammen, wann du willst

3 Min. Lesezeit KI-generiert

Der Aufruf gibt keine Antwort zurück, nur einen signierten Block. Abgerechnet und rate-limitiert wird er trotzdem wie jede andere Anfrage.

Featured image for "Compaction auf Abruf: Die Messages API fasst zusammen, wann du willst"

Anthropic hat gestern eine zweite Art der Compaction in die Messages API gebracht, als Beta hinter dem Header compact-2026-09-04. Der Unterschied zur bisherigen Variante klingt nach einer Kleinigkeit und ist für Agenten keine.

Vorher: die Schwelle entscheidet

Bisher lief Compaction über eine Schwelle. Man setzt compact_20260112 in context_management.edits, gibt einen Wert für input_tokens an – voreingestellt sind 150.000, weniger als 50.000 sind nicht erlaubt – und die API fasst mitten in einer Anfrage zusammen, sobald der Wert erreicht ist. Der entstehende Block hängt hinter den Nachrichten, die er zusammenfasst.

Das funktioniert. Aber der Zeitpunkt gehört der API, nicht dir, und während zusammengefasst wird, wartet die Anfrage.

Jetzt: du fragst, wann es dir passt

Neu ist ein Parameter auf oberster Ebene: compaction: {"type": "summarize"}. Die API fasst dann alles zusammen, was in der Anfrage steht, schreibt keine Antwort dazu und liefert einen einzelnen signierten Block zurück, mit stop_reason: "compaction".

Dieser Block ersetzt die Nachrichten, statt hinter ihnen zu stehen. Ab dann schickst du ihn ganz vorn, dahinter nur noch die Züge seit der Zusammenfassung. Wer die alten Nachrichten trotzdem davor stehen lässt, bekommt einen 400er.

Daraus ergeben sich drei Dinge, die vorher nicht gingen. Du bestimmst den Zeitpunkt. Die Zusammenfassung kann im Hintergrund entstehen, während das Gespräch auf der vollen Historie weiterläuft, und du tauschst den Block ein, wenn er fertig ist. Und die letzten Züge dürfen wörtlich hinter der Zusammenfassung stehen bleiben.

Was man beim Einbauen wissen sollte

Der Aufruf nutzt Modell, System-Prompt, Tools, Thinking-Einstellungen und max_tokens der Anfrage. Der Summarizer liest die Tool-Definitionen, ruft aber nie eines auf. Wichtig: max_tokens deckelt den ganzen Aufruf, also auch das Nachdenken vor dem Schreiben – ein paar tausend Tokens sollte man einplanen.

Oben in usage stehen null Input- und Output-Tokens, weil keine Antwort erzeugt wurde; der tatsächliche Verbrauch steht in usage.iterations als compaction-Eintrag. Endet der letzte Assistant-Zug in einem Tool-Aufruf ohne Ergebnis, weist die API die Anfrage ab. Und compaction und context_management lassen sich nicht in derselben Anfrage kombinieren.

Verfügbar ist das Ganze nur über die Claude API, dort auf Opus 5, Opus 4.8, 4.7 und 4.6, Sonnet 5 und 4.6 sowie den Fable- und Mythos-Modellen.

Der eigentliche Gewinn liegt beim Denken

Der Satz, auf den es ankommt, steht weit unten in der Doku: Bei Modellen mit erhaltenem Thinking bleiben die Denkblöcke der Züge, die hinter der Zusammenfassung stehen, nach dem Tausch gültig.

Wer schon einmal einen Agenten über Stunden laufen lassen hat, weiß, warum das zählt. Der Moment der Verdichtung war bisher immer auch ein Bruch: Der Kontext wird kleiner, und die Gedankenkette der letzten Schritte ist weg. Dass ein Agent seinen Faden über die Zusammenfassung hinweg behalten kann, ist mehr wert als jeder gesparte Token.

Quellen

AnthropicClaude APIKontextAgenten