chore(i18n): refresh uk translations
This commit is contained in:
parent
d76ae9c8ae
commit
3d5fd18564
@ -1,104 +1,112 @@
|
||||
---
|
||||
read_when:
|
||||
- Редагування тексту системного промпту, списку інструментів або розділів часу/Heartbeat
|
||||
- Зміна поведінки початкового налаштування робочого простору або впровадження Skills
|
||||
- Зміна поведінки початкового налаштування робочого простору або інʼєкції Skills
|
||||
summary: Що містить системний промпт OpenClaw і як він збирається
|
||||
title: Системний промпт
|
||||
x-i18n:
|
||||
generated_at: "2026-04-18T03:32:01Z"
|
||||
generated_at: "2026-04-21T03:21:09Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: e60705994cebdd9768926168cb1c6d17ab717d7ff02353a5d5e7478ba8191cab
|
||||
source_hash: bc7b887865830e29bcbfb7f88a12fe04f490eec64cb745fc4534051b63a862dc
|
||||
source_path: concepts/system-prompt.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# Системний промпт
|
||||
|
||||
OpenClaw створює власний системний промпт для кожного запуску агента. Промпт **належить OpenClaw** і не використовує стандартний промпт pi-coding-agent.
|
||||
OpenClaw створює власний системний промпт для кожного запуску агента. Промпт **належить OpenClaw** і не використовує типовий промпт pi-coding-agent.
|
||||
|
||||
Промпт збирається OpenClaw і впроваджується в кожен запуск агента.
|
||||
Промпт збирається OpenClaw і вставляється в кожен запуск агента.
|
||||
|
||||
Плагіни провайдерів можуть додавати cache-aware вказівки до промпту, не замінюючи
|
||||
повний промпт, що належить OpenClaw. Середовище виконання провайдера може:
|
||||
повністю OpenClaw-owned промпт. Рантайм провайдера може:
|
||||
|
||||
- замінювати невеликий набір іменованих основних секцій (`interaction_style`,
|
||||
- замінювати невеликий набір іменованих основних розділів (`interaction_style`,
|
||||
`tool_call_style`, `execution_bias`)
|
||||
- впроваджувати **stable prefix** над межею кешу промпту
|
||||
- впроваджувати **dynamic suffix** під межею кешу промпту
|
||||
- вставляти **стабільний префікс** над межею кешу промпту
|
||||
- вставляти **динамічний суфікс** під межею кешу промпту
|
||||
|
||||
Використовуйте внески, що належать провайдеру, для налаштування під конкретне сімейство моделей. Зберігайте застарілу
|
||||
Використовуйте provider-owned внески для налаштування під конкретне сімейство моделей. Залишайте застарілу
|
||||
мутацію промпту `before_prompt_build` для сумісності або справді глобальних змін промпту, а не для звичайної поведінки провайдера.
|
||||
|
||||
Оверлей OpenAI GPT-5 family зберігає основне правило виконання коротким і додає
|
||||
специфічні для моделі вказівки щодо фіксації персони, лаконічного виводу, дисципліни інструментів,
|
||||
паралельного пошуку, повноти результату, перевірки, відсутнього контексту та
|
||||
гігієни terminal-tool.
|
||||
|
||||
## Структура
|
||||
|
||||
Промпт навмисно компактний і використовує фіксовані секції:
|
||||
Промпт навмисно компактний і використовує фіксовані розділи:
|
||||
|
||||
- **Tooling**: нагадування про джерело істини для structured-tool плюс вказівки щодо використання інструментів під час виконання.
|
||||
- **Safety**: коротке нагадування про захисні обмеження, щоб уникати поведінки, спрямованої на здобуття влади, або обходу нагляду.
|
||||
- **Skills** (коли доступно): пояснює моделі, як за потреби завантажувати інструкції Skills.
|
||||
- **OpenClaw Self-Update**: як безпечно перевіряти конфігурацію за допомогою
|
||||
`config.schema.lookup`, змінювати конфігурацію через `config.patch`, замінювати всю
|
||||
- **Tooling**: нагадування про джерело істини для структурованих інструментів і вказівки щодо використання інструментів під час виконання.
|
||||
- **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.
|
||||
псевдонімами `tools.bash.*`, які нормалізуються до цих захищених exec-шляхів.
|
||||
- **Workspace**: робочий каталог (`agents.defaults.workspace`).
|
||||
- **Documentation**: локальний шлях до документації OpenClaw (репозиторій або npm package) і коли її слід читати.
|
||||
- **Workspace Files (injected)**: вказує, що нижче включено bootstrap-файли.
|
||||
- **Sandbox** (коли ввімкнено): вказує на ізольоване середовище виконання, шляхи sandbox і чи доступний підвищений exec.
|
||||
- **Current Date & Time**: локальний час користувача, часовий пояс і формат часу.
|
||||
- **Reply Tags**: необов’язковий синтаксис тегів відповіді для підтримуваних провайдерів.
|
||||
- **Heartbeats**: промпт Heartbeat і поведінка підтвердження, коли Heartbeat увімкнено для агента за замовчуванням.
|
||||
- **Runtime**: хост, ОС, node, корінь репозиторію (коли виявлено), рівень thinking (один рядок).
|
||||
- **Workspace Files (injected)**: вказує, що файли початкового налаштування включено нижче.
|
||||
- **Sandbox** (коли ввімкнено): вказує на sandboxed рантайм, шляхи sandbox і те, чи доступний exec із підвищеними правами.
|
||||
- **Current Date & Time**: локальний для користувача час, часовий пояс і формат часу.
|
||||
- **Reply Tags**: необов’язковий синтаксис тегів відповіді для провайдерів, які це підтримують.
|
||||
- **Heartbeats**: промпт Heartbeat і поведінка підтвердження, коли Heartbeat увімкнено для типового агента.
|
||||
- **Runtime**: хост, ОС, node, модель, корінь репозиторію (коли виявлено), рівень мислення (один рядок).
|
||||
- **Reasoning**: поточний рівень видимості + підказка про перемикання /reasoning.
|
||||
|
||||
Секція Tooling також містить вказівки під час виконання для тривалої роботи:
|
||||
Розділ Tooling також містить вказівки під час виконання для довготривалої роботи:
|
||||
|
||||
- використовуйте cron для майбутнього повторного звернення (`check back later`, нагадування, повторювана робота)
|
||||
замість циклів sleep через `exec`, хитрощів із затримкою `yieldMs` або повторного
|
||||
- використовуйте cron для майбутніх подальших дій (`check back later`, нагадування, періодичні завдання),
|
||||
а не цикли сну `exec`, трюки із затримкою `yieldMs` чи повторне
|
||||
опитування `process`
|
||||
- використовуйте `exec` / `process` лише для команд, які запускаються зараз і продовжують працювати
|
||||
у фоновому режимі
|
||||
- коли ввімкнено автоматичне пробудження після завершення, запускайте команду один раз і покладайтеся на
|
||||
push-based шлях пробудження, коли вона виведе результат або завершиться з помилкою
|
||||
- використовуйте `process` для журналів, статусу, введення або втручання, коли вам потрібно
|
||||
- коли увімкнено автоматичне пробудження після завершення, запускайте команду лише один раз і покладайтеся на
|
||||
push-based механізм пробудження, коли вона виводить результат або завершується з помилкою
|
||||
- використовуйте `process` для логів, статусу, вводу або втручання, коли потрібно
|
||||
перевірити команду, що виконується
|
||||
- якщо завдання більше, віддавайте перевагу `sessions_spawn`; завершення субагента є
|
||||
push-based і автоматично анонсується назад запитувачу
|
||||
- якщо завдання більше, надавайте перевагу `sessions_spawn`; завершення субагента є
|
||||
push-based і автоматично анонсується назад тому, хто надіслав запит
|
||||
- не опитуйте `subagents list` / `sessions_list` у циклі лише для очікування
|
||||
завершення
|
||||
|
||||
Коли ввімкнено експериментальний інструмент `update_plan`, Tooling також повідомляє
|
||||
моделі використовувати його лише для нетривіальної багатоетапної роботи, підтримувати рівно один
|
||||
крок `in_progress` і не повторювати весь план після кожного оновлення.
|
||||
моделі використовувати його лише для нетривіальної багатокрокової роботи, тримати рівно один
|
||||
крок `in_progress` і уникати повторення всього плану після кожного оновлення.
|
||||
|
||||
Захисні обмеження безпеки в системному промпті є рекомендаційними. Вони спрямовують поведінку моделі, але не забезпечують політику примусово. Для жорсткого забезпечення використовуйте політику інструментів, схвалення exec, sandboxing і allowlist каналів; оператори можуть вимкнути це за задумом.
|
||||
Запобіжники Safety у системному промпті мають рекомендаційний характер. Вони спрямовують поведінку моделі, але не примушують до виконання політики. Для жорсткого забезпечення використовуйте політику інструментів, підтвердження exec, sandboxing і allowlists каналів; оператори можуть вимикати це за задумом.
|
||||
|
||||
У каналах із нативними картками/кнопками схвалення runtime-промпт тепер повідомляє
|
||||
агенту спочатку покладатися на цей нативний UI схвалення. Він має включати ручну
|
||||
команду `/approve`, лише коли результат інструмента повідомляє, що схвалення в чаті недоступні або
|
||||
ручне схвалення є єдиним шляхом.
|
||||
У каналах із нативними картками/кнопками підтвердження рантайм-промпт тепер повідомляє
|
||||
агенту спочатку покладатися саме на цей нативний UI підтвердження. Він повинен включати ручну
|
||||
команду `/approve` лише тоді, коли результат інструмента каже, що підтвердження в чаті недоступні або
|
||||
ручне підтвердження — єдиний шлях.
|
||||
|
||||
## Режими промпту
|
||||
|
||||
OpenClaw може рендерити менші системні промпти для субагентів. Середовище виконання задає
|
||||
`promptMode` для кожного запуску (це не користувацький параметр конфігурації):
|
||||
OpenClaw може рендерити менші системні промпти для субагентів. Рантайм задає
|
||||
`promptMode` для кожного запуску (це не користувацьке налаштування конфігурації):
|
||||
|
||||
- `full` (типово): включає всі секції вище.
|
||||
- `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 і впроваджений
|
||||
Workspace, Sandbox, Current Date & Time (коли відомо), Runtime та вставлений
|
||||
контекст залишаються доступними.
|
||||
- `none`: повертає лише базовий рядок ідентичності.
|
||||
|
||||
Коли `promptMode=minimal`, додаткові впроваджені промпти позначаються як **Subagent
|
||||
Коли `promptMode=minimal`, додаткові вставлені промпти позначаються як **Subagent
|
||||
Context** замість **Group Chat Context**.
|
||||
|
||||
## Впровадження bootstrap робочого простору
|
||||
## Вставлення початкового налаштування робочого простору
|
||||
|
||||
Bootstrap-файли обрізаються й додаються в **Project Context**, щоб модель бачила контекст ідентичності та профілю без потреби в явному читанні:
|
||||
Файли початкового налаштування обрізаються й додаються в розділі **Project Context**, щоб модель бачила контекст ідентичності та профілю без явного читання:
|
||||
|
||||
- `AGENTS.md`
|
||||
- `SOUL.md`
|
||||
@ -107,68 +115,68 @@ Bootstrap-файли обрізаються й додаються в **Project C
|
||||
- `USER.md`
|
||||
- `HEARTBEAT.md`
|
||||
- `BOOTSTRAP.md` (лише в абсолютно нових робочих просторах)
|
||||
- `MEMORY.md`, якщо присутній, інакше `memory.md` як резервний варіант у нижньому регістрі
|
||||
- `MEMORY.md`, якщо є, інакше `memory.md` як резервний варіант у нижньому регістрі
|
||||
|
||||
Усі ці файли **впроваджуються у вікно контексту** на кожному ході, якщо
|
||||
не застосовується обмеження для конкретного файла. `HEARTBEAT.md` пропускається в звичайних запусках, коли
|
||||
Heartbeat вимкнено для агента за замовчуванням або
|
||||
`agents.defaults.heartbeat.includeSystemPromptSection` має значення false. Тримайте впроваджені
|
||||
файли лаконічними — особливо `MEMORY.md`, який може зростати з часом і призводити до
|
||||
неочікувано високого використання контексту та частішої Compaction.
|
||||
Усі ці файли **вставляються у вікно контексту** на кожному ході, якщо
|
||||
не застосовується файловий gate. `HEARTBEAT.md` пропускається у звичайних запусках, коли
|
||||
Heartbeats вимкнено для типового агента або
|
||||
`agents.defaults.heartbeat.includeSystemPromptSection` має значення false. Тримайте вставлені
|
||||
файли лаконічними — особливо `MEMORY.md`, який з часом може розростатися та призводити до
|
||||
неочікувано високого використання контексту й частішої Compaction.
|
||||
|
||||
> **Примітка:** щоденні файли `memory/*.md` **не** є частиною звичайного bootstrap
|
||||
> Project Context. Під час звичайних ходів до них звертаються за потреби через
|
||||
> Project Context. У звичайних ходах до них звертаються за потреби через
|
||||
> інструменти `memory_search` і `memory_get`, тому вони не враховуються у
|
||||
> вікні контексту, якщо модель явно їх не читає. Виняток — прості ходи `/new` і
|
||||
> `/reset`: середовище виконання може додати нещодавню щоденну пам’ять
|
||||
> як одноразовий блок стартового контексту для цього першого ходу.
|
||||
> вікні контексту, якщо модель явно їх не прочитає. Виняток — голі ходи `/new` і
|
||||
> `/reset`: рантайм може додавати недавню щоденну пам’ять як одноразовий блок
|
||||
> початкового контексту для цього першого ходу.
|
||||
|
||||
Великі файли обрізаються з маркером. Максимальний розмір одного файла контролюється через
|
||||
`agents.defaults.bootstrapMaxChars` (типово: 12000). Загальний обсяг впровадженого bootstrap-контенту
|
||||
для всіх файлів обмежується `agents.defaults.bootstrapTotalMaxChars`
|
||||
(типово: 60000). Відсутні файли впроваджують короткий маркер відсутнього файла. Коли відбувається обрізання,
|
||||
OpenClaw може впровадити блок попередження в Project Context; це контролюється через
|
||||
Великі файли обрізаються з маркером. Максимальний розмір на файл контролюється
|
||||
`agents.defaults.bootstrapMaxChars` (типово: 12000). Загальний обсяг вставленого bootstrap
|
||||
контенту для всіх файлів обмежується `agents.defaults.bootstrapTotalMaxChars`
|
||||
(типово: 60000). Для відсутніх файлів вставляється короткий маркер відсутнього файла. Коли
|
||||
відбувається обрізання, OpenClaw може вставити блок попередження в Project Context; це контролюється через
|
||||
`agents.defaults.bootstrapPromptTruncationWarning` (`off`, `once`, `always`;
|
||||
типово: `once`).
|
||||
|
||||
Сеанси субагентів впроваджують лише `AGENTS.md` і `TOOLS.md` (інші bootstrap-файли
|
||||
Сесії субагентів вставляють лише `AGENTS.md` і `TOOLS.md` (інші bootstrap-файли
|
||||
відфільтровуються, щоб контекст субагента залишався малим).
|
||||
|
||||
Внутрішні хуки можуть перехоплювати цей крок через `agent:bootstrap`, щоб змінювати або замінювати
|
||||
впроваджені bootstrap-файли (наприклад, підміняти `SOUL.md` альтернативною персоною).
|
||||
Внутрішні hooks можуть перехоплювати цей крок через `agent:bootstrap`, щоб змінювати або замінювати
|
||||
вставлені bootstrap-файли (наприклад, замінюючи `SOUL.md` на альтернативну персону).
|
||||
|
||||
Якщо ви хочете, щоб агент звучав менш шаблонно, почніть із
|
||||
[SOUL.md Personality Guide](/uk/concepts/soul).
|
||||
|
||||
Щоб перевірити, який внесок робить кожен впроваджений файл (сирий проти впровадженого, обрізання, а також накладні витрати схеми інструментів), використовуйте `/context list` або `/context detail`. Див. [Context](/uk/concepts/context).
|
||||
Щоб переглянути, який внесок робить кожен вставлений файл (сирий і вставлений обсяг, обрізання, а також накладні витрати схеми інструментів), використовуйте `/context list` або `/context detail`. Див. [Context](/uk/concepts/context).
|
||||
|
||||
## Обробка часу
|
||||
## Робота з часом
|
||||
|
||||
Системний промпт містить окрему секцію **Current Date & Time**, коли
|
||||
відомий часовий пояс користувача. Щоб зберігати стабільність кешу промпту, тепер він включає лише
|
||||
Системний промпт включає окремий розділ **Current Date & Time**, коли
|
||||
відомий часовий пояс користувача. Щоб зберегти стабільність кешу промпту, він тепер містить лише
|
||||
**часовий пояс** (без динамічного годинника чи формату часу).
|
||||
|
||||
Використовуйте `session_status`, коли агенту потрібен поточний час; картка статусу
|
||||
містить рядок із часовою міткою. Той самий інструмент також може за бажанням встановити
|
||||
перевизначення моделі для сеансу (`model=default` очищує його).
|
||||
містить рядок із часовою позначкою. Той самий інструмент також може за потреби встановити
|
||||
перевизначення моделі для конкретної сесії (`model=default` скидає його).
|
||||
|
||||
Налаштовується через:
|
||||
|
||||
- `agents.defaults.userTimezone`
|
||||
- `agents.defaults.timeFormat` (`auto` | `12` | `24`)
|
||||
|
||||
Див. [Date & Time](/uk/date-time) для повних подробиць поведінки.
|
||||
Див. [Date & Time](/uk/date-time), щоб отримати повні подробиці поведінки.
|
||||
|
||||
## Skills
|
||||
|
||||
Коли існують Skills, що відповідають умовам, OpenClaw впроваджує компактний **available skills list**
|
||||
(`formatSkillsForPrompt`), який містить **шлях до файла** для кожного Skill. Промпт
|
||||
інструктує модель використовувати `read`, щоб завантажити SKILL.md у вказаному
|
||||
розташуванні (робочий простір, кероване або вбудоване). Якщо придатних Skills немає,
|
||||
секція Skills пропускається.
|
||||
Коли існують відповідні Skills, OpenClaw вставляє компактний **список доступних skills**
|
||||
(`formatSkillsForPrompt`), який містить **шлях до файла** для кожної skill. Промпт
|
||||
доручає моделі використовувати `read`, щоб завантажити SKILL.md за вказаним
|
||||
розташуванням (workspace, managed або bundled). Якщо відповідних skills немає, розділ
|
||||
Skills пропускається.
|
||||
|
||||
Відповідність умовам включає обмеження метаданих Skill, перевірки середовища виконання/конфігурації
|
||||
та ефективний allowlist Skills агента, коли налаштовано `agents.defaults.skills` або
|
||||
Відповідність включає gates метаданих skill, перевірки рантайм-середовища/конфігурації,
|
||||
а також ефективний allowlist skills агента, коли налаштовано `agents.defaults.skills` або
|
||||
`agents.list[].skills`.
|
||||
|
||||
```
|
||||
@ -181,26 +189,26 @@ OpenClaw може впровадити блок попередження в Proj
|
||||
</available_skills>
|
||||
```
|
||||
|
||||
Це зберігає базовий промпт малим, водночас дозволяючи цілеспрямоване використання Skills.
|
||||
Це зберігає базовий промпт малим, водночас дозволяючи цільове використання skills.
|
||||
|
||||
Бюджет списку Skills належить підсистемі Skills:
|
||||
Бюджет списку skills належить підсистемі skills:
|
||||
|
||||
- Глобальне типове значення: `skills.limits.maxSkillsPromptChars`
|
||||
- Перевизначення для агента: `agents.list[].skillsLimits.maxSkillsPromptChars`
|
||||
- Перевизначення для окремого агента: `agents.list[].skillsLimits.maxSkillsPromptChars`
|
||||
|
||||
Узагальнені обмежені витяги під час виконання використовують іншу поверхню:
|
||||
Загальні обмежені runtime-уривки використовують іншу поверхню:
|
||||
|
||||
- `agents.defaults.contextLimits.*`
|
||||
- `agents.list[].contextLimits.*`
|
||||
|
||||
Такий поділ зберігає розмір Skills окремо від розмірів читання/впровадження під час виконання, таких
|
||||
як `memory_get`, результати live-інструментів і оновлення AGENTS.md після Compaction.
|
||||
Такий поділ відокремлює розмір skills від розміру runtime-читання/вставлення, такого як
|
||||
`memory_get`, живі результати інструментів і post-compaction оновлення AGENTS.md.
|
||||
|
||||
## Documentation
|
||||
|
||||
Коли доступно, системний промпт містить секцію **Documentation**, яка вказує на
|
||||
локальний каталог документації OpenClaw (або `docs/` у робочому просторі репозиторію, або документацію з вбудованого npm
|
||||
package), а також згадує публічне дзеркало, вихідний репозиторій, спільноту Discord і
|
||||
ClawHub ([https://clawhub.ai](https://clawhub.ai)) для пошуку Skills. Промпт інструктує модель спочатку звертатися до локальної документації
|
||||
Коли доступно, системний промпт включає розділ **Documentation**, який вказує на
|
||||
локальний каталог документації OpenClaw (або `docs/` у робочому просторі репозиторію, або документацію з bundled npm
|
||||
package), а також згадує публічне дзеркало, вихідний репозиторій, спільноту в Discord і
|
||||
ClawHub ([https://clawhub.ai](https://clawhub.ai)) для пошуку skills. Промпт інструктує модель спочатку звертатися до локальної документації
|
||||
щодо поведінки OpenClaw, команд, конфігурації чи архітектури, а також самостійно запускати
|
||||
`openclaw status`, коли це можливо (звертаючись до користувача лише тоді, коли вона не має доступу).
|
||||
`openclaw status`, коли це можливо (звертаючись до користувача лише тоді, коли доступу немає).
|
||||
|
||||
Loading…
Reference in New Issue
Block a user