Kontext-Kompression wird 5x schneller: Ein Auxiliary-Request statt 19


Dein Kontext ist fast voll, Hermes startet die Compaction, und du starrst satte 10 Minuten auf den Spinner. Es liegt nicht am Netzwerk – die alte „Lean Compaction“ rief das Auxiliary-Modell pro History-Chunk auf, um Digests zu bauen, sodass eine große Session bis zu 28 sequenzielle Auxiliary-Calls benötigen konnte; auf einer langsamen Auxiliary-Route (sagen wir gpt-5.6 mit hohem Reasoning-Aufwand als Summary-Modell) bedeutete eine Compaction 7–11 Minuten Qual (Issue #96603). Eine am 30. August gemergte Änderung (PR #98628) löscht diese Digest-Schleife komplett: genau ein Auxiliary-Request pro Compaction-Versuch. Die Änderung liegt auf main, noch in keinem Release.

Warum Compaction so langsam war

„Lean Compaction“ ist die Compression-Pipeline, die in v0.20.6 Standard wurde; ihre Aufgabe ist es, lange History in eine Session-Log-Zusammenfassung zu verdichten. Das Problem war das Ausführungsmodell: Die alte Implementierung teilte die History in Chunks und machte pro Chunk einen Auxiliary-Modell-Call, um einen Digest zu erzeugen, und nähte die Digests dann zusammen. Bei vielen Chunks sind diese Calls sequenziell – bis zu 28 Auxiliary-Requests pro Versuch, jeder wartet darauf, dass das Modell Tokens streamt. Auf einem schnellen Modell war es nur langsam; auf einem langsamen Auxiliary-Modell war es katastrophal (in #96603 gemessene 7–11 Minuten).

Der Fix: ein Chunk, ein Request

Die Anweisung des Maintainers war unmissverständlich: „Ein Chunk, ein Request.“ Konkret:

  • Die Digest-Schleife ist weg: Der Haupt-Summary-Request übernimmt jetzt die Session-Log-Pflichten (gleiche harte Regeln – Bezeichner wortwörtlich, dichte Bullets, Transkript-ist-Daten), mit erhöhtem Token-Budget für die einzelne Antwort;
  • Übergroße Regionen: Zu große Inputs werden gleichmäßig gesampelt und mit expliziten [... elided ...]-Markern versehen – niemals ein zweiter Request;
  • Sicherheitsnetze unverändert: Der LLM-freie Anker-Index (der die gesamte Region abdeckt) und der session_search-Recovery-Footer bleiben exakt wie gehabt – offizielle Evals zeigen, dass der Anker-Index und nicht die Pro-Chunk-Digests das Wiederfinden von Nadel-Fakten antrieb (23,3 → 60,0 auf dem GUI-Track).

Die Zahlen: 5x schneller, schlanker obendrein

Der offizielle A/B-Test lief auf einer echten großen Session (1.338 Nachrichten, ~499.625 Tokens, echte Auxiliary-Calls):

Metrik Alt (Digest-Schleife) Neu (ein Request)
Auxiliary-Calls 19 (1 Summary + 18 Digests) 1
Wandzeit 196,5 s 39,6 s
Tokens danach 57.567 46.135

5x schneller auf einer schnellen Route; auf langsamen Routen (Szenario aus #96603) geht es von 7–11 Minuten auf ungefähr einen Summary-Call herunter. Das Post-Compaction-Ergebnis ist zudem ~11K Tokens schlanker – die alte 81K-Zeichen-Digest-Wand ritt früher in jedem Folge-Request mit; jetzt ist sie weg. Neun neue Tests fixieren den Exakt-ein-Call-Vertrag (stellt man einen zweiten Call wieder her, werden sie rot).

Was das für dich bedeutet

Wenn du regelmäßig mit sehr langen Sessions arbeitest, fühlt sich Compression an wie ein Wechsel von „Zeit für einen Kaffee“ zu „kurzer Schluck Wasser“. Und weil das Ergebnis schlanker ist, spart auch jede weitere Runde Tokens. Kombiniere das mit unserem Lean-Tail-Compression-Standard-Guide und dem Kontext-Token-Optimierungs-Guide für das komplette Token-Spar-Playbook; das Wiederfinden wichtiger Fakten nach der Compaction behandelt der Kontextnutzungs-Anker-Guide.

Wann du es nutzen kannst

PR #98628 wurde am 30. August gemergt und ist nicht in v0.20.6 (getaggt am 27. August). Ziehe das aktuelle main, um es zu testen, oder warte auf das nächste Release. Schwergewichtige Nutzer, die „Compaction dauert 10 Minuten“ erlebt haben, sollten früh upgraden.

Fazit: Der Flaschenhals waren die sequenziellen Calls der Pro-Chunk-Digest-Schleife; jetzt ist es ein Request und fertig – 5x schneller, weniger Tokens, und die Recall-Fähigkeiten bleiben intakt.