Перейти до основного вмісту

Контекст

«Контекст» — це все, що OpenClaw надсилає моделі для запуску. Він обмежений вікном контексту моделі (лімітом токенів). Проста ментальна модель для початківців:
  • Системний запит (збудований OpenClaw): правила, інструменти, список Skills, час/середовище виконання та впроваджені файли робочого простору.
  • Історія розмови: ваші повідомлення + повідомлення помічника для цієї сесії.
  • Виклики/результати інструментів + вкладення: вивід команд, читання файлів, зображення/аудіо тощо.
Контекст не є тим самим, що й «пам’ять»: пам’ять може зберігатися на диску та повторно завантажуватися пізніше; контекст — це те, що міститься в поточному вікні моделі.

Швидкий старт (перевірка контексту)

  • /status → швидкий перегляд «наскільки заповнене моє вікно?» + параметри сесії.
  • /context list → що впроваджено + приблизні розміри (для кожного файла + загальні).
  • /context detail → глибший розбір: для кожного файла, розміри схем кожного інструмента, розміри записів кожного skill та розмір системного запиту.
  • /usage tokens → додає нижній колонтитул використання для кожної відповіді до звичайних відповідей.
  • /compact → узагальнює старішу історію в компактний запис, щоб звільнити місце у вікні.
Див. також: Слеш-команди, Використання токенів і витрати, Компресія.

Приклад виводу

Значення залежать від моделі, провайдера, політики інструментів і того, що є у вашому робочому просторі.

/context list

🧠 Розподіл контексту
Робочий простір: <workspaceDir>
Макс. bootstrap на файл: 20,000 chars
Пісочниця: mode=non-main sandboxed=false
Системний запит (запуск): 38,412 chars (~9,603 tok) (Project Context 23,901 chars (~5,976 tok))

Впроваджені файли робочого простору:
- 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 (текст системного запиту): 2,184 chars (~546 tok) (12 skills)
Інструменти: read, edit, write, exec, process, browser, message, sessions_send, …
Список інструментів (текст системного запиту): 1,032 chars (~258 tok)
Схеми інструментів (JSON): 31,988 chars (~7,997 tok) (враховуються в контексті; не показуються як текст)
Інструменти: (те саме, що вище)

Токени сесії (кешовані): 14,250 total / ctx=32,000

/context detail

🧠 Розподіл контексту (детально)

Найбільші skills (розмір запису в запиті):
- frontend-design: 412 chars (~103 tok)
- oracle: 401 chars (~101 tok)
… (+ще 10 skills)

Найбільші інструменти (розмір схеми):
- browser: 9,812 chars (~2,453 tok)
- exec: 6,240 chars (~1,560 tok)
… (+ще N)

Що враховується у вікні контексту

Враховується все, що отримує модель, зокрема:
  • Системний запит (усі розділи).
  • Історія розмови.
  • Виклики інструментів + результати інструментів.
  • Вкладення/транскрипти (зображення/аудіо/файли).
  • Підсумки компресії та артефакти обрізання.
  • «Обгортки» провайдера або приховані заголовки (не видимі, але все одно враховуються).

Як OpenClaw будує системний запит

Системний запит належить OpenClaw і перебудовується для кожного запуску. Він містить:
  • Список інструментів + короткі описи.
  • Список Skills (лише метадані; див. нижче).
  • Розташування робочого простору.
  • Час (UTC + перетворений час користувача, якщо налаштовано).
  • Метадані середовища виконання (хост/ОС/модель/thinking).
  • Впроваджені bootstrap-файли робочого простору в розділі Project Context.
Повний розбір: Системний запит.

Впроваджені файли робочого простору (Project Context)

Типово OpenClaw впроваджує фіксований набір файлів робочого простору (якщо вони є):
  • AGENTS.md
  • SOUL.md
  • TOOLS.md
  • IDENTITY.md
  • USER.md
  • HEARTBEAT.md
  • BOOTSTRAP.md (лише під час першого запуску)
Великі файли обрізаються окремо для кожного файла за допомогою agents.defaults.bootstrapMaxChars (типово 20000 символів). OpenClaw також застосовує загальне обмеження на впровадження bootstrap для всіх файлів через agents.defaults.bootstrapTotalMaxChars (типово 150000 символів). /context показує розміри raw vs injected і те, чи відбулося обрізання. Коли відбувається обрізання, середовище виконання може впровадити в запит блок попередження в розділі Project Context. Налаштовується це через agents.defaults.bootstrapPromptTruncationWarning (off, once, always; типово once).

Skills: впроваджені чи завантажені на вимогу

Системний запит містить компактний список skills (назва + опис + розташування). Цей список створює реальні накладні витрати. Інструкції skill не включаються типово. Очікується, що модель виконає read для SKILL.md цього skill лише за потреби.

Інструменти: є дві складові вартості

Інструменти впливають на контекст двома способами:
  1. Текст списку інструментів у системному запиті (те, що ви бачите як “Tooling”).
  2. Схеми інструментів (JSON). Вони надсилаються моделі, щоб вона могла викликати інструменти. Вони враховуються в контексті, навіть якщо ви не бачите їх як звичайний текст.
/context detail розбиває найбільші схеми інструментів, щоб ви могли побачити, що домінує.

Команди, директиви та “вбудовані скорочення”

Слеш-команди обробляються Gateway. Існує кілька різних варіантів поведінки:
  • Окремі команди: повідомлення, яке складається лише з /..., виконується як команда.
  • Директиви: /think, /verbose, /reasoning, /elevated, /model, /queue прибираються до того, як модель побачить повідомлення.
    • Повідомлення лише з директивами зберігають параметри сесії.
    • Вбудовані директиви у звичайному повідомленні діють як підказки для конкретного повідомлення.
  • Вбудовані скорочення (лише для відправників із allowlist): певні токени /... усередині звичайного повідомлення можуть виконуватися негайно (приклад: “hey /status”), а потім прибираються до того, як модель побачить решту тексту.
Докладніше: Слеш-команди.

Сесії, компресія та обрізання (що зберігається)

Що саме зберігається між повідомленнями, залежить від механізму:
  • Звичайна історія зберігається в транскрипті сесії, доки не буде стиснута/обрізана відповідно до політики.
  • Компресія зберігає підсумок у транскрипті та залишає недавні повідомлення без змін.
  • Обрізання видаляє старі результати інструментів із внутрішньої підказки для запуску, але не переписує транскрипт.
Документація: Сесія, Компресія, Обрізання сесії. Типово OpenClaw використовує вбудований контекстний рушій legacy для збирання та компресії. Якщо ви встановите плагін, який надає kind: "context-engine", і виберете його через plugins.slots.contextEngine, OpenClaw натомість делегує цьому рушію збирання контексту, /compact і пов’язані гачки життєвого циклу контексту субагента. ownsCompaction: false не вмикає автоматичний fallback до рушія legacy; активний рушій усе одно має коректно реалізовувати compact(). Див. Context Engine, щоб ознайомитися з повним підключуваним інтерфейсом, гачками життєвого циклу та конфігурацією.

Що насправді показує /context

/context за можливості віддає перевагу найновішому звіту про системний запит, побудований під час запуску:
  • System prompt (run) = зафіксований з останнього вбудованого запуску (з підтримкою інструментів) і збережений у сховищі сесії.
  • System prompt (estimate) = обчислений на льоту, якщо звіту про запуску ще немає.
У будь-якому випадку він показує розміри та найбільших учасників; він не вивантажує повний системний запит або схеми інструментів.

Пов’язане