На этой странице

На этой странице

Agent runtime

Контекст

«Контекст» — это всё, что 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?