Промпт-инженерия в OpenClaw — это настройка системного промпта и характера агента через файлы AGENTS.md, SOUL.md, IDENTITY.md, USER.md и конфиг openclaw.json. В этом руководстве — где OpenClaw хранит «личность» ассистента, как поменять тон и правила поведения за 5 минут, какие лимиты действуют на встраивание файлов и какие формулировки реально работают, а какие превращают агента в безликий корпоративный шаблон.
Что такое системный промпт в OpenClaw
Системный промпт OpenClaw — это инструкция, которую модель получает перед каждым ответом и которая определяет, как агент себя ведёт: как пишет, какие инструменты использует, что считает важным, а что запрещённым. Ключевая особенность: OpenClaw собирает свой системный промпт автоматически для каждого запуска — единого «дефолтного промпта», который можно отредактировать одной строкой, в нём нет.
Сборка идёт из трёх слоёв:
openclaw.json: имя агента, характер, модель, уровень рассуждений, часовой пояс.AGENTS.md, SOUL.md, IDENTITY.md, USER.md и MEMORY.md, которые подставляются в системный промпт автоматически.В отличие от ChatGPT или Claude, где системную инструкцию вставляют в одно поле настроек, OpenClaw разбивает «личность» на отдельные файлы с разными ролями. Это означает, что характер, правила работы и профиль пользователя можно менять независимо — не трогая остальное.
Где OpenClaw хранит настройки агента
Все файлы «личности» лежат в воркспейсе агента — рабочей папке, которую OpenClaw использует как домашнюю. По умолчанию это ~/.openclaw/workspace, путь меняется в конфиге через agents.defaults.workspace. Конфиг ~/.openclaw/openclaw.json и базы данных сессий хранятся отдельно — их в воркспейс класть не нужно.
Стандартные файлы, которые OpenClaw ожидает в воркспейсе:
| Файл | Роль |
|---|---|
| `AGENTS.md` | Операционные инструкции и «память»: правила, приоритеты, как себя вести. Читается в начале каждой сессии. |
| `SOUL.md` | Личность и тон: голос, мнения, границы, краткость, юмор. Загружается каждую сессию. |
| `IDENTITY.md` | Имя агента, «вайб», эмодзи. |
| `USER.md` | Профиль пользователя: стабильные предпочтения, стиль общения, текущие проекты. |
| `BOOTSTRAP.md` | Разовый ритуал первой настройки; создаётся только для нового воркспейса и удаляется после завершения. |
| `MEMORY.md` | Долговременная память: факты, решения, краткие итоги (если файл есть). |
| `memory/ГГГГ-ММ-ДД.md` | Ежедневные заметки памяти — по одному файлу на день. |
На первом ходе новой сессии OpenClaw встраивает содержимое этих файлов в системный промпт (секция Project Context). Пустые файлы пропускаются, большие — обрезаются с пометкой, и агент видит уведомление, что часть файла не попала в промпт, поэтому должен прочитать файл целиком при необходимости.
Как поменять характер агента за 5 минут
Самый быстрый сценарий — если ассистент кажется пресным, шаблонным или «корпоративным»:
~/.openclaw/workspace. Если не уверены, выполните openclaw status — он покажет рабочую директорию.SOUL.md. Именно этот файл отвечает за голос. Перепишите его так, чтобы там были конкретные правила: тон, наличие мнений, отношение к коротким ответам, что можно говорить прямо.AGENTS.md. Сюда кладут правила работы: приоритеты, что агент должен делать в начале задачи, какие форматы ответов предпочитает.IDENTITY.md или команду openclaw agents set-identity (см. ниже)./new в чате) и проверьте результат через /context — что именно попало в системный промпт.Файлы воркспейса не требуют программирования: это обычный Markdown, который OpenClaw сам встраивает в промпт при построении контекста сессии.
Что писать в SOUL.md, чтобы агент не звучал как робот
SOUL.md — файл, где живёт голос агента. Официальная документация OpenClaw прямо говорит: если агент звучит пресно, уклончиво или корпоративно — это обычно тот самый файл, который нужно чинить.
Сюда кладут то, что меняет ощущение от общения: тон, мнения, краткость, юмор, границы, уровень прямоты. Не стоит превращать файл в биографию, журнал изменений, выжимку политик безопасности или «стену вайба» без поведенческого эффекта.
Хорошие правила из документации: иметь свою позицию, пропускать воду, шутить, когда уместно, указывать на плохие идеи заранее, быть кратким, если глубина не нужна. Плохие правила — «поддерживать профессионализм в любое время», «обеспечивать всестороннюю и вдумчивую помощь», «создавать позитивный опыт». Это рецепт безликой каши.
Один из рекомендуемых приёмов — попросить самого агента переписать свой SOUL.md. Например, в документации есть промпт, который агенту отправляют как сообщение:
> Прочитай свой SOUL.md. Теперь перепиши его с такими изменениями: 1. У тебя теперь есть мнения. Сильные. Перестань смягчать всё через «зависит от» — занимай позицию. 2. Удали каждое правило, которое звучит корпоративно. Если оно могло бы стоять в кодексе сотрудника — ему здесь не место. 3. Добавь правило: «Никогда не начинай с «Отличный вопрос, рад помочь» или «Конечно». Просто отвечай». 4. Краткость обязательна: если ответ умещается в одно предложение — это одно предложение. 5. Юмор разрешён…
Важное предупреждение из документации: личность — не разрешение на небрежность. AGENTS.md остаётся файлом правил работы, SOUL.md — файлом голоса и стиля. Если агент работает в общих чатах или с клиентами, тон должен соответствовать аудитории: «острый — хорошо, раздражающий — нет».
Чем AGENTS.md отличается от SOUL.md
AGENTS.md — операционные инструкции. Это файл, который OpenClaw читает в начале каждой сессии и использует как «памятку»: правила, приоритеты, детали «как себя вести» при выполнении задач. Если нужно, чтобы агент сначала проверял факты, потом отвечал, или всегда сохранял отчёт в определённую папку — это сюда.
SOUL.md — голос, позиция, стиль. Один и тот же агент может выполнять одинаковые задачи, но звучать по-разному в зависимости от SOUL.md.
Отдельный нюанс про раздел ## Tools в AGENTS.md: он описывает локальные договорённости о том, как использовать инструменты, но не управляет доступностью инструментов. Есть ли у агента доступ к браузеру, коду или выполнению команд, решает политика инструментов в конфиге (tools.allow / tools.deny), а не текст в AGENTS.md.
Как настроить identity: имя, характер и аватар
Имя, короткое описание характера и эмодзи задаются в конфиге openclaw.json в блоке identity у конкретного агента:
{
agents: {
entries: {
main: {
default: true,
identity: {
name: "Samantha",
theme: "helpful sloth",
emoji: "🦥"
}
}
}
}
}
Поля блока: name — имя, которое видно в чатах и используется для @упоминаний; theme — короткое описание характера («helpful sloth», «professional assistant»), которое попадает в системный промпт; emoji — для реакций; avatar — путь к картинке или URL.
Тот же результат достигается командой CLI — она записывает поля в agents.entries.*.identity:
openclaw agents set-identity --agent main --name "OpenClaw" --emoji "🦞" --avatar avatars/openclaw.png
А если поля уже описаны в IDENTITY.md в корне воркспейса, их можно подтянуть автоматически:
openclaw agents set-identity --workspace ~/.openclaw/workspace --from-identity
Пути к аватарам разрешаются относительно воркспейса и не могут выйти за его пределы даже через симлинк; локальные файлы аватаров ограничены 2 МБ, а вот http(s)-URL и data-URI не проверяются по размеру.
Как работает память: USER.md и MEMORY.md
USER.md — это модель пользователя, построенная на директивах: стабильные предпочтения, стиль общения, отношения и контекст активных проектов. Записи оформляются как датированные активные или заменённые директивы. Файл загружается каждую сессию с отдельным бюджетом в 4000 символов.
MEMORY.md — курируемая долговременная память: устойчивые факты, решения, короткие выжимки. Подробные логи рекомендуется держать в ежедневных файлах memory/ГГГГ-ММ-ДД.md, чтобы инструменты памяти (memory_search, memory_get) доставали их по запросу, не раздувая каждый промпт.
Важный принцип: обрезание при встраивании — не потеря данных. Файл на диске остаётся целым, модель видит лишь сокращённую копию, пока не прочитает или не найдёт память напрямую. Если MEMORY.md регулярно обрезается — сократите его до ёмкой выжимки, перенесите детали в ежедневные заметки или осознанно поднимите лимиты.
Подробнее про память — в отдельной статье Память в OpenClaw: как ИИ-агент запоминает контекст между сессиями.
Какие лимиты действуют на встраивание файлов
Чтобы системный промпт не раздувался, OpenClaw ограничивает встраивание файлов воркспейса:
| Лимит | Ключ конфига | Значение по умолчанию |
|---|---|---|
| Максимум символов на один файл | `agents.defaults.bootstrapMaxChars` | 20 000 |
| Максимум символов суммарно по всем файлам | `agents.defaults.bootstrapTotalMaxChars` | 60 000 |
| Бюджет `USER.md` | отдельный | 4 000 |
При обрезании OpenClaw добавляет в системный промпт заметку о том, что часть файлов усечена и их нужно читать напрямую. Увидеть, сколько реально попало из каждого файла (raw vs injected, обрезания, размер схем инструментов), можно командами /context list и /context detail в чате.
Управлять моментом встраивания позволяет agents.defaults.contextInjection:
"always" (по умолчанию) — файлы воркспейса встраиваются при построении контекста;"continuation-skip" — безопасные продолжения после завершённого ответа пропускают повторное встраивание, экономя промпт;"never" — полное отключение, только для агентов, которые сами владеют своим промптом.Значения можно переопределить для конкретного агента через agents.entries.*.contextInjection, а полностью отключить автогенерацию файлов — флагом agents.defaults.skipBootstrap: true (для воркспейсов, которые вы ведёте сами).
Какие ещё настройки влияют на поведение агента
Системный промпт — не единственный рычаг. Поведение в OpenClaw определяется связкой «промпт + конфиг + политика инструментов»:
Модель и режим рассуждений. В agents.defaults.model задаётся основная модель и запасные (primary + fallbacks), а thinkingDefault и reasoningDefault управляют уровнем рассуждений агента. Например, для креативного ассистента можно поднять thinkingDefault: "high", а для быстрых справочных ответов оставить "low" или "off".
Навыки (skills). Если у агента есть доступные навыки, OpenClaw встраивает в системный промпт компактный список и говорит модели читать SKILL.md по указанному пути при необходимости. Список навыков для агента ограничивается через agents.defaults.skills / agents.entries.*.skills, а глобальный бюджет списка — skills.limits.maxSkillsPromptChars (по умолчанию 18 000 символов). Как создавать навыки — в статье Навыки (skills) в OpenClaw: как создавать и управлять скиллами агента.
Политика инструментов. Это уже не промпт, а жёсткое ограничение: tools.allow и tools.deny решают, какие инструменты вообще доступны. В системном промпте предупреждения о безопасности носят рекомендательный характер — настоящее принуждение делается политикой инструментов, подтверждениями на выполнение команд, песочницей и списками разрешённых каналов. Подробнее — в статье Безопасность OpenClaw: как защитить ИИ-агента от угроз.
Подчинённые агенты (субагенты). Для субагентов OpenClaw собирает уменьшенный промпт (promptMode: minimal): из него исключаются секции памяти, самообновления, модели, профиля пользователя и форматирования. Сессии субагентов встраивают только AGENTS.md — остальные файлы воркспейса фильтруются, чтобы держать контекст маленьким.
Провайдерские вставки. Провайдер модели может добавлять свои слои в системный промпт: заменять одну из трёх именованных секций (interaction_style, tool_call_style, execution_bias), вставлять стабильный префикс или динамический суффикс. Для OpenAI-совместимых маршрутов стиль «дружелюбности» управляется параметром plugins.entries.openai.config.personality: "friendly" — по умолчанию, "on" — то же самое, "off" — убирает только дружелюбный слой, оставляя базовый контракт поведения.
Какие формулировки делают промпт эффективным
Промпт-инженерия в OpenClaw подчиняется тем же правилам, что и общая работа с инструкциями для LLM, но с учётом файловой структуры:
AGENTS.md, голос — в SOUL.md, профиль пользователя — в USER.md. Смешивание приводит к противоречиям и раздуванию.SOUL.md.Если агент игнорирует инструкцию, сначала проверьте, что она вообще попала в промпт: /context detail покажет встроенные файлы и обрезания. Затем проверьте формулировку — общее «будь полезным» модель легко пропускает, а «никогда не начинай ответ со слов «Отличный вопрос»» — нет.
FAQ
Что такое системный промпт в OpenClaw?
Системный промпт OpenClaw — это инструкция, которую модель получает перед ответом; OpenClaw собирает её автоматически для каждого запуска из фиксированных секций (инструменты, безопасность, рабочая директория, время), настроек конфига openclaw.json и файлов воркспейса AGENTS.md, SOUL.md, IDENTITY.md, USER.md, MEMORY.md. Отдельного «дефолтного» промпта для редактирования нет — меняются его источники.
Чем SOUL.md отличается от AGENTS.md?
SOUL.md задаёт голос, тон, мнения и границы общения — как агент звучит. AGENTS.md задаёт операционные правила — как агент работает: приоритеты, последовательность действий, форматы. Оба файла встраиваются в системный промпт, но решают разные задачи; смешивать их не рекомендуется.
Как быстро сменить имя и характер агента?
Измените блок identity в openclaw.json (name, theme, emoji, avatar) или выполните команду openclaw agents set-identity --agent main --name "Имя" --emoji "🦞". Характер и тон подробнее описываются в SOUL.md и IDENTITY.md в воркспейсе агента.
Почему агент не следует моим инструкциям?
Три типичные причины: (1) инструкция слишком общая («будь вежливым») — замените её конкретным правилом-действием; (2) файл обрезан при встраивании — файлы ограничены 20 000 символов, суммарно 60 000, проверьте /context detail; (3) инструкция лежит не в том файле — правила работы кладите в AGENTS.md, а не в SOUL.md.
Когда изменения файлов воркспейса вступают в силу?
Файлы воркспейса встраиваются при построении контекста сессии (по умолчанию contextInjection: "always"), поэтому изменения видны в новых ходах; для чистого результата начните новую сессию или выполните /new. Изменения конфига openclaw.json агент применяет через инструмент gateway (config.patch, config.apply), а не правкой файла на лету.
Ссылки на документацию
Читайте также: Настройка инструментов OpenClaw: браузер, код, поиск и файлы и OpenClaw vs ChatGPT: что выбрать для персонального ИИ-ассистента.