Das Pruning erfolgt nur im Arbeitsspeicher – es verändert das auf dem Datenträger gespeicherte Sitzungsprotokoll nicht. Ihr vollständiger Verlauf bleibt stets erhalten.
Warum es wichtig ist
In langen Sitzungen sammeln sich Tool-Ausgaben an, die das Kontextfenster vergrößern. Dies erhöht die Kosten und kann eine Compaction früher als nötig erzwingen. Pruning ist besonders wertvoll für das Prompt-Caching von Anthropic. Nachdem die Cache-TTL abgelaufen ist, speichert die nächste Anfrage den vollständigen Prompt erneut im Cache. Pruning reduziert die Größe des Cache-Schreibvorgangs und senkt dadurch direkt die Kosten.Funktionsweise
Pruning wird im Moduscache-ttl ausgeführt und hängt sowohl von einer Zeitprüfung als auch von einer Prüfung der Kontextgröße ab:
- Warten Sie, bis die Cache-TTL abgelaufen ist (standardmäßig 5 Minuten bei manueller Festlegung; den automatischen Anthropic-Standardwert finden Sie unter Intelligente Standardwerte). Vor Ablauf der TTL wird das Pruning vollständig übersprungen, damit der Prompt-Cache für zeitlich nahe aufeinanderfolgende Interaktionen wiederverwendet werden kann.
- Nach Ablauf der TTL wird die Gesamtkontextgröße im Verhältnis zum Kontextfenster des Modells geschätzt. Liegt das Verhältnis unter
softTrimRatio(standardmäßig 0.3), wird das Pruning übersprungen und die TTL-Uhr läuft weiter. - Soft-Trim für übergroße Tool-Ergebnisse oberhalb des Verhältnisses: Anfang und Ende werden beibehalten (standardmäßig jeweils 1500 Zeichen, zusammen auf 4000 Zeichen begrenzt) und dazwischen wird
...eingefügt. - Wenn das Verhältnis weiterhin mindestens
hardClearRatio(standardmäßig 0.5) beträgt und mindestensminPrunableToolChars(standardmäßig 50,000) an kürzbaren Tool-Inhalten verbleiben, werden diese Ergebnisse vollständig gelöscht: Ihr Inhalt wird durch einen Platzhalter ersetzt (standardmäßig[Old tool result content cleared]). - Die TTL-Uhr wird nur zurückgesetzt, wenn das Pruning den Kontext tatsächlich verändert hat, sodass Folgeanfragen den neuen Cache wiederverwenden.
keepLastAssistants Assistant-Interaktionen (standardmäßig 3) werden niemals gekürzt, und Inhalte vor der ersten Benutzernachricht der Sitzung werden ebenfalls niemals gekürzt (dies schützt initiale Lesevorgänge wie SOUL.md/USER.md).
Nur Nachrichten vom Typ toolResult kommen infrage; normaler Konversationstext bleibt unverändert. Mit agents.defaults.contextPruning.tools.{allow,deny} legen Sie fest, welche Tool-Namen gekürzt werden dürfen.
Bereinigung älterer Bilder
OpenClaw erstellt außerdem eine separate idempotente Wiedergabeansicht für Sitzungen, in deren Verlauf rohe Bildblöcke oder Medienmarker zur Prompt-Hydration gespeichert sind.- Sie behält die 3 neuesten abgeschlossenen Interaktionen Byte für Byte bei, damit die Präfixe des Prompt-Caches für kürzlich erfolgte Folgeanfragen stabil bleiben. Diese Anzahl umfasst alle abgeschlossenen Interaktionen, nicht nur solche mit Bildern; daher belegen auch reine Textinteraktionen das Fenster.
- In der Wiedergabeansicht werden ältere, bereits verarbeitete Bildblöcke aus dem Verlauf von
userodertoolResultdurch[image data removed - already processed by model]ersetzt. - Ältere textuelle Medienverweise wie
[media attached: ...],[Image: source: ...]undmedia://inbound/...werden durch[media reference removed - already processed by model]ersetzt. Anhangsmarker der aktuellen Interaktion bleiben unverändert, damit Vision-Modelle weiterhin neue Bilder laden können. - Das rohe Sitzungsprotokoll wird nicht umgeschrieben, sodass Verlaufsansichten weiterhin die ursprünglichen Nachrichteneinträge und deren Bilder darstellen können.
- Dies erfolgt unabhängig vom oben beschriebenen normalen Cache-TTL-Pruning. Es verhindert, dass wiederholte Bildnutzlasten oder veraltete Medienverweise bei späteren Interaktionen den Prompt-Cache ungültig machen.
Intelligente Standardwerte
Das mitgelieferte Anthropic-Plugin konfiguriert beim erstmaligen Auflösen eines Authentifizierungsprofils für Anthropic (oder die Claude CLI) automatisch das Pruning und den Heartbeat-Takt, jedoch nur für Felder, die Sie nicht bereits explizit festgelegt haben:
Wenn Sie
agents.defaults.contextPruning.mode oder agents.defaults.heartbeat.every selbst festlegen, überschreibt OpenClaw diese Werte nicht. Dieser automatische Standardwert wird nur bei Authentifizierung für die Anthropic-Familie angewendet; bei anderen Providern ist das Pruning off, sofern Sie es nicht konfigurieren.
Aktivieren oder deaktivieren
Für Provider außerhalb der Anthropic-Familie ist das Pruning standardmäßig deaktiviert. So aktivieren Sie es:mode: "off".
Pruning im Vergleich zur Compaction
Beide ergänzen einander – Pruning hält Tool-Ausgaben zwischen Compaction-Zyklen kompakt.
Weiterführende Informationen
- Compaction: kontextreduzierende Zusammenfassung
- Gateway-Konfiguration: alle Konfigurationsoptionen für das Pruning (
contextPruning.*)