---
read_when:
    - Редагування тексту системного prompt, списку інструментів або розділів часу/Heartbeat
    - Зміна поведінки початкового налаштування workspace або ін’єкції Skills
summary: Що містить системний prompt OpenClaw і як він збирається
title: Системний prompt
x-i18n:
    generated_at: "2026-04-23T22:59:25Z"
    model: gpt-5.4
    provider: openai
    source_hash: ff0498b99974f1a75fc9b93ca46cc0bf008ebf234b429c05ee689a4a150d29f1
    source_path: concepts/system-prompt.md
    workflow: 15
---

OpenClaw збирає власний системний prompt для кожного запуску агента. Prompt **належить OpenClaw** і не використовує типовий prompt pi-coding-agent.

Prompt збирається OpenClaw і ін’єктується в кожен запуск агента.

Provider plugins можуть додавати cache-aware вказівки для prompt без заміни
повного prompt, що належить OpenClaw. Runtime provider може:

- замінювати невеликий набір іменованих базових розділів (`interaction_style`,
  `tool_call_style`, `execution_bias`)
- ін’єктувати **стабільний префікс** над межею кешу prompt
- ін’єктувати **динамічний суфікс** під межею кешу prompt

Використовуйте внески, що належать provider, для налаштування під конкретні сімейства моделей. Залишайте застарілу
мутацію prompt через `before_prompt_build` для сумісності або справді глобальних змін prompt, а не для звичайної поведінки provider.

Накладка для сімейства OpenAI GPT-5 зберігає базове правило виконання невеликим і додає
специфічні для моделі вказівки щодо фіксації persona, лаконічного виводу, дисципліни інструментів,
паралельного пошуку, охоплення deliverable, перевірки, відсутнього контексту та
гігієни terminal-tool.

## Структура

Prompt навмисно компактний і використовує фіксовані розділи:

- **Tooling**: нагадування про джерело істини для structured-tool плюс вказівки щодо використання runtime-інструментів.
- **Execution Bias**: компактні вказівки щодо доведення до кінця: діяти в поточному ході на
  запити, які можна виконати, продовжувати до завершення або блокування, відновлюватися після слабких результатів інструментів,
  перевіряти змінний стан наживо та верифікувати перед фіналізацією.
- **Safety**: коротке нагадування про запобіжники, щоб уникати поведінки, спрямованої на здобуття влади, або обходу нагляду.
- **Skills** (коли доступні): пояснює моделі, як завантажувати інструкції Skills на вимогу.
- **OpenClaw Self-Update**: як безпечно інспектувати конфігурацію за допомогою
  `config.schema.lookup`, змінювати конфігурацію через `config.patch`, замінювати всю
  конфігурацію через `config.apply` і запускати `update.run` лише на явний запит користувача. Інструмент `gateway`, доступний лише власнику, також відмовляється переписувати
  `tools.exec.ask` / `tools.exec.security`, включно із застарілими
  псевдонімами `tools.bash.*`, які нормалізуються до цих захищених exec-шляхів.
- **Workspace**: робочий каталог (`agents.defaults.workspace`).
- **Documentation**: локальний шлях до документації OpenClaw (репозиторій або npm package) і коли її читати.
- **Workspace Files (injected)**: вказує, що bootstrap-файли включено нижче.
- **Sandbox** (коли ввімкнено): вказує sandboxed runtime, шляхи sandbox і те, чи доступний підвищений exec.
- **Current Date & Time**: локальний час користувача, часовий пояс і формат часу.
- **Reply Tags**: необов’язковий синтаксис тегів відповіді для підтримуваних provider.
- **Heartbeats**: Heartbeat-prompt і поведінка підтвердження, коли Heartbeat увімкнено для типового агента.
- **Runtime**: хост, ОС, node, модель, корінь репозиторію (коли виявлено), рівень мислення (один рядок).
- **Reasoning**: поточний рівень видимості + підказка перемикання `/reasoning`.

Розділ Tooling також містить runtime-вказівки для довготривалої роботи:

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

Коли ввімкнено експериментальний інструмент `update_plan`, Tooling також вказує
моделі використовувати його лише для нетривіальної багатокрокової роботи, підтримувати рівно один
крок `in_progress` і не повторювати весь план після кожного оновлення.

Запобіжники Safety у системному prompt мають рекомендаційний характер. Вони спрямовують поведінку моделі, але не забезпечують виконання політики. Для жорсткого контролю використовуйте політику інструментів, погодження exec, sandboxing і allowlist каналів; оператори можуть вимкнути це за задумом.

У каналах із нативними картками/кнопками погодження runtime-prompt тепер вказує
агенту спершу покладатися на цей нативний UI погодження. Він має включати ручну
команду `/approve` лише тоді, коли результат інструмента каже, що погодження в чаті недоступне або
ручне погодження є єдиним шляхом.

## Режими prompt

OpenClaw може рендерити менші системні prompt для субагентів. Runtime встановлює
`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`, додаткові ін’єктовані prompt позначаються як **Subagent
Context**, а не **Group Chat Context**.

## Ін’єкція bootstrap workspace

Bootstrap-файли обрізаються та додаються в розділ **Project Context**, щоб модель бачила ідентичність і контекст профілю без потреби в явному читанні:

- `AGENTS.md`
- `SOUL.md`
- `TOOLS.md`
- `IDENTITY.md`
- `USER.md`
- `HEARTBEAT.md`
- `BOOTSTRAP.md` (лише в абсолютно нових workspace)
- `MEMORY.md`, коли присутній

Усі ці файли **ін’єктуються у вікно контексту** на кожному ході, якщо не застосовується
окремий файловий запобіжник. `HEARTBEAT.md` пропускається у звичайних запусках, коли
Heartbeat вимкнено для типового агента або
`agents.defaults.heartbeat.includeSystemPromptSection` має значення false. Тримайте ін’єктовані
файли стислими — особливо `MEMORY.md`, який з часом може зростати й призводити до
неочікувано великого використання контексту та частішого Compaction.

> **Примітка:** щоденні файли `memory/*.md` **не** є частиною звичайного bootstrap
> Project Context. У звичайних ходах доступ до них відбувається на вимогу через
> інструменти `memory_search` і `memory_get`, тому вони не враховуються у
> вікні контексту, якщо модель явно їх не читає. Виняток — прості ходи `/new` і
> `/reset`: runtime може додавати нещодавню щоденну пам’ять як одноразовий блок
> стартового контексту для цього першого ходу.

Великі файли обрізаються з маркером. Максимальний розмір одного файла контролюється через
`agents.defaults.bootstrapMaxChars` (типово: 12000). Загальний обсяг ін’єктованого bootstrap-вмісту
між файлами обмежується через `agents.defaults.bootstrapTotalMaxChars`
(типово: 60000). Відсутні файли ін’єктують короткий маркер відсутності файла. Коли відбувається обрізання,
OpenClaw може ін’єктувати блок попередження в Project Context; це контролюється через
`agents.defaults.bootstrapPromptTruncationWarning` (`off`, `once`, `always`;
типово: `once`).

Сесії субагентів ін’єктують лише `AGENTS.md` і `TOOLS.md` (інші bootstrap-файли
відфільтровуються, щоб контекст субагента залишався малим).

Внутрішні hooks можуть перехоплювати цей крок через `agent:bootstrap`, щоб змінювати або замінювати
ін’єктовані bootstrap-файли (наприклад, підміняти `SOUL.md` альтернативною persona).

Якщо ви хочете, щоб агент звучав менш шаблонно, почніть із
[Посібника з особистості SOUL.md](/uk/concepts/soul).

Щоб перевірити, який внесок робить кожен ін’єктований файл (сирий vs ін’єктований, обрізання, а також накладні витрати schema інструментів), використовуйте `/context list` або `/context detail`. Див. [Контекст](/uk/concepts/context).

## Робота з часом

Системний prompt включає окремий розділ **Current Date & Time**, коли відомий
часовий пояс користувача. Щоб зберегти стабільність кешу prompt, тепер він містить лише
**часовий пояс** (без динамічного годинника чи формату часу).

Використовуйте `session_status`, коли агенту потрібен поточний час; картка статусу
містить рядок із позначкою часу. Той самий інструмент також може за бажанням встановити
перевизначення моделі для сесії (`model=default` очищає його).

Налаштовується через:

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

Див. [Дата й час](/uk/date-time) для повних подробиць поведінки.

## Skills

Коли існують відповідні Skills, OpenClaw ін’єктує компактний **список доступних Skills**
(`formatSkillsForPrompt`), який включає **шлях до файла** для кожної Skill. Prompt
вказує моделі використовувати `read`, щоб завантажити `SKILL.md` за вказаним
розташуванням (workspace, керованим або вбудованим). Якщо жодна Skill не підходить,
розділ Skills пропускається.

Відповідність включає запобіжники метаданих Skill, перевірки runtime-середовища/конфігурації
та ефективний allowlist Skills агента, коли налаштовано `agents.defaults.skills` або
`agents.list[].skills`.

```
<available_skills>
  <skill>
    <name>...</name>
    <description>...</description>
    <location>...</location>
  </skill>
</available_skills>
```

Це зберігає базовий prompt малим, водночас дозволяючи цільове використання Skills.

Бюджет списку Skills належить підсистемі Skills:

- Глобальне типове значення: `skills.limits.maxSkillsPromptChars`
- Перевизначення для агента: `agents.list[].skillsLimits.maxSkillsPromptChars`

Узагальнені обмежені runtime-витяги використовують іншу поверхню:

- `agents.defaults.contextLimits.*`
- `agents.list[].contextLimits.*`

Це розділення відокремлює розмір Skills від розміру runtime-читання/ін’єкції, такого як
`memory_get`, результати live-інструментів і оновлення `AGENTS.md` після Compaction.

## Documentation

Коли доступно, системний prompt включає розділ **Documentation**, який вказує на
локальний каталог документації OpenClaw (або `docs/` у workspace репозиторію, або документацію з вбудованого npm
package) і також згадує публічне дзеркало, вихідний репозиторій, Discord спільноти та
ClawHub ([https://clawhub.ai](https://clawhub.ai)) для виявлення Skills. Prompt вказує моделі спершу звертатися до локальної документації
щодо поведінки, команд, конфігурації або архітектури OpenClaw і самостійно запускати
`openclaw status`, коли це можливо (питаючи користувача лише тоді, коли доступу немає).

## Пов’язане

- [Runtime агента](/uk/concepts/agent)
- [Workspace агента](/uk/concepts/agent-workspace)
- [Рушій контексту](/uk/concepts/context-engine)
