Każdy model ma okno kontekstu: maksymalną liczbę tokenów, które może przetworzyć. Gdy rozmowa zbliża się do tego limitu, OpenClaw przekształca starsze wiadomości w podsumowanie, aby czat mógł być kontynuowany.Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
Jak to działa
- Starsze tury rozmowy są podsumowywane do zwartego wpisu.
- Podsumowanie jest zapisywane w transkrypcie sesji.
- Ostatnie wiadomości pozostają nienaruszone.
toolResult. Jeśli punkt podziału wypadnie wewnątrz bloku narzędzia, OpenClaw przesuwa granicę, aby para pozostała razem, a bieżąca niepodsumowana końcówka została zachowana.
Pełna historia rozmowy pozostaje na dysku. Compaction zmienia tylko to, co model widzi w następnej turze.
Automatyczna Compaction
Automatyczna Compaction jest domyślnie włączona. Uruchamia się, gdy sesja zbliża się do limitu kontekstu albo gdy model zwróci błąd przepełnienia kontekstu (w takim przypadku OpenClaw wykonuje Compaction i ponawia próbę). Zobaczysz:embedded run auto-compaction start/completew zwykłych logach Gateway.🧹 Auto-compaction completew trybie szczegółowym./statuspokazujące🧹 Compactions: <count>.
Przed wykonaniem Compaction OpenClaw automatycznie przypomina agentowi, aby zapisał ważne notatki w plikach pamięci. Zapobiega to utracie kontekstu.
Recognized overflow signatures
Recognized overflow signatures
OpenClaw wykrywa przepełnienie kontekstu na podstawie tych wzorców błędów dostawców:
request_too_largecontext length exceededinput exceeds the maximum number of tokensinput token count exceeds the maximum number of input tokensinput is too long for the modelollama error: context length exceeded
Ręczna Compaction
Wpisz/compact w dowolnym czacie, aby wymusić Compaction. Dodaj instrukcje, aby ukierunkować podsumowanie:
agents.defaults.compaction.keepRecentTokens, ręczna Compaction respektuje ten punkt odcięcia Pi i zachowuje ostatnią końcówkę w odbudowanym kontekście. Bez jawnego budżetu zachowania ręczna Compaction działa jak twardy punkt kontrolny i kontynuuje wyłącznie od nowego podsumowania.
Konfiguracja
Skonfiguruj Compaction wagents.defaults.compaction w swoim openclaw.json. Najczęstsze przełączniki wymieniono poniżej; pełną dokumentację znajdziesz w sekcji Dogłębne omówienie zarządzania sesją.
Używanie innego modelu
Domyślnie Compaction używa podstawowego modelu agenta. Ustawagents.defaults.compaction.model, aby delegować podsumowywanie do bardziej wydajnego lub wyspecjalizowanego modelu. Nadpisanie akceptuje dowolny ciąg provider/model-id:
agents.defaults.compaction.model pozostaje dokładne i nie dziedziczy łańcucha zapasowego sesji.
Zachowywanie identyfikatorów
Podsumowywanie Compaction domyślnie zachowuje nieprzezroczyste identyfikatory (identifierPolicy: "strict"). Nadpisz to przez identifierPolicy: "off", aby wyłączyć, albo identifierPolicy: "custom" wraz z identifierInstructions, aby dodać własne wskazówki.
Ochrona bajtów aktywnego transkryptu
Gdy ustawionoagents.defaults.compaction.maxActiveTranscriptBytes, OpenClaw uruchamia zwykłą lokalną Compaction przed przebiegiem, jeśli aktywny JSONL osiągnie ten rozmiar. Jest to przydatne w długo działających sesjach, w których zarządzanie kontekstem po stronie dostawcy może utrzymywać kontekst modelu w dobrym stanie, podczas gdy lokalny transkrypt nadal rośnie. Nie dzieli surowych bajtów JSONL; prosi zwykły potok Compaction o utworzenie semantycznego podsumowania.
Transkrypty następcze
Gdy włączonoagents.defaults.compaction.truncateAfterCompaction, OpenClaw nie przepisuje istniejącego transkryptu w miejscu. Tworzy nowy aktywny transkrypt następczy z podsumowania Compaction, zachowanego stanu i niepodsumowanej końcówki, a następnie zachowuje poprzedni JSONL jako zarchiwizowane źródło punktu kontrolnego.
Transkrypty następcze usuwają też dokładne duplikaty długich tur użytkownika, które pojawiają się
w krótkim oknie ponownej próby, aby burze ponowień kanału nie były przenoszone do
następnego aktywnego transkryptu po Compaction.
Punkty kontrolne sprzed Compaction są zachowywane tylko wtedy, gdy pozostają poniżej limitu
rozmiaru punktu kontrolnego OpenClaw; zbyt duże aktywne transkrypty nadal podlegają Compaction, ale OpenClaw
pomija duży zrzut debugowania zamiast podwajać użycie dysku.
Powiadomienia Compaction
Domyślnie Compaction działa cicho. UstawnotifyUser, aby pokazywać krótkie komunikaty statusu, gdy Compaction zaczyna się i kończy:
Zrzut pamięci
Przed Compaction OpenClaw może uruchomić cichy zrzut pamięci jako turę, aby zapisać trwałe notatki na dysku. Ustawagents.defaults.compaction.memoryFlush.model, gdy ta tura porządkowa powinna używać modelu lokalnego zamiast aktywnego modelu rozmowy:
Wymienni dostawcy Compaction
Plugins mogą rejestrować niestandardowego dostawcę Compaction przezregisterCompactionProvider() w API pluginu. Gdy dostawca jest zarejestrowany i skonfigurowany, OpenClaw deleguje podsumowywanie do niego zamiast do wbudowanego potoku LLM.
Aby użyć zarejestrowanego dostawcy, ustaw jego identyfikator w konfiguracji:
provider automatycznie wymusza mode: "safeguard". Dostawcy otrzymują te same instrukcje Compaction i zasady zachowywania identyfikatorów co ścieżka wbudowana, a OpenClaw nadal zachowuje kontekst ostatnich tur i sufiksu przerwanej tury po wyjściu dostawcy.
Jeśli dostawca zawiedzie lub zwróci pusty wynik, OpenClaw wróci do wbudowanego podsumowywania LLM.
Compaction a przycinanie
| Compaction | Przycinanie | |
|---|---|---|
| Co robi | Podsumowuje starszą rozmowę | Przycina stare wyniki narzędzi |
| Zapisane? | Tak (w transkrypcie sesji) | Nie (tylko w pamięci, na żądanie) |
| Zakres | Cała rozmowa | Tylko wyniki narzędzi |
Rozwiązywanie problemów
Compaction uruchamia się zbyt często? Okno kontekstu modelu może być małe albo dane wyjściowe narzędzi mogą być duże. Spróbuj włączyć przycinanie sesji. Kontekst po Compaction wydaje się nieaktualny? Użyj/compact Focus on <topic>, aby ukierunkować podsumowanie, albo włącz zrzut pamięci, aby notatki przetrwały.
Potrzebujesz czystego startu? /new rozpoczyna nową sesję bez Compaction.
Zaawansowaną konfigurację (zarezerwowane tokeny, zachowywanie identyfikatorów, niestandardowe silniki kontekstu, serwerowa Compaction OpenAI) znajdziesz w sekcji Dogłębne omówienie zarządzania sesją.
Powiązane
- Sesja: zarządzanie sesją i cykl życia.
- Przycinanie sesji: przycinanie wyników narzędzi.
- Kontekst: jak budowany jest kontekst dla tur agenta.
- Haki: haki cyklu życia Compaction (
before_compaction,after_compaction).