Основы

Контекст

«Контекст» — это всё, что OpenClaw отправляет модели для выполнения (run). Он ограничен окном контекста модели (лимитом токенов). Упрощённая модель для начинающих:

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

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

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

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

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

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

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

/context list

🧠 Context breakdown
Workspace: <workspaceDir>
Bootstrap max/file: 20,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)

Что учитывается в окне контекста

Всё, что получает модель, учитывается, включая:

  • Системный промпт (все разделы).
  • Историю диалога.
  • Вызовы инструментов + результаты инструментов.
  • Вложения/транскрипты (изображения/аудио/файлы).
  • Суммаризации компактизации и артефакты обрезки.
  • «Обёртки» провайдера или скрытые заголовки (не видны, но учитываются).

Как OpenClaw строит системный промпт

Системный промпт принадлежит OpenClaw и перестраивается при каждом выполнении (run). Он включает:

  • Список инструментов + краткие описания.
  • Список навыков (только метаданные; см. ниже).
  • Расположение рабочей области.
  • Время (UTC + конвертированное пользовательское время, если настроено).
  • Метаданные времени выполнения (хост/ОС/модель/мышление).
  • Внедрённые файлы начальной загрузки рабочей области в разделе Project Context.

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

Внедрённые файлы рабочей области (Project Context)

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

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

Большие файлы обрезаются для каждого файла в соответствии с agents.defaults.bootstrapMaxChars (по умолчанию 20000 символов). OpenClaw также применяет общий лимит на внедрение начальной загрузки для всех файлов с помощью agents.defaults.bootstrapTotalMaxChars (по умолчанию 150000 символов). /context показывает исходный vs внедрённый размеры и было ли обрезание. Когда происходит обрезание, среда выполнения может внедрить предупреждающий блок в промпте в разделе Project Context. Настройте это с помощью agents.defaults.bootstrapPromptTruncationWarning (off, once, always; по умолчанию once).

Навыки: что внедряется, а что загружается по требованию

Системный промпт включает компактный список навыков (название + описание + расположение). Этот список создаёт реальные накладные расходы. Инструкции навыков не включаются по умолчанию. Ожидается, что модель будет read файл навыка SKILL.md только когда это необходимо.

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

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

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

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

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

Слеш-команды обрабатываются Шлюзом (Gateway). Существует несколько различных вариантов поведения:

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

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

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

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

  • Обычная история сохраняется в транскрипте сессии до тех пор, пока не будет скомпактизирована/обрезана политикой.
  • Компактизация сохраняет суммаризацию в транскрипте и оставляет последние сообщения нетронутыми.
  • Обрезка удаляет старые результаты инструментов из промпта в памяти для выполнения (run), но не перезаписывает транскрипт.

Документация: Сессия, Компактизация, Обрезка сессии. По умолчанию OpenClaw использует встроенный контекстный движок legacy для сборки и компактизации. Если вы установите плагин, предоставляющий kind: "context-engine", и выберете его с помощью plugins.slots.contextEngine, OpenClaw делегирует сборку контекста, /compact и связанные хуки жизненного цикла контекста суб-агента этому движку.

Что фактически отчитывает /context

/context предпочитает использовать последний доступный отчёт о системном промпте, построенном при выполнении (run):

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

В любом случае, он сообщает размеры и основных «виновников»; он не выводит полный системный промпт или схемы инструментов.

Системный промптРабочая область агента