Fundamentals
Контекст
"Контекст" — це все, що OpenClaw надсилає моделі для запуску. Він обмежений вікном контексту моделі (лімітом токенів).
Ментальна модель для початківців:
- Системний промпт (створений OpenClaw): правила, інструменти, список skills, час/середовище виконання та інʼєктовані файли робочого простору.
- Історія розмови: ваші повідомлення + повідомлення асистента в цій сесії.
- Виклики/результати інструментів + вкладення: вивід команд, читання файлів, зображення/аудіо тощо.
Контекст — це не те саме, що "памʼять": памʼять може зберігатися на диску й повторно завантажуватися пізніше; контекст — це те, що міститься в поточному вікні моделі.
Швидкий старт (перегляд контексту)
/status→ швидкий перегляд "наскільки заповнене моє вікно?" + налаштування сесії./context list→ що інʼєктовано + приблизні розміри (за файлом + підсумки)./context detail→ детальніший розподіл: розміри за файлами, схемами інструментів, записами Skills і розмір системного промпта./usage tokens→ додавати футер використання за токенами до звичайних відповідей./compact→ підсумувати давнішу історію в компактний запис, щоб звільнити місце у вікні.
Див. також: Слеш-команди, Використання токенів і витрати, Compaction.
Приклад виводу
Значення залежать від моделі, провайдера, політики інструментів і вмісту вашого робочого простору.
/context list
🧠 Context breakdown
Workspace: <workspaceDir>
Bootstrap max/file: 12,000 chars
Sandbox: mode=non-main sandboxed=false
System 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)
Що враховується у вікні контексту
Враховується все, що отримує модель, зокрема:
- Системний промпт (усі розділи).
- Історія розмови.
- Виклики інструментів + результати інструментів.
- Вкладення/транскрипти (зображення/аудіо/файли).
- Підсумки Compaction та артефакти обрізання.
- "Обгортки" провайдера або приховані заголовки (не видимі, але все одно враховуються).
Як OpenClaw створює системний промпт
Системний промпт належить OpenClaw і перебудовується під час кожного запуску. Він містить:
- Список інструментів + короткі описи.
- Список Skills (лише метадані; див. нижче).
- Розташування робочого простору.
- Час (UTC + перетворений час користувача, якщо налаштовано).
- Метадані середовища виконання (хост/OS/модель/мислення).
- Інʼєктовані bootstrap-файли робочого простору в Контексті проєкту.
Повний розподіл: Системний промпт.
Інʼєктовані файли робочого простору (Контекст проєкту)
За замовчуванням OpenClaw інʼєктує фіксований набір файлів робочого простору (якщо вони наявні):
AGENTS.mdSOUL.mdTOOLS.mdIDENTITY.mdUSER.mdHEARTBEAT.mdBOOTSTRAP.md(лише під час першого запуску)
Великі файли обрізаються пофайлово за допомогою agents.defaults.bootstrapMaxChars (за замовчуванням 12000 символів). OpenClaw також застосовує загальний ліміт bootstrap-інʼєкції для всіх файлів через agents.defaults.bootstrapTotalMaxChars (за замовчуванням 60000 символів). /context показує розміри raw vs injected і чи відбулося обрізання.
Коли відбувається обрізання, середовище виконання може інʼєктувати блок попередження в промпті під Контекстом проєкту. Налаштуйте це за допомогою agents.defaults.bootstrapPromptTruncationWarning (off, once, always; за замовчуванням once).
Skills: інʼєктовані та завантажені на вимогу
Системний промпт містить компактний список Skills (назва + опис + розташування). Цей список має реальні накладні витрати.
Інструкції Skills не включаються за замовчуванням. Очікується, що модель read файл SKILL.md Skills лише тоді, коли потрібно.
Інструменти: є дві вартості
Інструменти впливають на контекст двома способами:
- Текст списку інструментів у системному промпті (те, що ви бачите як "Інструментарій").
- Схеми інструментів (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 не виконує автоматичний відкат до застарілого
рушія; активний рушій усе одно має коректно реалізовувати compact(). Див.
Рушій контексту для повного
підʼєднуваного інтерфейсу, хуків життєвого циклу та конфігурації.
Що насправді повідомляє /context
/context віддає перевагу найновішому звіту системного промпта, побудованого під час запуску, коли він доступний:
System prompt (run)= захоплено з останнього вбудованого запуску (із підтримкою інструментів) і збережено в сховищі сесії.System prompt (estimate)= обчислюється на льоту, коли звіту запуску немає (або під час роботи через CLI-бекенд, який не генерує звіт).
У будь-якому разі він повідомляє розміри та головних вкладників; він не виводить повний системний промпт або схеми інструментів.
Повʼязане
Кастомна інʼєкція контексту через plugins.
Підсумовування довгих розмов, щоб утримувати їх у вікні моделі.
Як створюється системний промпт і що він інʼєктує на кожному ході.
Повний цикл виконання агента від вхідного повідомлення до фінальної відповіді.