Fundamentals
Kontekst
„Kontekst” to wszystko, co OpenClaw wysyła do modelu podczas wykonania. Jego rozmiar jest ograniczony przez okno kontekstowe modelu (limit tokenów).
Prosty model pojęciowy dla początkujących:
- Prompt systemowy (tworzony przez OpenClaw): reguły, narzędzia, lista Skills, czas/środowisko uruchomieniowe oraz wstrzyknięte pliki przestrzeni roboczej.
- Historia konwersacji: Twoje wiadomości i wiadomości asystenta w tej sesji.
- Wywołania/wyniki narzędzi i załączniki: dane wyjściowe poleceń, odczytane pliki, obrazy/dźwięk itp.
Kontekst nie jest tym samym co „pamięć”: pamięć można zapisać na dysku i wczytać później, natomiast kontekst jest zawartością bieżącego okna modelu.
Szybki start (inspekcja kontekstu)
/status→ szybki podgląd „jak pełne jest moje okno?” oraz ustawień sesji./context list→ co zostało wstrzyknięte i przybliżone rozmiary (dla poszczególnych plików i łącznie)./context detail→ bardziej szczegółowy podział: rozmiary poszczególnych plików, schematów narzędzi i wpisów Skills, rozmiar promptu systemowego oraz liczba wiadomości transkrypcji możliwych do skompaktowania./context map→ obraz mapy prostokątów w stylu WinDirStat przedstawiający śledzone składniki kontekstu bieżącej sesji./usage tokens→ dodaje do zwykłych odpowiedzi stopkę z użyciem tokenów dla każdej odpowiedzi./compact→ podsumowuje starszą historię w kompaktowym wpisie, aby zwolnić miejsce w oknie.
Zobacz także: Polecenia z ukośnikiem, Użycie tokenów i koszty, Compaction.
Przykładowe dane wyjściowe
Wartości różnią się zależnie od modelu, dostawcy, zasad użycia narzędzi i zawartości przestrzeni roboczej.
/context list
🧠 Context breakdownWorkspace: <workspaceDir>Bootstrap max/file: 12,000 charsSandbox: mode=non-main sandboxed=falseSystem prompt (run): 38,412 chars (~9,603 tok) (Project Context 23,901 chars (~5,976 tok)) Injected workspace files:- AGENTS.md: OK | raw 1,742 chars (~436 tok) | injected 1,742 chars (~436 tok)- SOUL.md: OK | raw 912 chars (~228 tok) | injected 912 chars (~228 tok)- TOOLS.md: TRUNCATED | raw 54,210 chars (~13,553 tok) | injected 20,962 chars (~5,241 tok)- IDENTITY.md: OK | raw 211 chars (~53 tok) | injected 211 chars (~53 tok)- USER.md: OK | raw 388 chars (~97 tok) | injected 388 chars (~97 tok)- HEARTBEAT.md: MISSING | raw 0 | injected 0- BOOTSTRAP.md: OK | raw 0 chars (~0 tok) | injected 0 chars (~0 tok) Skills list (system prompt text): 2,184 chars (~546 tok) (12 skills)Tools: read, edit, write, exec, process, browser, message, sessions_send, …Tool list (system prompt text): 1,032 chars (~258 tok)Tool schemas (JSON): 31,988 chars (~7,997 tok) (counts toward context; not shown as text)Tools: (same as above) Session tokens (cached): 14,250 total / ctx=32,000/context detail
🧠 Context breakdown (detailed)…Top skills (prompt entry size):- frontend-design: 412 chars (~103 tok)- oracle: 401 chars (~101 tok)… (+10 more skills) Top tools (schema size):- browser: 9,812 chars (~2,453 tok)- exec: 6,240 chars (~1,560 tok)… (+N more tools)/context map
Wysyła obraz wygenerowany na podstawie najnowszego raportu wykonania z pamięci podręcznej oraz transkrypcji sesji. Zanim zwykła wiadomość wygeneruje raport wykonania w sesji, /context map zamiast renderować oszacowanie zwraca komunikat o niedostępności. Pole prostokąta jest proporcjonalne do liczby śledzonych znaków promptu:
- transkrypcja konwersacji (wiadomości użytkownika, odpowiedzi asystenta, wyniki narzędzi, podsumowania Compaction), a także kontekst środowiska uruchomieniowego dla poszczególnych tur oraz dodatki promptu z hooków, które trafiają wyłącznie do modelu
- wstrzyknięte pliki przestrzeni roboczej
- bazowy tekst promptu systemowego
- wpisy promptów Skills
- schematy JSON narzędzi
Grupa konwersacji rośnie wraz z sesją, dlatego mapa zmienia się z każdą turą; po Compaction zostaje zredukowana do kafelka podsumowań.
/context list, /context detail i /context json nadal mogą sprawdzić oszacowanie obliczane na żądanie, gdy w pamięci podręcznej nie ma raportu wykonania.
Co wlicza się do okna kontekstowego
Wlicza się wszystko, co otrzymuje model, w tym:
- Prompt systemowy (wszystkie sekcje).
- Historia konwersacji.
- Wywołania i wyniki narzędzi.
- Załączniki/transkrypcje (obrazy/dźwięk/pliki).
- Podsumowania Compaction i artefakty przycinania.
- „Otoczki” dostawcy lub ukryte nagłówki (niewidoczne, ale nadal wliczane).
Jak OpenClaw tworzy prompt systemowy
Prompt systemowy jest własnością OpenClaw i jest tworzony od nowa przy każdym wykonaniu. Obejmuje:
- Listę narzędzi i krótkie opisy.
- Listę Skills (tylko metadane; patrz niżej).
- Lokalizację przestrzeni roboczej.
- Czas (UTC oraz przeliczony czas użytkownika, jeśli został skonfigurowany).
- Metadane środowiska uruchomieniowego (host/system operacyjny/model/tryb rozumowania).
- Pliki inicjalizacyjne przestrzeni roboczej wstrzyknięte w sekcji Kontekst projektu.
Pełny podział: Prompt systemowy.
Wstrzyknięte pliki przestrzeni roboczej (Kontekst projektu)
Domyślnie OpenClaw wstrzykuje stały zestaw plików przestrzeni roboczej (jeśli istnieją):
AGENTS.mdSOUL.mdTOOLS.mdIDENTITY.mdUSER.mdHEARTBEAT.mdBOOTSTRAP.md(tylko przy pierwszym uruchomieniu)
Duże pliki są osobno obcinane zgodnie z agents.defaults.bootstrapMaxChars (domyślnie 20000 znaków). OpenClaw wymusza również łączny limit wstrzykiwania plików inicjalizacyjnych określony przez agents.defaults.bootstrapTotalMaxChars (domyślnie 60000 znaków). /context pokazuje rozmiary pierwotne i wstrzyknięte oraz informację, czy nastąpiło obcięcie.
Gdy nastąpi obcięcie, środowisko uruchomieniowe może wstrzyknąć blok ostrzeżenia bezpośrednio do promptu w sekcji Kontekst projektu. Skonfiguruj to za pomocą agents.defaults.bootstrapPromptTruncationWarning (off, once, always; domyślnie always).
Skills: wstrzykiwane a ładowane na żądanie
Prompt systemowy zawiera kompaktową listę Skills (nazwa, opis i lokalizacja). Ta lista powoduje rzeczywiste obciążenie.
Instrukcje Skills nie są domyślnie uwzględniane. Model powinien użyć read, aby odczytać plik SKILL.md danej Skills tylko wtedy, gdy jest potrzebny.
Narzędzia: dwa rodzaje kosztów
Narzędzia wpływają na kontekst na dwa sposoby:
- Tekst listy narzędzi w prompcie systemowym (widoczny jako „Narzędzia”).
- Schematy narzędzi (JSON). Są one wysyłane do modelu, aby mógł wywoływać narzędzia. Wliczają się do kontekstu, mimo że nie są widoczne jako zwykły tekst.
/context detail przedstawia największe schematy narzędzi, dzięki czemu można zobaczyć, które z nich dominują.
Polecenia, dyrektywy i „skróty wbudowane”
Polecenia z ukośnikiem są obsługiwane przez Gateway. Występuje kilka różnych zachowań:
- Samodzielne polecenia: wiadomość zawierająca wyłącznie
/...jest wykonywana jako polecenie. - Dyrektywy:
/think,/fast,/verbose,/trace,/reasoning,/elevated,/exec,/model,/queuesą usuwane, zanim model zobaczy wiadomość.- Wiadomości zawierające wyłącznie dyrektywy zapisują ustawienia sesji.
- Dyrektywy wbudowane w zwykłą wiadomość działają jako wskazówki dotyczące pojedynczej wiadomości.
- Skróty wbudowane (tylko nadawcy z listy dozwolonych): niektóre tokeny
/...wewnątrz zwykłej wiadomości mogą zostać wykonane natychmiast (przykład: „hej /status”), po czym są usuwane, zanim model zobaczy pozostały tekst.
Szczegóły: Polecenia z ukośnikiem.
Sesje, Compaction i przycinanie (co jest zachowywane)
To, co jest zachowywane między wiadomościami, zależy od mechanizmu:
- Zwykła historia jest zachowywana w transkrypcji sesji, dopóki nie zostanie skompaktowana lub przycięta zgodnie z zasadami.
- Compaction zapisuje podsumowanie w transkrypcji i zachowuje ostatnie wiadomości bez zmian.
- Przycinanie usuwa stare wyniki narzędzi z promptu przechowywanego w pamięci, aby zwolnić miejsce w oknie kontekstowym, ale nie modyfikuje transkrypcji sesji — pełną historię nadal można sprawdzić na dysku.
Dokumentacja: Sesja, Compaction, Przycinanie sesji.
Domyślnie OpenClaw używa wbudowanego silnika kontekstu legacy do składania i
Compaction. Jeśli zainstalujesz plugin udostępniający kind: "context-engine" i
wybierzesz go za pomocą plugins.slots.contextEngine, OpenClaw deleguje do tego
silnika składanie kontekstu, /compact oraz powiązane hooki cyklu życia kontekstu
podagentów. ownsCompaction: false nie powoduje automatycznego powrotu do silnika
legacy; aktywny silnik nadal musi prawidłowo implementować compact(). Zobacz
Silnik kontekstu, aby poznać pełny
wymienny interfejs, hooki cyklu życia i konfigurację.
Co faktycznie raportuje /context
Gdy jest dostępny, /context preferuje najnowszy raport promptu systemowego utworzony podczas wykonania:
System prompt (run)= przechwycony podczas ostatniego osadzonego wykonania (obsługującego narzędzia) i zapisany w magazynie sesji.System prompt (estimate)= obliczany na bieżąco, gdy raport wykonania nie istnieje (lub podczas działania przez backend CLI, który nie generuje raportu).
W obu przypadkach raportowane są rozmiary i najwięksi współtwórcy; polecenie nie wyświetla pełnego promptu systemowego ani schematów narzędzi. W trybie szczegółowym porównuje również transkrypcję sesji przy użyciu tego samego predykatu rzeczywistych wiadomości konwersacji, którego używa Compaction, dzięki czemu łatwiej odróżnić wysokie użycie promptu/pamięci podręcznej od historii konwersacji możliwej do skompaktowania.
Powiązane
Niestandardowe wstrzykiwanie kontekstu za pośrednictwem pluginów.
Podsumowywanie długich konwersacji, aby mieściły się w oknie modelu.
Jak tworzony jest prompt systemowy i co wstrzykuje w każdej turze.
Pełny cykl wykonania agenta, od wiadomości przychodzącej do końcowej odpowiedzi.