Fundamentals

Контекст

"Контекст" — это все, что OpenClaw отправляет модели для запуска. Он ограничен окном контекста модели (лимитом токенов).

Ментальная модель для начинающих:

  • Системный промпт (созданный OpenClaw): правила, инструменты, список Skills, время/среда выполнения и внедренные файлы рабочей области.
  • История разговора: ваши сообщения + сообщения ассистента в этой сессии.
  • Вызовы/результаты инструментов + вложения: вывод команд, чтение файлов, изображения/аудио и т. д.

Контекст — это не то же самое, что "память": память может храниться на диске и загружаться позже; контекст — это то, что находится в текущем окне модели.

Быстрый старт (просмотр контекста)

  • /status → быстрый вид "насколько заполнено мое окно?" + настройки сессии.
  • /context list → что внедрено + примерные размеры (по файлам + итоги).
  • /context detail → более подробная разбивка: размеры по файлам, по схемам инструментов, по записям Skills, размер системного промпта и количество сообщений стенограммы, доступных для Compaction.
  • /context map → изображение древовидной карты в стиле WinDirStat с текущими отслеживаемыми вкладчиками контекста сессии.
  • /usage tokens → добавлять футер использования по токенам к обычным ответам.
  • /compact → суммировать старую историю в компактную запись, чтобы освободить место в окне.

См. также: Слеш-команды, Использование токенов и затраты, Compaction.

Пример вывода

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

/context list

Code
🧠 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

Code
🧠 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-файлы рабочей области в разделе Контекст проекта.

Полная разбивка: Системный промпт.

Внедренные файлы рабочей области (Контекст проекта)

По умолчанию OpenClaw внедряет фиксированный набор файлов рабочей области (если они есть):

  • AGENTS.md
  • SOUL.md
  • TOOLS.md
  • IDENTITY.md
  • USER.md
  • HEARTBEAT.md
  • BOOTSTRAP.md (только при первом запуске)

Большие файлы усекаются пофайлово с использованием agents.defaults.bootstrapMaxChars (по умолчанию 20000 символов). OpenClaw также применяет общий лимит внедрения bootstrap по всем файлам через agents.defaults.bootstrapTotalMaxChars (по умолчанию 60000 символов). /context показывает размеры исходный против внедренного и было ли усечение.

Когда происходит усечение, среда выполнения может внедрить блок предупреждения прямо в промпт в разделе Контекст проекта. Настройте это через agents.defaults.bootstrapPromptTruncationWarning (off, once, always; по умолчанию always).

Skills: внедренные и загружаемые по запросу

Системный промпт включает компактный список Skills (имя + описание + расположение). У этого списка есть реальная накладная стоимость.

Инструкции Skills не включаются по умолчанию. Ожидается, что модель выполнит read для SKILL.md нужного Skills только при необходимости.

Инструменты: есть две стоимости

Инструменты влияют на контекст двумя способами:

  1. Текст списка инструментов в системном промпте (то, что вы видите как "Инструментарий").
  2. Схемы инструментов (JSON). Они отправляются модели, чтобы она могла вызывать инструменты. Они учитываются в контексте, хотя вы не видите их как обычный текст.

/context detail разбивает самые большие схемы инструментов, чтобы вы могли увидеть, что доминирует.

Команды, директивы и "встроенные сокращения"

Слеш-команды обрабатываются Gateway. Есть несколько разных вариантов поведения:

  • Отдельные команды: сообщение, состоящее только из /..., выполняется как команда.
  • Директивы: /think, /verbose, /trace, /reasoning, /elevated, /model, /queue удаляются до того, как модель увидит сообщение.
    • Сообщения, состоящие только из директив, сохраняют настройки сессии.
    • Встроенные директивы в обычном сообщении действуют как подсказки для конкретного сообщения.
  • Встроенные сокращения (только для отправителей из allowlist): определенные токены /... внутри обычного сообщения могут выполниться сразу (пример: "эй /status") и удаляются до того, как модель увидит оставшийся текст.

Подробности: Слеш-команды.

Сессии, Compaction и обрезка (что сохраняется)

То, что сохраняется между сообщениями, зависит от механизма:

  • Обычная история сохраняется в стенограмме сессии, пока не будет compacted/обрезана политикой.
  • Compaction сохраняет сводку в стенограмму и оставляет последние сообщения без изменений.
  • Обрезка удаляет старые результаты инструментов из промпта в памяти, чтобы освободить место в окне контекста, но не переписывает стенограмму сессии — полная история все еще доступна для просмотра на диске.

Документация: Сессия, Compaction, Обрезка сессии.

По умолчанию OpenClaw использует встроенный контекстный движок legacy для сборки и Compaction. Если вы установите Plugin, который предоставляет kind: "context-engine", и выберете его через plugins.slots.contextEngine, OpenClaw делегирует сборку контекста, /compact и связанные хуки жизненного цикла контекста subagent этому движку. ownsCompaction: false не выполняет автоматический fallback к движку legacy; активный движок все равно должен корректно реализовывать compact(). См. Контекстный движок для полного подключаемого интерфейса, хуков жизненного цикла и конфигурации.

Что на самом деле сообщает /context

/context предпочитает последний отчет системного промпта, собранный при запуске, когда он доступен:

  • System prompt (run) = захвачен из последнего встроенного запуска (с поддержкой инструментов) и сохранен в хранилище сессии.
  • System prompt (estimate) = вычисляется на лету, когда отчета о запуске нет (или при запуске через CLI-бэкенд, который не генерирует отчет).

В любом случае он сообщает размеры и основных вкладчиков; он не выводит полный системный промпт или схемы инструментов. В подробном режиме он также сравнивает стенограмму сессии с тем же предикатом сообщений реального разговора, который используется Compaction, поэтому высокое использование промпта/кэша легче отличить от истории разговора, доступной для Compaction.

Связанные материалы

Was this useful?
On this page

On this page