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 повертає повідомлення про недоступність замість відтворення приблизної оцінки. Площа прямокутника пропорційна кількості відстежуваних символів промпту:
- стенограма розмови (повідомлення користувача, відповіді асистента, результати інструментів, підсумки Compaction), а також контекст середовища виконання для кожного ходу й доповнення промпту від хуків, які надходять лише моделі
- додані файли робочого простору
- базовий текст системного промпту
- записи промптів Skills
- JSON-схеми інструментів
Група розмови збільшується разом із сеансом, тому мапа змінюється від ходу до ходу; після Compaction вона згортається в плитку підсумків.
/context list, /context detail і /context json усе ще можуть показати оцінку, обчислену на вимогу, якщо звіт виконання не кешовано.
Що враховується в контекстному вікні
Враховується все, що отримує модель, зокрема:
- Системний промпт (усі розділи).
- Історія розмови.
- Виклики інструментів і їхні результати.
- Вкладення та стенограми (зображення, аудіо, файли).
- Підсумки Compaction та артефакти очищення.
- «Обгортки» постачальника або приховані заголовки (невидимі, але все одно враховуються).
Як OpenClaw створює системний промпт
Системний промпт належить OpenClaw і перебудовується під час кожного виконання. Він містить:
- Список інструментів і короткі описи.
- Список Skills (лише метадані; дивіться нижче).
- Розташування робочого простору.
- Час (UTC і перетворений локальний час користувача, якщо налаштовано).
- Метадані середовища виконання (хост, ОС, модель, режим міркування).
- Початкові файли робочого простору, додані в розділі Контекст проєкту.
Повна розбивка: Системний промпт.
Додані файли робочого простору (Контекст проєкту)
За замовчуванням OpenClaw додає фіксований набір файлів робочого простору (якщо вони існують):
AGENTS.mdSOUL.mdTOOLS.mdIDENTITY.mdUSER.mdHEARTBEAT.mdBOOTSTRAP.md(лише під час першого запуску)
Великі файли обрізаються окремо відповідно до agents.defaults.bootstrapMaxChars (типове значення — 20000 символів). OpenClaw також застосовує загальний ліміт додавання початкових даних для всіх файлів через agents.defaults.bootstrapTotalMaxChars (типове значення — 60000 символів). /context показує початковий і доданий розміри, а також факт обрізання.
Коли відбувається обрізання, середовище виконання може додати в промпт блок попередження в розділі «Контекст проєкту». Налаштуйте це за допомогою agents.defaults.bootstrapPromptTruncationWarning (off, once, always; типове значення — always).
Skills: додані та завантажені на вимогу
Системний промпт містить компактний список Skills (назва, опис і розташування). Цей список створює реальні накладні витрати.
Інструкції Skills за замовчуванням не додаються. Очікується, що модель read файл SKILL.md відповідної Skills лише за потреби.
Інструменти: два типи витрат
Інструменти впливають на контекст двома способами:
- Текст списку інструментів у системному промпті (те, що ви бачите як «Інструментарій»).
- Схеми інструментів (JSON). Вони надсилаються моделі, щоб вона могла викликати інструменти. Вони враховуються в контексті, хоча ви не бачите їх як звичайний текст.
/context detail показує розбивку найбільших схем інструментів, щоб ви могли побачити, що переважає.
Команди, директиви та «вбудовані скорочення»
Команди з косою рискою обробляє Gateway. Існує кілька різних варіантів поведінки:
- Окремі команди: повідомлення, що містить лише
/..., виконується як команда. - Директиви:
/think,/fast,/verbose,/trace,/reasoning,/elevated,/exec,/model,/queueвидаляються до того, як модель побачить повідомлення.- Повідомлення, що містять лише директиви, зберігають налаштування сеансу.
- Вбудовані директиви у звичайному повідомленні діють як підказки для окремого повідомлення.
- Вбудовані скорочення (лише для відправників зі списку дозволених): певні токени
/...усередині звичайного повідомлення можуть виконуватися негайно (наприклад: «привіт /status») і видаляються до того, як модель побачить решту тексту.
Докладніше: Команди з косою рискою.
Сеанси, Compaction та очищення (що зберігається)
Те, що зберігається між повідомленнями, залежить від механізму:
- Звичайна історія зберігається в стенограмі сеансу, доки її не буде стиснуто або очищено відповідно до політики.
- Compaction зберігає підсумок у стенограмі й залишає останні повідомлення без змін.
- Очищення вилучає старі результати інструментів із промпту в пам’яті, щоб звільнити місце в контекстному вікні, але не переписує стенограму сеансу — повну історію все ще можна переглянути на диску.
Документація: Сеанс, Compaction, Очищення сеансу.
За замовчуванням OpenClaw використовує вбудований механізм контексту legacy для складання та
Compaction. Якщо встановити plugin, який надає kind: "context-engine", і
вибрати його через plugins.slots.contextEngine, OpenClaw передасть цьому
механізму складання контексту, /compact і пов’язані хуки життєвого циклу контексту
підлеглих агентів. ownsCompaction: false не вмикає автоматичне повернення до механізму
legacy; активний механізм усе одно повинен правильно реалізовувати compact(). Повний
змінний інтерфейс, хуки життєвого циклу та конфігурацію наведено в розділі
Механізм контексту.
Що насправді показує /context
За наявності /context віддає перевагу останньому звіту системного промпту, створеному під час виконання:
System prompt (run)= отримано з останнього вбудованого виконання (з підтримкою інструментів) і збережено в сховищі сеансу.System prompt (estimate)= обчислюється безпосередньо, коли звіт виконання відсутній (або під час виконання через серверну частину CLI, яка не створює звіт).
У будь-якому разі він показує розміри та основні складники; він не виводить повний системний промпт або схеми інструментів. У докладному режимі він також порівнює стенограму сеансу за тим самим предикатом справжніх повідомлень розмови, який використовує Compaction, тому високе використання промпту або кешу легше відрізнити від історії розмови, яку можна стиснути.
Пов’язані матеріали
Власне додавання контексту через plugins.
Підсумовування довгих розмов, щоб вони залишалися в межах вікна моделі.
Як створюється системний промпт і що він додає під час кожного ходу.
Повний цикл виконання агента — від вхідного повідомлення до остаточної відповіді.