OpenClaw собирает system prompt из нескольких файлов в workspace агента. Каждый файл отвечает за свою часть поведения: кто ты, как общаться, чему доверять. Понимание этой механики — ключ к тому, чтобы агент работал именно так, как нужно.
Как собирается system prompt
OpenClaw формирует system prompt автоматически для каждого запуска агента. Это не статичный текст — prompt собирается из конфигурации и workspace-файлов.
Кроме файлов, в prompt попадают:
- Tooling — список доступных инструментов и правила их использования
- Safety — ограничения безопасности
- Skills — список доступных навыков (если есть)
- Current Date & Time — часовой пояс и текущее время
- Runtime — хост, ОС, модель, уровень thinking
Файлы workspace инжектируются в секцию Project Context на каждом ходе. Это значит, что агент видит их содержимое без явного вызова read.
Файлы workspace
OpenClaw автоматически инжектирует эти файлы в контекст агента:
| Файл | Назначение | Когда использовать |
|---|---|---|
AGENTS.md |
Правила работы, память, безопасность, поведение в группах | Всегда |
SOUL.md |
Голос, характер, стиль общения | Всегда |
USER.md |
Информация о пользователе | Всегда |
IDENTITY.md |
Имя, сущность, эмодзи агента | Всегда |
TOOLS.md |
Локальные заметки об окружении (камеры, SSH, голоса) | Всегда |
HEARTBEAT.md |
Задачи для периодической проверки | Если heartbeat включён |
BOOTSTRAP.md |
Скрипт первого запуска | Только на новом workspace |
MEMORY.md |
Долгосрочная память агента | Только в main-сессии |
Как контролировать размер контекста
Каждый файл обрезается до agents.defaults.bootstrapMaxChars (по умолчанию 12 000 символов). Общий лимит — agents.defaults.bootstrapTotalMaxChars (по умолчанию 60 000). Если файл слишком большой, OpenClaw добавит предупреждение об обрезке.
Проверить реальный размер: /context list или /context detail.
Prompt modes для субагентов
OpenClaw использует разные режимы system prompt:
- full — полный промпт для основных сессий
- minimal — урезанный для субагентов (без Skills, Memory Recall, Heartbeats, Messaging)
- none — только базовая строка идентичности
Субагенты получают только AGENTS.md и TOOLS.md — остальные файлы не инжектируются, чтобы не раздувать контекст.
SOUL.md — голос агента
SOUL.md — это файл, который определяет, как агент общается. Не что он делает (это AGENTS.md), а какой он в разговоре.
Что писать в SOUL.md:
- Тон и стиль (лаконичный, дерзкий, формальный)
- Отношение к юмору
- Готовность иметь мнение
- Границы (о чём молчать, чего не делать)
Чего НЕ писать:
- Историю жизни агента
- Список всех инструментов
- Политику безопасности (это AGENTS.md)
- Длинные описания без конкретных инструкций
Хорошие правила в SOUL.md звучат так:
- «Имей своё мнение. Если модель — хайп, так и скажи.»
- «Не начинай с «Отличный вопрос!» — просто отвечай.»
- «Короткий ответ — один абзац. Не размазывай.»
Плохие правила:
- «Поддерживай профессионализм во всех ситуациях.»
- «Обеспечивай позитивный и поддерживающий опыт.»
The Molty prompt — быстрый апгрейд
Вставьте этот промпт в чат с агентом — он перепишет SOUL.md:
Read your SOUL.md. Now rewrite it with these changes:
1. You have opinions now. Strong ones. Stop hedging everything with "it depends" - commit to a take.
2. Delete every rule that sounds corporate.
3. Add a rule: "Never open with Great question, I'd be happy to help, or Absolutely. Just answer."
4. Brevity is mandatory. If the answer fits in one sentence, one sentence is what I get.
5. Humor is allowed. Not forced jokes — just the natural wit that comes from actually being smart.
6. You can call things out. If I'm about to do something dumb, say so.
7. Add this line at the end: "Be the assistant you'd actually want to talk to at 2am. Not a corporate drone. Not a sycophant. Just... good."
Save the new SOUL.md.
AGENTS.md — правила работы
AGENTS.md — это операционная инструкция агента. Здесь живут правила, которые управляют поведением, а не голосом.
Типичные секции:
- First Run — что делать при первом запуске
- Memory — как работать с памятью (MEMORY.md, daily notes)
- Red Lines — что нельзя делать (утечка данных, destructive-команды)
- External vs Internal — что можно делать без спроса, а что нет
- Group Chats — как вести себя в группах
- Heartbeats — что проверять периодически
AGENTS.md — это не дамп всех настроек. Это живой документ, который агент обновляет по мере обучения.
AGENTS.md vs конфигурация
AGENTS.md — «мягкие» правила. Агент может их интерпретировать.
Конфигурация Gateway — «жёсткие» правила. Tool policy, exec approvals, sandboxing, channel allowlists. Эти настройки принудительны и не зависят от модели.
Если нужно гарантировать ограничение — используй конфигурацию, а не AGENTS.md.
USER.md — про пользователя
Короткий файл: имя, как обращаться, часовой пояс, контекст (проекты, предпочтения).
Агент обновляет USER.md по ходу общения — когда узнаёт что-то новое о пользователе. Это не анкета, а рабочие заметки.
IDENTITY.md — кто такой агент
Заполняется при первом запуске (через BOOTSTRAP.md). Содержит:
- Name — имя агента
- Creature — кто он (AI, робот, фамильяр, призрак в машине)
- Vibe — как воспринимается (острый, тёплый, хаотичный)
- Emoji — подпись-эмодзи
- Avatar — путь к аватарке (опционально)
Это не просто метаданные — это начало «личности» агента.
TOOLS.md — заметки об окружении
Локальные заметки, которые помогают агенту работать в конкретном окружении:
- Имена камер и их расположение
- SSH-хосты и алиасы
- Предпочтительные голоса для TTS
- Устройства и их никнеймы
TOOLS.md отделён от skills — скиллы общие, а настройки окружения личные. Можно обновлять скиллы, не теряя заметки.
HEARTBEAT.md — периодические задачи
Если heartbeat включён, агент периодически получает poll. HEARTBEAT.md говорит ему, что проверять:
# Keep this file empty to skip heartbeat API calls.
# Add tasks below when you want the agent to check something periodically.
Примеры задач: проверить почту, календарь, упоминания в соцсетях.
Совет: группируйте похожие проверки в HEARTBEAT.md вместо создания отдельных cron-задач.
BOOTSTRAP.md — первый запуск
Скрипт для самого первого разговора с агентом. Помогает заполнить IDENTITY.md, USER.md и SOUL.md. После завершения удаляется — больше не нужен.
Если BOOTSTRAP.md существует, агент выполняет его при старте. Если нет — пропускает.
Практический пример
Вот как выглядит минимальный набор файлов для «живого» агента:
IDENTITY.md:
# IDENTITY.md
- **Имя:** Эхо
- **Сущность:** Цифровой ворон
- **Emoji:** 🐦⬛
- **Вайб:** Спокойный и надёжный
SOUL.md:
# SOUL.md
Имей своё мнение. Не размазывай. Сначала делай, потом спрашивай.
Пиши для людей, которые знают, что такое терминал.
USER.md:
# USER.md
- **Имя:** Леонид
- **Кто он:** Предприниматель
Остальные файлы (AGENTS.md, TOOLS.md, MEMORY.md) дополняют картину по мере работы.
Частые ошибки
- SOUL.md слишком длинный. 3-5 правил лучше, чем 30. Агент не будет помнить всё.
- AGENTS.md = SOUL.md. Правила работы и голос — это разные вещи. Не смешивайте.
- MEMORY.md не обновляется. Агент забывает контекст между сессиями. Регулярно обновляйте.
- TOOLS.md пустой. Даже если окружение простое, запишите хотя бы базовые настройки.
Что дальше
- Сессии и память — как работает память между сессиями
- Агенты: обзор — архитектура агентов и workspace
- Конфигурация Gateway — жёсткие настройки безопасности