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

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

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 опускается.
<available_skills>
  <skill>
    <name>...</name>
    <description>...</description>
    <location>...</location>
  </skill>
</available_skills>
Это позволяет сохранять базовый промпт небольшим, одновременно обеспечивая точечное использование навыков.

Documentation

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