Skip to main content

Системный промпт

OpenClaw формирует пользовательский системный промпт для каждого запуска агента. Промпт принадлежит OpenClaw и не использует стандартный промпт p-coding-agent. Промпт собирается OpenClaw и внедряется в каждый запуск агента.

Структура

Промпт намеренно компактный и использует фиксированные разделы:
  • Tooling: текущий список инструментов + краткие описания.
  • Safety: краткое напоминание-ограничитель, чтобы избегать стремления к власти или обхода надзора.
  • Skills (когда доступны): указывает модели, как по требованию загружать инструкции навыков.
  • OpenClaw Self-Update: как запускать config.apply и update.run.
  • Workspace: рабочий каталог (agents.defaults.workspace).
  • Documentation: локальный путь к документации OpenClaw (репозиторий или npm‑пакет) и когда её читать.
  • Workspace Files (injected): указывает, что ниже включены bootstrap‑файлы.
  • Sandbox (когда включён): указывает изолированную среду выполнения, пути sandbox и доступность повышенных прав exec.
  • Current Date & Time: локальное время пользователя, часовой пояс и формат времени.
  • Reply Tags: необязательный синтаксис тегов ответа для поддерживаемых провайдеров.
  • Heartbeats: промпт heartbeats и поведение подтверждения (ack).
  • Runtime: хост, ОС, узел, модель, корень репозитория (когда обнаружен), уровень мышления (одной строкой).
  • Reasoning: текущий уровень видимости + подсказка по переключателю /reasoning.
Ограничители безопасности в системном промпте носят рекомендательный характер. Они направляют поведение модели, но не обеспечивают принудительное соблюдение политики. Для жёсткого контроля используйте политики инструментов, подтверждения выполнения команд, sandboxing и allowlist каналов; операторы могут отключать это по замыслу.

Режимы промпта

OpenClaw может рендерить уменьшенные системные промпты для субагентов. Среда выполнения устанавливает promptMode для каждого запуска (не пользовательская настройка):
  • full (по умолчанию): включает все разделы выше.
  • minimal: используется для субагентов; опускает Skills, Memory Recall, OpenClaw Self-Update, Model Aliases, User Identity, Reply Tags, Messaging, Silent Replies и Heartbeats. Tooling, Safety, Workspace, Sandbox, Current Date & Time (когда известно), Runtime и внедрённый контекст остаются доступны.
  • none: возвращает только базовую строку идентичности.
Когда promptMode=minimal, дополнительные внедрённые промпты помечаются как Subagent Context, а не Group Chat Context.

Внедрение bootstrap рабочего пространства

Bootstrap‑файлы обрезаются и добавляются в разделе Project Context, чтобы модель видела контекст идентичности и профиля без явного чтения файлов:
  • AGENTS.md
  • SOUL.md
  • TOOLS.md
  • IDENTITY.md
  • USER.md
  • HEARTBEAT.md
  • BOOTSTRAP.md (только для совершенно новых рабочих пространств)
  • MEMORY.md и/или memory.md (если присутствуют в рабочем пространстве; может быть внедрен один или оба файла)
Все эти файлы внедряются в контекстное окно на каждом шаге, что означает, что они потребляют токены. Держите их краткими — особенно MEMORY.md, который может со временем разрастаться и приводить к неожиданно высокому использованию контекста и более частой компактизации.
Примечание: ежедневные файлы memory/*.md не внедряются автоматически. Они загружаются по запросу через инструменты memory_search и memory_get, поэтому не учитываются в контекстном окне, если модель явно их не читает.
Большие файлы усекаются с маркером. Максимальный размер на файл контролируется agents.defaults.bootstrapMaxChars (по умолчанию: 20000). Общий объем внедряемого начального контента во всех файлах ограничен параметром agents.defaults.bootstrapTotalMaxChars (по умолчанию: 24000). Отсутствующие файлы внедряют короткий маркер отсутствия файла. Сессии субагентов внедряют только AGENTS.md и TOOLS.md (остальные bootstrap-файлы отфильтровываются, чтобы сохранить небольшой контекст субагента). Внутренние хуки могут перехватывать этот шаг через agent:bootstrap, чтобы изменять или заменять внедрённые bootstrap‑файлы (например, подменяя SOUL.md альтернативной персоной). Чтобы проверить вклад каждого внедрённого файла (сырой vs внедрённый, усечение, плюс накладные расходы схемы инструментов), используйте /context list или /context detail. Context.

Работа со временем

Системный промпт включает отдельный раздел Current Date & Time, когда известен часовой пояс пользователя. Чтобы сохранить стабильность кэша промпта, теперь он включает только часовой пояс (без динамических часов или формата времени). Используйте session_status, когда агенту требуется текущее время; карточка статуса включает строку с временной меткой. Настройка:
  • agents.defaults.userTimezone
  • agents.defaults.timeFormat (auto | 12 | 24)
Подробности поведения см. в разделе Date & Time.

Skills

Когда существуют подходящие Skills, OpenClaw внедряет компактный список доступных навыков (formatSkillsForPrompt), который включает путь к файлу для каждого навыка. Промпт инструктирует модель использовать read для загрузки SKILL.md по указанному расположению (workspace, managed или bundled). Если подходящих Skills нет, раздел Skills опускается.
Это позволяет сохранять базовый промпт небольшим, одновременно обеспечивая точечное использование навыков.

Documentation

Когда доступно, системный промпт включает раздел Documentation, который указывает на локальный каталог документации OpenClaw (либо docs/ в рабочем пространстве репозитория, либо документацию, поставляемую в составе npm‑пакета), а также отмечает публичное зеркало, исходный репозиторий, Discord сообщества и ClawHub (https://clawhub.com) для поиска Skills. Промпт инструктирует модель сначала обращаться к локальной документации для поведения OpenClaw, команд, конфигурации или архитектуры, и по возможности самостоятельно запускать openclaw status (обращаясь к пользователю только при отсутствии доступа).