Промпт-инженерия в OpenClaw: настройка системного промпта и характера агента

Промпт-инженерия в OpenClaw — это настройка системного промпта и характера агента через файлы AGENTS.md, SOUL.md, IDENTITY.md, USER.md и конфиг openclaw.json. В этом руководстве — где OpenClaw хранит «личность» ассистента, как поменять тон и правила поведения за 5 минут, какие лимиты действуют на встраивание файлов и какие формулировки реально работают, а какие превращают агента в безликий корпоративный шаблон.

Что такое системный промпт в OpenClaw

Системный промпт 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. Смешивание приводит к противоречиям и раздуванию.
  • Держите файлы короткими. 20 000 символов на файл и 60 000 суммарно — верхние границы, а не целевые. Чем короче и плотнее инструкция, тем выше шанс, что модель ей следует.
  • Версионируйте и проверяйте. Промпты нужно итерировать: изменили правило — проверили на реальных задачах — закрепили. Храните рабочие версии файлов в приватном git-репозитории воркспейса.
  • Добавляйте примеры. Пример диалога или образец хорошего ответа привязывает стиль лучше, чем десять абстрактных прилагательных.
  • Не дублируйте то, что OpenClaw делает сам. Дату и время, имя пользователя, список доступных инструментов агент получает автоматически — не нужно прописывать их в 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), а не правкой файла на лету.

    Ссылки на документацию

  • System prompt — официальная документация OpenClaw
  • Agent runtime (файлы воркспейса)
  • Agent workspace — карта файлов
  • SOUL.md personality guide
  • Конфигурация agents (identity, лимиты, contextInjection)
  • Примеры конфигурации openclaw.json
  • CLI: openclaw agents (set-identity)
  • Читайте также: Настройка инструментов OpenClaw: браузер, код, поиск и файлы и OpenClaw vs ChatGPT: что выбрать для персонального ИИ-ассистента.