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 (за замовчуванням 20000 символів). OpenClaw також застосовує загальний ліміт bootstrap-додавання для всіх файлів через agents.defaults.bootstrapTotalMaxChars (за замовчуванням 60000 символів). /context показує розміри raw vs injected і чи відбулося обрізання.
Коли відбувається обрізання, середовище виконання може додати блок попередження в промпт під Project Context. Налаштуйте це через agents.defaults.bootstrapPromptTruncationWarning (off, once, always; за замовчуванням always).
Skills: додані чи завантажені на вимогу
Системний промпт містить компактний список Skills (назва + опис + розташування). Цей список має реальне накладне навантаження.
Інструкції Skill не включаються за замовчуванням. Очікується, що модель read SKILL.md Skill лише за потреби.
Інструменти: є дві вартості
Інструменти впливають на контекст двома способами:
- Текст списку інструментів у системному промпті (те, що ви бачите як "Tooling").
- Схеми інструментів (JSON). Вони надсилаються моделі, щоб вона могла викликати інструменти. Вони враховуються в контексті, хоча ви не бачите їх як звичайний текст.
/context detail розбиває найбільші схеми інструментів, щоб ви бачили, що домінує.
Команди, директиви та "вбудовані скорочення"
Команди зі скісною рискою обробляє Gateway. Є кілька різних типів поведінки:
- Окремі команди: повідомлення, яке містить лише
/..., виконується як команда. - Директиви:
/think,/verbose,/trace,/reasoning,/elevated,/model,/queueвидаляються до того, як модель побачить повідомлення.- Повідомлення, що містять лише директиви, зберігають налаштування сеансу.
- Вбудовані директиви у звичайному повідомленні діють як підказки для окремого повідомлення.
- Вбудовані скорочення (лише дозволені відправники): певні токени
/...всередині звичайного повідомлення можуть виконуватися негайно (приклад: "hey /status") і видаляються до того, як модель побачить решту тексту.
Докладніше: Команди зі скісною рискою.
Сеанси, Compaction і обрізання (що зберігається)
Те, що зберігається між повідомленнями, залежить від механізму:
- Звичайна історія зберігається в стенограмі сеансу, доки її не буде стиснуто/обрізано політикою.
- 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-бекенд, який не генерує звіт).
У будь-якому разі він повідомляє розміри й головних учасників; він не виводить повний системний промпт або схеми інструментів. У детальному режимі він також порівнює стенограму сеансу з тим самим предикатом повідомлень реальної розмови, який використовує Compaction, тож високе використання промпта/кешу легше відрізнити від історії розмови, яку можна стиснути.
Пов'язане
Користувацьке додавання контексту через plugins.
Підсумовування довгих розмов, щоб утримувати їх у вікні моделі.
Як будується системний промпт і що він додає на кожному ході.
Повний цикл виконання агента від вхідного повідомлення до фінальної відповіді.