---
read_when:
    - Редактирование текста системного промпта, списка инструментов или разделов времени/Heartbeat
    - Изменение поведения инициализации рабочего пространства или внедрения Skills
summary: Что содержит системный промпт OpenClaw и как он формируется
title: Системный промпт
x-i18n:
    generated_at: "2026-07-13T19:44:47Z"
    model: gpt-5.6
    postprocess_version: locale-links-v1
    prompt_version: 24
    provider: openai
    source_hash: 1aabd41b5d4b51ed139d47b506017322c240bb1002bae901886d5f7991c0dc5e
    source_path: concepts/system-prompt.md
    workflow: 16
---

OpenClaw формирует собственный системный промпт для каждого запуска агента; стандартного промпта среды выполнения не существует.

Сборка состоит из трёх уровней:

- `buildAgentSystemPrompt` формирует промпт из явно заданных входных данных. Он остаётся чистым средством отрисовки и не считывает глобальную конфигурацию напрямую.
- `resolveAgentSystemPromptConfig` определяет для конкретного агента параметры промпта, задаваемые конфигурацией (отображаемое имя владельца, подсказки TTS, псевдонимы моделей, режим цитирования памяти, режим делегирования субагентам).
- Адаптеры среды выполнения (встроенный, CLI, предварительный просмотр команд/экспорта, Compaction) собирают актуальные данные (инструменты, состояние песочницы, возможности канала, контекстные файлы, дополнения провайдера к промпту) и вызывают настроенный фасад промпта.

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

Плагины провайдеров могут добавлять рекомендации с учётом кеширования, не заменяя промпт, принадлежащий OpenClaw. Среда выполнения провайдера может:

- заменить один из трёх именованных основных разделов: `interaction_style`, `tool_call_style`, `execution_bias`
- вставить **стабильный префикс** выше границы кеша промпта
- вставить **динамический суффикс** ниже границы кеша промпта

Используйте дополнения, принадлежащие провайдеру, для настройки под конкретное семейство моделей. Устаревший обработчик `before_prompt_build` следует использовать только для совместимости или действительно глобальных изменений промпта.

Встроенная надстройка семейства OpenAI/Codex GPT-5 (`resolveGpt5SystemPromptContribution`) использует этот механизм: контракт поведения `stablePrefix` (политика выполнения, дисциплина использования инструментов, контракт вывода, контракт завершения) и необязательное переопределение `interaction_style` для более дружелюбного тона. Она применяется к любому идентификатору модели `gpt-5*`, маршрутизируемому через плагины OpenAI или Codex, и управляется параметром `agents.defaults.promptOverlays.gpt5.personality` (`"friendly"`/`"on"` или `"off"`).

## Структура

Промпт компактен и содержит фиксированные разделы:

- **Инструменты**: напоминание о том, что структурированные инструменты являются источником истины, а также рекомендации по использованию инструментов в среде выполнения. Когда включён экспериментальный инструмент `update_plan` (`tools.experimental.planTool`), его собственное описание дополнительно предписывает: использовать его только для нетривиальной многоэтапной работы, держать не более одного шага `in_progress` и не использовать его для простой одноэтапной работы.
- **Ориентация на выполнение**: выполнять в рамках текущего хода запросы, допускающие непосредственные действия, продолжать до завершения или блокировки, восстанавливаться после слабых результатов инструментов, проверять изменяемое состояние в реальном времени и выполнять проверку перед завершением.
- **Безопасность**: краткое напоминание об ограничениях, запрещающих стремление к расширению полномочий или обход контроля.
- **Skills** (при наличии): объясняет модели, как загружать инструкции Skills по мере необходимости.
- **Управление OpenClaw**: отдавать предпочтение инструменту `gateway` для работы с конфигурацией и перезапуском; не выдумывать команды CLI.
- **Самообновление OpenClaw**: безопасно проверять конфигурацию с помощью `config.schema.lookup`, изменять её с помощью `config.patch`, полностью заменять с помощью `config.apply` и запускать `update.run` только по явному запросу пользователя. Доступный агенту инструмент `gateway` отказывается перезаписывать `tools.exec.ask` / `tools.exec.security`, включая устаревшие псевдонимы `tools.bash.*`, которые нормализуются в эти защищённые пути.
- **Рабочая область**: рабочий каталог (`agents.defaults.workspace`).
- **Документация**: локальный путь к документации/исходному коду и условия, при которых их следует читать.
- **Файлы рабочей области (внедрённые)**: указывает, что загрузочные файлы включены ниже.
- **Песочница** (когда включена): изолированная среда выполнения, пути песочницы, доступность выполнения с повышенными привилегиями.
- **Текущие дата и время**: только часовой пояс (стабилен для кеша; текущее время предоставляет `session_status`).
- **Директивы вывода ассистента**: компактный синтаксис вложений, голосовых сообщений и тегов ответа.
- **Heartbeats**: промпт Heartbeat и поведение подтверждения, когда Heartbeat включены для агента по умолчанию.
- **Среда выполнения**: хост, ОС, Node, модель, корень репозитория (если обнаружен), уровень рассуждений (одна строка).
- **Рассуждения**: текущий уровень видимости и подсказка о переключателе `/reasoning`.

Большой стабильный контент (включая **Контекст проекта**) остаётся выше внутренней границы кеша промпта. Изменчивые разделы для каждого хода (рекомендации по встраиванию интерфейса управления, **Обмен сообщениями**, **Голос**, **Контекст группового чата**, **Реакции**, **Heartbeats**, **Среда выполнения**) добавляются ниже этой границы, чтобы локальные серверные части с кешированием префиксов могли повторно использовать стабильный префикс рабочей области между ходами в канале. В описания инструментов не следует включать текущие названия каналов, если принимаемая схема уже содержит эти сведения среды выполнения.

Раздел инструментов также содержит рекомендации для длительной работы:

- использовать Cron для будущих последующих действий (`check back later`, напоминаний, повторяющейся работы) вместо циклов ожидания `exec`, приёмов с задержкой `yieldMs` или повторного опроса `process`
- использовать `exec` / `process` только для команд, которые запускаются сейчас и продолжают выполняться в фоновом режиме
- когда включено автоматическое пробуждение по завершении, запускать команду один раз и полагаться на механизм пробуждения на основе push-уведомлений
- использовать `process` для получения журналов, состояния, ввода или вмешательства в выполняющуюся команду
- для более крупных задач отдавать предпочтение `sessions_spawn`; завершение работы субагента передаётся через push-механизм и автоматически сообщается инициатору запроса
- не опрашивать `subagents list` / `sessions_list` в цикле только ради ожидания завершения

`agents.defaults.subagents.delegationMode` (по умолчанию `"suggest"`) может усилить это поведение. `"prefer"` добавляет отдельный раздел **Делегирование субагентам**, предписывающий основному агенту выступать в роли оперативного координатора и передавать через `sessions_spawn` всё, что сложнее прямого ответа. Это касается только промпта; доступность `sessions_spawn` по-прежнему определяется политикой инструментов.

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

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

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

OpenClaw формирует уменьшенные системные промпты для субагентов. Среда выполнения задаёт `promptMode` для каждого запуска (это не пользовательская конфигурация):

- `full` (по умолчанию): все перечисленные выше разделы.
- `minimal`: используется для субагентов; исключает раздел промпта памяти (встроенный как **Вызов из памяти**), **Самообновление OpenClaw**, **Псевдонимы моделей**, **Идентификационные данные пользователя**, **Директивы вывода ассистента**, **Обмен сообщениями**, **Ответы без уведомления** и **Heartbeats**. Инструменты, **Безопасность**, **Skills** (если предоставлены), рабочая область, песочница, текущие дата и время (если известны), среда выполнения и внедрённый контекст остаются доступными.
- `none`: возвращает только базовую строку идентификации.

В режиме `promptMode=minimal` дополнительные внедрённые промпты помечаются как **Контекст субагента**, а не **Контекст группового чата**.

Для запусков автоответа в канале OpenClaw исключает общий раздел **Ответы без уведомления**, когда контекст личного общения, группы или ответа только через инструмент сообщений уже определяет контракт видимого ответа. Только устаревший автоматический режим группы/канала показывает `NO_REPLY`; личные чаты и ответы только через инструмент сообщений не содержат рекомендаций по токену безмолвного ответа.

## Снимки промптов

OpenClaw хранит зафиксированные снимки промптов для основного рабочего сценария среды выполнения Codex в `test/fixtures/agents/prompt-snapshots/codex-runtime-happy-path/`. Они отображают выбранные параметры потока/хода сервера приложений, а также реконструированный стек слоёв промпта, передаваемых модели, для личных сообщений Telegram, групп Discord и ходов Heartbeat: закреплённую фикстуру промпта модели Codex `gpt-5.5`, текст разработчика о разрешениях для основного сценария Codex, инструкции разработчика OpenClaw, инструкции режима совместной работы для текущего хода, когда их предоставляет OpenClaw, пользовательский ввод текущего хода и ссылки на динамические спецификации инструментов.

Обновляйте закреплённую фикстуру промпта модели Codex с помощью `pnpm prompt:snapshots:sync-codex-model`. По умолчанию поиск выполняется сначала в `$CODEX_HOME/models_cache.json`, затем в `~/.codex/models_cache.json`, а затем в каталоге, принятом для рабочей копии сопровождающего, `~/code/codex/codex-rs/models-manager/models.json`; если ничего не найдено, команда завершается без изменения зафиксированной фикстуры. Передайте `--catalog <path>`, чтобы выполнить обновление из конкретного файла `models_cache.json` или `models.json`.

Эти снимки не являются побайтовым необработанным снимком запроса OpenAI. После того как OpenClaw отправляет параметры потока и хода, Codex может добавить принадлежащий среде выполнения контекст рабочей области (`AGENTS.md`, контекст окружения, воспоминания, инструкции приложения/плагина, встроенные инструкции стандартного режима совместной работы).

Повторно создайте снимки с помощью `pnpm prompt:snapshots:gen`; проверьте расхождения с помощью `pnpm prompt:snapshots:check`. CI запускает проверку расхождений вместе с сегментами дополнительных границ, поэтому изменения промпта и обновления снимков включаются в один PR.

## Внедрение загрузочных файлов рабочей области

Загрузочные файлы определяются из активной рабочей области и направляются в соответствующую их времени жизни область промпта:

- `AGENTS.md`
- `SOUL.md`
- `TOOLS.md`
- `IDENTITY.md`
- `USER.md`
- `HEARTBEAT.md`
- `BOOTSTRAP.md` (только в совершенно новых рабочих областях)
- `MEMORY.md` при наличии

В нативной среде Codex OpenClaw не повторяет стабильные файлы рабочей области в каждом пользовательском ходе. Codex загружает `AGENTS.md` через собственный механизм обнаружения проектной документации. `TOOLS.md` передаётся как унаследованные инструкции разработчика Codex. `SOUL.md`, `IDENTITY.md` и `USER.md` передаются как инструкции разработчика по совместной работе для текущего хода, чтобы нативные субагенты Codex не наследовали их. Содержимое `HEARTBEAT.md` не внедряется напрямую; при наличии непустого файла ходы Heartbeat получают примечание режима совместной работы со ссылкой на него. Содержимое `MEMORY.md` также не вставляется в каждый нативный ход Codex: когда для рабочей области доступны инструменты памяти, ходы Codex получают краткое примечание о памяти рабочей области, направляющее модель к `memory_search` или `memory_get`. Если инструменты отключены, поиск по памяти недоступен или активная рабочая область отличается от рабочей области памяти агента, `MEMORY.md` возвращается к обычному ограниченному пути контекста хода. `BOOTSTRAP.md` сохраняет обычную роль контекста хода.

В средах, отличных от Codex, загрузочные файлы включаются в промпт OpenClaw согласно существующим условиям. `HEARTBEAT.md` исключается при обычных запусках, если Heartbeat отключены для агента по умолчанию или `agents.defaults.heartbeat.includeSystemPromptSection` имеет значение false. Делайте внедряемые файлы краткими, особенно `MEMORY.md` вне Codex: он должен оставаться отобранной сводкой долгосрочной памяти, а подробные ежедневные заметки следует хранить в `memory/*.md` с возможностью извлечения по запросу через `memory_search` / `memory_get`. Слишком большие файлы `MEMORY.md` вне Codex увеличивают объём промпта и могут внедряться лишь частично в соответствии с указанными ниже ограничениями загрузочных файлов.

<Note>
Ежедневные файлы `memory/*.md` **не** входят в обычный загрузочный контекст проекта. В обычных ходах доступ к ним осуществляется по запросу через `memory_search` / `memory_get`, поэтому они не занимают контекстное окно, если модель явно их не считывает. Исключение составляют ходы только с `/new` и `/reset`: среда выполнения может добавить недавнюю ежедневную память в начало первого хода в виде одноразового блока начального контекста.
</Note>

Большие файлы обрезаются с добавлением маркера:

| Ограничение                                        | Ключ конфигурации                                         | Значение по умолчанию  |
| -------------------------------------------- | -------------------------------------------------- | -------- |
| Максимальное количество символов на файл                      | `agents.defaults.bootstrapMaxChars`                | 20000    |
| Суммарно по всем файлам                       | `agents.defaults.bootstrapTotalMaxChars`           | 60000    |
| Предупреждение об усечении (`off`\|`once`\|`always`) | `agents.defaults.bootstrapPromptTruncationWarning` | `always` |

Для отсутствующих файлов вставляется короткий маркер отсутствующего файла. Подробные исходные/вставленные значения количества остаются в диагностических данных, таких как `/context`, `/status`, doctor и журналы.

Для файлов памяти усечение не означает потерю данных: файл остаётся неизменным на диске. В нативном Codex `MEMORY.md` при наличии инструментов памяти читается по запросу через них, а в остальных случаях используется ограниченный резервный вариант в промпте. В других средах модель видит только сокращённую вставленную копию, пока напрямую не прочитает память или не выполнит поиск по ней. Если `MEMORY.md` многократно усекается, преобразуйте его в более короткую долговременную сводку, перенесите подробную историю в `memory/*.md` или намеренно увеличьте ограничения начальной загрузки.

В сеансы субагентов вставляются только `AGENTS.md` и `TOOLS.md` (остальные файлы начальной загрузки отфильтровываются, чтобы контекст субагента оставался небольшим).

Внутренние хуки могут перехватить этот шаг через событие `agent:bootstrap`, чтобы изменить или заменить вставляемые файлы начальной загрузки (например, заменить `SOUL.md` альтернативной персоной).

Чтобы стиль звучал менее шаблонно, начните с [руководства по личности SOUL.md](/ru/concepts/soul).

Чтобы проверить вклад каждого вставленного файла (исходный и вставленный объём, усечение, накладные расходы схемы инструментов), используйте `/context list` или `/context detail`. См. раздел [Контекст](/ru/concepts/context).

## Обработка времени

Раздел **Текущая дата и время** отображается только тогда, когда известен часовой пояс пользователя, и содержит только **часовой пояс** (без динамических часов и формата времени), чтобы обеспечить стабильность кеша промпта.

Используйте `session_status`, когда агенту требуется текущее время; его карточка состояния содержит строку с временной меткой. Этот же инструмент может при необходимости задать переопределение модели для отдельного сеанса (`model=default` сбрасывает его).

Настройка:

- `agents.defaults.userTimezone`
- `agents.defaults.timeFormat` (`auto` | `12` | `24`)

Полное описание поведения см. в разделах [Часовые пояса](/ru/concepts/timezone) и [Дата и время](/ru/date-time).

## Skills

При наличии подходящих Skills OpenClaw вставляет компактный список `<available_skills>` (`formatSkillsForPrompt`) с **путём к файлу** и маркером `<version>sha256:...</version>`, вычисленным из содержимого, для каждого навыка. Промпт предписывает модели использовать `read`, чтобы загрузить SKILL.md по указанному расположению (в рабочей области, управляемом или встроенном), и повторно читать навык, когда его `<version>` отличается от предыдущего хода. Если подходящих Skills нет, раздел Skills опускается.

Нативные ходы Codex получают этот список в виде ограниченных текущим ходом инструкций разработчика по совместной работе вместо пользовательского ввода для каждого хода, кроме облегчённых ходов cron, которые сохраняют точный запланированный промпт. В других средах сохраняется обычный раздел промпта.

Расположение может указывать на вложенный навык, например `skills/personal/foo/SKILL.md`. Вложенность служит только для организации; промпт использует плоское имя навыка из метаданных frontmatter `SKILL.md`.

При определении соответствия учитываются ограничения метаданных навыка, проверки среды выполнения и конфигурации, а также действующий список разрешённых навыков агента, если настроен `agents.defaults.skills` или `agents.list[].skills`. Skills, встроенные в плагин, доступны только тогда, когда включён владеющий ими плагин; это позволяет плагинам инструментов предоставлять более подробные руководства по эксплуатации, не включая все эти указания в описание каждого инструмента.

```xml
<available_skills>
  <skill>
    <name>...</name>
    <description>...</description>
    <location>...</location>
    <version>sha256:...</version>
  </skill>
</available_skills>
```

Это сохраняет базовый промпт небольшим, одновременно обеспечивая целевое использование Skills. Размер контролируется подсистемой Skills отдельно от общих ограничений среды выполнения на чтение и вставку:

| Область     | Бюджет промпта Skills                              | Бюджет фрагментов среды выполнения            |
| --------- | ------------------------------------------------- | --------------------------------- |
| Глобально    | `skills.limits.maxSkillsPromptChars`              | `agents.defaults.contextLimits.*` |
| Для каждого агента | `agents.list[].skillsLimits.maxSkillsPromptChars` | `agents.list[].contextLimits.*`   |

Бюджет фрагментов среды выполнения охватывает `memory_get`, результаты инструментов в реальном времени и обновления `AGENTS.md` после Compaction.

## Документация

Раздел **Документация** указывает на локальную документацию, когда она доступна (`docs/` в рабочей копии Git или документация встроенного пакета npm), а в противном случае использует [https://docs.openclaw.ai](https://docs.openclaw.ai). В нём также указывается расположение исходного кода OpenClaw: рабочие копии Git предоставляют локальный корень исходного кода, а установки из пакета — URL исходного кода на GitHub с инструкциями изучить его там, если документация неполна или устарела.

Промпт определяет документацию как авторитетный источник для самопознания OpenClaw до того, как модель поймёт принципы работы OpenClaw (память/ежедневные заметки, сеансы, инструменты, Gateway, конфигурация, команды, контекст проекта), и предписывает модели рассматривать `AGENTS.md`, контекст проекта, заметки рабочей области/профиля/памяти и `memory_search` как контекст инструкций или пользовательскую память, а не как знания о проектировании и реализации OpenClaw. Если документация ничего не сообщает или устарела, модель должна указать это и изучить исходный код. Промпт также предписывает модели самостоятельно запускать `openclaw status`, когда это возможно, и обращаться к пользователю только при отсутствии доступа.

В частности, для конфигурации он направляет агентов к действию `config.schema.lookup` инструмента `gateway` для получения точной документации и ограничений на уровне отдельных полей, а затем к `docs/gateway/configuration.md` и `docs/gateway/configuration-reference.md` для более общих рекомендаций.

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

- [Среда выполнения агента](/ru/concepts/agent)
- [Рабочая область агента](/ru/concepts/agent-workspace)
- [Механизм контекста](/ru/concepts/context-engine)
