Fundamentals
Контекст
"Контекст" — це все, що OpenClaw надсилає моделі для запуску. Він обмежений контекстним вікном моделі (лімітом токенів).
Ментальна модель для початківців:
- Системний промпт (створений OpenClaw): правила, інструменти, список Skills, час/середовище виконання та впроваджені файли робочого простору.
- Історія розмови: ваші повідомлення + повідомлення асистента для цього сеансу.
- Виклики інструментів/результати + вкладення: вивід команд, читання файлів, зображення/аудіо тощо.
Контекст — це не те саме, що "пам’ять": пам’ять може зберігатися на диску й перезавантажуватися пізніше; контекст — це те, що всередині поточного вікна моделі.
Швидкий старт (перевірка контексту)
/status→ швидкий огляд "наскільки заповнене моє вікно?" + налаштування сеансу./context list→ що впроваджено + приблизні розміри (за файлом + підсумки)./context detail→ глибша розбивка: розміри за файлом, схемами інструментів, записами Skills і системним промптом./context map→ зображення мапи у стилі WinDirStat для відстежуваних внесків у контекст поточного сеансу./usage tokens→ додавати футер використання за відповідь до звичайних відповідей./compact→ підсумувати старішу історію в компактний запис, щоб звільнити простір вікна.
Див. також: Слеш-команди, Використання токенів і витрати, Compaction.
Приклад виводу
Значення залежать від моделі, провайдера, політики інструментів і того, що є у вашому робочому просторі.
/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
Надсилає зображення, згенероване з останнього кешованого звіту запуску. До того, як звичайне повідомлення створить звіт запуску в сеансі, /context map повертає повідомлення про недоступність замість рендерингу оцінки. Площа прямокутника пропорційна відстежуваним символам промпта:
- впроваджені файли робочого простору
- базовий текст системного промпта
- записи промптів Skills
- JSON-схеми інструментів
/context list, /context detail і /context json усе ще можуть перевіряти оцінку на вимогу, коли кешованого звіту запуску немає.
Що враховується в контекстному вікні
Ураховується все, що отримує модель, зокрема:
- Системний промпт (усі розділи).
- Історія розмови.
- Виклики інструментів + результати інструментів.
- Вкладення/транскрипти (зображення/аудіо/файли).
- Підсумки Compaction і артефакти обрізання.
- "Обгортки" провайдера або приховані заголовки (не видимі, але все одно враховуються).
Як OpenClaw формує системний промпт
Системний промпт належить OpenClaw і перебудовується під час кожного запуску. Він містить:
- Список інструментів + короткі описи.
- Список Skills (лише метадані; див. нижче).
- Розташування робочого простору.
- Час (UTC + перетворений час користувача, якщо налаштовано).
- Метадані середовища виконання (хост/ОС/модель/мислення).
- Впроваджені bootstrap-файли робочого простору в розділі Project Context.
Повна розбивка: Системний промпт.
Впроваджені файли робочого простору (Project Context)
За замовчуванням OpenClaw впроваджує фіксований набір файлів робочого простору (якщо вони наявні):
AGENTS.mdSOUL.mdTOOLS.mdIDENTITY.mdUSER.mdHEARTBEAT.mdBOOTSTRAP.md(лише під час першого запуску)
Великі файли обрізаються окремо для кожного файлу за допомогою agents.defaults.bootstrapMaxChars (за замовчуванням 12000 символів). OpenClaw також застосовує загальний ліміт bootstrap-впровадження для всіх файлів через agents.defaults.bootstrapTotalMaxChars (за замовчуванням 60000 символів). /context показує розміри raw vs injected і чи відбулося обрізання.
Коли відбувається обрізання, середовище виконання може впровадити блок попередження безпосередньо в промпт у розділі Project Context. Налаштуйте це за допомогою agents.defaults.bootstrapPromptTruncationWarning (off, once, always; за замовчуванням once).
Skills: впроваджуються чи завантажуються на вимогу
Системний промпт містить компактний список Skills (назва + опис + розташування). Цей список має реальні накладні витрати.
Інструкції Skills не включаються за замовчуванням. Очікується, що модель виконає read для SKILL.md відповідної Skills лише за потреби.
Інструменти: є дві вартості
Інструменти впливають на контекст двома способами:
- Текст списку інструментів у системному промпті (те, що ви бачите як "Tooling").
- Схеми інструментів (JSON). Вони надсилаються моделі, щоб вона могла викликати інструменти. Вони враховуються в контексті, хоча ви не бачите їх як звичайний текст.
/context detail розбиває найбільші схеми інструментів, щоб ви могли побачити, що домінує.
Команди, директиви та "вбудовані скорочення"
Слеш-команди обробляє Gateway. Є кілька різних варіантів поведінки:
- Окремі команди: повідомлення, яке містить лише
/..., виконується як команда. - Директиви:
/think,/verbose,/trace,/reasoning,/elevated,/model,/queueвилучаються до того, як модель побачить повідомлення.- Повідомлення, що містять лише директиви, зберігають налаштування сеансу.
- Вбудовані директиви у звичайному повідомленні діють як підказки для конкретного повідомлення.
- Вбудовані скорочення (лише для дозволених відправників): певні токени
/...усередині звичайного повідомлення можуть виконуватися негайно (приклад: "hey /status") і вилучаються до того, як модель побачить решту тексту.
Докладніше: Слеш-команди.
Сеанси, Compaction і обрізання (що зберігається)
Що зберігається між повідомленнями, залежить від механізму:
- Звичайна історія зберігається в транскрипті сеансу, доки її не буде compacted/pruned за політикою.
- Compaction зберігає підсумок у транскрипті й залишає останні повідомлення без змін.
- Обрізання відкидає старі результати інструментів з підказки в пам’яті, щоб звільнити місце в контекстному вікні, але не переписує транскрипт сеансу - повну історію все ще можна переглянути на диску.
Документація: Сеанс, Compaction, Обрізання сеансу.
За замовчуванням OpenClaw використовує вбудований контекстний рушій legacy для складання та
Compaction. Якщо ви встановите Plugin, який надає kind: "context-engine", і
виберете його через plugins.slots.contextEngine, OpenClaw делегує складання
контексту, /compact і пов’язані хуки життєвого циклу контексту субагентів цьому
рушію. ownsCompaction: false не виконує автоматичного fallback до рушія
legacy; активний рушій усе ще має коректно реалізовувати compact(). Див.
Контекстний рушій, щоб переглянути повний
підключуваний інтерфейс, хуки життєвого циклу та конфігурацію.
Що насправді повідомляє /context
/context надає перевагу останньому побудованому під час запуску звіту системного промпта, коли він доступний:
System prompt (run)= захоплено з останнього вбудованого запуску (з підтримкою інструментів) і збережено в сховищі сеансу.System prompt (estimate)= обчислюється на льоту, коли звіту запуску немає (або під час роботи через CLI-бекенд, який не генерує звіт).
У будь-якому разі він повідомляє розміри й основних учасників; він не виводить повний системний промпт або схеми інструментів.
Пов’язане
Користувацьке впровадження контексту через plugins.
Підсумовування довгих розмов, щоб утримувати їх у вікні моделі.
Як формується системний промпт і що він впроваджує під час кожного ходу.
Повний цикл виконання агента від вхідного повідомлення до фінальної відповіді.