Kompaktierung
Jedes Modell hat ein Kontextfenster — die maximale Anzahl an Tokens, die es verarbeiten kann. Wenn sich eine Unterhaltung dieser Grenze nähert, kompaktiert OpenClaw ältere Nachrichten zu einer Zusammenfassung, damit der Chat fortgesetzt werden kann.So funktioniert es
- Ältere Gesprächsverläufe werden zu einem kompakten Eintrag zusammengefasst.
- Die Zusammenfassung wird im Sitzungsprotokoll gespeichert.
- Neuere Nachrichten bleiben unverändert erhalten.
toolResult-Einträgen gepaart. Wenn ein Teilungspunkt
innerhalb eines Tool-Blocks landet, verschiebt OpenClaw die Grenze, damit das Paar zusammenbleibt und
das aktuelle, nicht zusammengefasste Ende erhalten bleibt.
Der vollständige Unterhaltungsverlauf bleibt auf dem Datenträger gespeichert. Die Kompaktierung ändert nur, was das
Modell im nächsten Zug sieht.
Automatische Kompaktierung
Die automatische Kompaktierung ist standardmäßig aktiviert. Sie wird ausgeführt, wenn sich die Sitzung der Kontextgrenze nähert oder wenn das Modell einen Kontextüberlauffehler zurückgibt (in diesem Fall kompaktiert OpenClaw und versucht es erneut). Typische Überlauf-Signaturen sindrequest_too_large, context length exceeded, input exceeds the maximum number of tokens, input token count exceeds the maximum number of input tokens, input is too long for the model und ollama error: context length exceeded.
Bevor kompaktieret wird, erinnert OpenClaw den Agenten automatisch daran, wichtige
Notizen in memory-Dateien zu speichern. Das verhindert Kontextverlust.
agents.defaults.compaction in Ihrer openclaw.json, um das Verhalten der Kompaktierung zu konfigurieren (Modus, Ziel-Tokens usw.).
Die Zusammenfassung bei der Kompaktierung bewahrt standardmäßig intransparente Bezeichner (identifierPolicy: "strict"). Sie können dies mit identifierPolicy: "off" überschreiben oder mit identifierPolicy: "custom" und identifierInstructions eigenen Text bereitstellen.
Optional können Sie über agents.defaults.compaction.model ein anderes Modell für die Kompaktierungszusammenfassung angeben. Das ist nützlich, wenn Ihr primäres Modell ein lokales oder kleines Modell ist und Sie möchten, dass die Kompaktierungszusammenfassungen von einem leistungsfähigeren Modell erstellt werden. Die Überschreibung akzeptiert jede Zeichenfolge im Format provider/model-id:
Austauschbare Kompaktierungsanbieter
Plugins können überregisterCompactionProvider() in der Plugin-API einen benutzerdefinierten Kompaktierungsanbieter registrieren. Wenn ein Anbieter registriert und konfiguriert ist, delegiert OpenClaw die Zusammenfassung an ihn statt an die integrierte LLM-Pipeline.
Um einen registrierten Anbieter zu verwenden, setzen Sie die Anbieter-ID in Ihrer Konfiguration:
provider erzwingt automatisch mode: "safeguard". Anbieter erhalten dieselben Kompaktierungsanweisungen und dieselbe Richtlinie zur Bewahrung von Bezeichnern wie der integrierte Pfad, und OpenClaw bewahrt nach der Anbieterausgabe weiterhin den Suffix-Kontext von aktuellen und geteilten Gesprächszügen. Wenn der Anbieter fehlschlägt oder ein leeres Ergebnis zurückgibt, greift OpenClaw auf die integrierte LLM-Zusammenfassung zurück.
Automatische Kompaktierung (standardmäßig aktiviert)
Wenn sich eine Sitzung dem Kontextfenster des Modells nähert oder es überschreitet, löst OpenClaw die automatische Kompaktierung aus und versucht die ursprüngliche Anfrage möglicherweise mit dem kompaktierten Kontext erneut. Sie sehen dann:🧹 Auto-compaction completeim ausführlichen Modus/status, das🧹 Compactions: <count>anzeigt
Manuelle Kompaktierung
Geben Sie/compact in einem beliebigen Chat ein, um eine Kompaktierung zu erzwingen. Fügen Sie Anweisungen hinzu, um
die Zusammenfassung zu steuern:
Verwendung eines anderen Modells
Standardmäßig verwendet die Kompaktierung das primäre Modell Ihres Agenten. Sie können ein leistungsfähigeres Modell für bessere Zusammenfassungen verwenden:Hinweis zum Start der Kompaktierung
Standardmäßig läuft die Kompaktierung still im Hintergrund. Um einen kurzen Hinweis anzuzeigen, wenn die Kompaktierung beginnt, aktivieren SienotifyUser:
Kompaktierung vs. Pruning
| Kompaktierung | Pruning | |
|---|---|---|
| Was sie tut | Fasst ältere Unterhaltungen zusammen | Kürzt alte Tool-Ergebnisse |
| Gespeichert? | Ja (im Sitzungsprotokoll) | Nein (nur im Speicher, pro Anfrage) |
| Umfang | Gesamte Unterhaltung | Nur Tool-Ergebnisse |
Fehlerbehebung
Zu häufige Kompaktierung? Das Kontextfenster des Modells könnte klein sein, oder Tool- Ausgaben könnten groß sein. Versuchen Sie, session pruning zu aktivieren. Der Kontext wirkt nach der Kompaktierung veraltet? Verwenden Sie/compact Focus on <topic>, um
die Zusammenfassung zu steuern, oder aktivieren Sie den memory flush, damit Notizen
erhalten bleiben.
Sie brauchen einen Neustart? /new startet eine neue Sitzung ohne Kompaktierung.
Für die erweiterte Konfiguration (reservierte Tokens, Bezeichnerbewahrung, benutzerdefinierte
Kontext-Engines, serverseitige OpenAI-Kompaktierung) siehe den
Session Management Deep Dive.
Verwandt
- Session — Sitzungsverwaltung und Lebenszyklus
- Session Pruning — Tool-Ergebnisse kürzen
- Context — wie Kontext für Agentenzüge aufgebaut wird
- Hooks — Hooks für den Kompaktierungslebenszyklus (before_compaction, after_compaction)