Fundamentals

Контекст

«Контекст» — это всё, что OpenClaw отправляет модели для выполнения запуска. Его объём ограничен контекстным окном модели (лимитом токенов).

Упрощённая модель для начинающих:

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

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

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

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

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

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

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

/context list

text
🧠 Разбивка контекстаРабочее пространство: <workspaceDir>Максимум начальной загрузки на файл: 12,000 charsПесочница: mode=non-main sandboxed=falseСистемный промпт (запуск): 38,412 chars (~9,603 tok) (Контекст проекта: 23,901 chars (~5,976 tok)) Внедрённые файлы рабочего пространства:- AGENTS.md: OK | исходный размер 1,742 chars (~436 tok) | внедрено 1,742 chars (~436 tok)- SOUL.md: OK | исходный размер 912 chars (~228 tok) | внедрено 912 chars (~228 tok)- TOOLS.md: TRUNCATED | исходный размер 54,210 chars (~13,553 tok) | внедрено 20,962 chars (~5,241 tok)- IDENTITY.md: OK | исходный размер 211 chars (~53 tok) | внедрено 211 chars (~53 tok)- USER.md: OK | исходный размер 388 chars (~97 tok) | внедрено 388 chars (~97 tok)- HEARTBEAT.md: MISSING | исходный размер 0 | внедрено 0- BOOTSTRAP.md: OK | исходный размер 0 chars (~0 tok) | внедрено 0 chars (~0 tok) Список Skills (текст системного промпта): 2,184 chars (~546 tok) (12 навыков)Инструменты: read, edit, write, exec, process, browser, message, sessions_send, …Список инструментов (текст системного промпта): 1,032 chars (~258 tok)Схемы инструментов (JSON): 31,988 chars (~7,997 tok) (учитываются в контексте; не отображаются как текст)Инструменты: (те же, что указаны выше) Токены сеанса (кэшированные): всего 14,250 / ctx=32,000

/context detail

text
🧠 Разбивка контекста (подробная)Крупнейшие Skills (размер записи промпта):- frontend-design: 412 chars (~103 tok)- oracle: 401 chars (~101 tok)… (+ещё 10 навыков) Крупнейшие инструменты (размер схемы):- browser: 9,812 chars (~2,453 tok)- exec: 6,240 chars (~1,560 tok)… (+ещё N инструментов)

/context map

Отправляет изображение, созданное на основе последнего кэшированного отчёта о запуске и стенограммы сеанса. Пока обычное сообщение не сформирует отчёт о запуске в этом сеансе, /context map вместо приблизительной визуализации возвращает сообщение о недоступности. Площадь прямоугольника пропорциональна количеству отслеживаемых символов промпта:

  • стенограмма диалога (сообщения пользователя, ответы ассистента, результаты инструментов, сводки Compaction), а также контекст среды выполнения каждого хода и добавления промпта от хуков, поступающие только модели
  • внедрённые файлы рабочего пространства
  • текст базового системного промпта
  • записи промптов навыков
  • JSON-схемы инструментов

Группа диалога увеличивается по мере продолжения сеанса, поэтому карта меняется от хода к ходу; после Compaction она сворачивается в плитку со сводками.

/context list, /context detail и /context json по-прежнему могут получить оценку по запросу, если отчёт о запуске не кэширован.

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

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

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

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

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

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

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

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

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

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

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

При обрезке среда выполнения может внедрить в промпт блок предупреждения в разделе «Контекст проекта». Это настраивается с помощью agents.defaults.bootstrapPromptTruncationWarning (off, once, always; по умолчанию always).

Skills: внедрение и загрузка по запросу

Системный промпт включает компактный список Skills (имя + описание + расположение). Этот список создаёт реальные накладные расходы.

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

Инструменты: два вида затрат

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

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

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

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

Команды с косой чертой обрабатываются Gateway. Возможны несколько вариантов поведения:

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

Подробнее: Команды с косой чертой.

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

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

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

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

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

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

/context при наличии предпочитает последний отчёт о системном промпте, сформированный во время запуска:

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

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

Связанные разделы

Was this useful?
On this page

On this page