Перейти к основному содержанию

Контекст

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

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

  • /status → быстрый обзор «насколько заполнено окно?» + настройки сеанса.
  • /context list → что внедрено + примерные размеры (по файлам + итоги).
  • /context detail → детальная разбивка: по файлам, по схемам инструментов, по элементам Skills и размер системного промпта.
  • /usage tokens → добавлять в обычные ответы подвал с использованием за ответ.
  • /compact → сводить старую историю в компактную запись, освобождая место в окне.
См. также: Slash commands, Token use & costs, Compaction.

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

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

/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 и пересобирается при каждом запуске. Он включает:
  • Список инструментов + краткие описания.
  • Список Skills (только метаданные; см. ниже).
  • Расположение рабочего пространства.
  • Время (UTC + преобразованное пользовательское время при настройке).
  • Метаданные среды выполнения (хост/ОС/модель/режим рассуждений).
  • Внедрённые загрузочные файлы рабочего пространства в разделе Project Context.
Полная разбивка: System Prompt.

Внедрённые файлы рабочего пространства (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 (по умолчанию 24000 символов). /context показывает размеры исходные vs внедрённые и факт обрезки.

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

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

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

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

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

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

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

То, что сохраняется между сообщениями, зависит от механизма:
  • Обычная история сохраняется в транскрипте сеанса до компакции/обрезки по политике.
  • Компакция сохраняет сводку в транскрипт и оставляет последние сообщения без изменений.
  • Обрезка удаляет старые результаты инструментов из памяти промпта для конкретного запуска, но не переписывает транскрипт.
Документация: Session, Compaction, Session pruning.

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

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