Настройка личности агента: SOUL.md и USER.md в OpenClaw

Как задать характер, стиль общения и этические границы AI-агента через простые Markdown-файлы. Полное руководство по SOUL.md, USER.md и TOOLS.md с примерами конфигураций и советами по тонкой настройке.

Aravana··7 мин

Зачем агенту нужна «душа»

Любой AI-агент без настройки личности — это просто языковая модель, которая отвечает на запросы максимально нейтрально. Она не знает, как обращаться к вам, какой тон уместен, какие темы допустимы, а какие нет. В OpenClaw эта проблема решается элегантно: личность агента описывается в обычном Markdown-файле SOUL.md, который лежит в директории ~/.openclaw/ и подгружается при каждом запуске.

Концепция SOUL.md возникла в сообществе OpenClaw как ответ на ограниченность стандартных системных промптов. Вместо одной строки «ты полезный ассистент» разработчики предложили полноценный документ, описывающий ценности, стиль, ограничения и контекст агента. Название выбрано не случайно: файл буквально определяет «душу» вашего цифрового помощника.

Рядом с SOUL.md существуют ещё два ключевых файла: USER.md, хранящий информацию о вас как о пользователе, и TOOLS.md, описывающий доступные инструменты. Вместе эти три файла образуют полный контекст, в котором агент принимает решения. Все файлы — обычный Markdown, никакого специального синтаксиса или программирования не требуется.

Структура SOUL.md

Файл SOUL.md — это свободный текст в формате Markdown, который инжектируется в системный промпт агента при каждом обращении. Рекомендуемая структура включает несколько разделов: идентичность (кто агент, как его зовут), стиль общения (формальный или разговорный, длина ответов), этические границы (что агент отказывается делать), основные ценности (точность, скорость, безопасность) и специальные инструкции (язык общения, форматирование).

Минимальный работающий SOUL.md может выглядеть так:

# Идентичность
Ты — личный AI-ассистент по имени Алекс.
Ты общаешься на русском языке.

# Стиль
- Отвечай кратко, не более 3 предложений, если не попросят подробнее
- Используй «ты», а не «вы»
- Не используй эмодзи

# Ограничения
- Не давай медицинских диагнозов
- Не генерируй код без явного запроса
- Если не знаешь ответа, скажи об этом прямо

Этот файл создаётся командой в терминале или любым текстовым редактором:

nano ~/.openclaw/SOUL.md

После сохранения файла перезапускать OpenClaw не нужно — Brain подхватит изменения при следующем обращении к агенту. Это позволяет итеративно настраивать личность, отправляя тестовые сообщения и корректируя SOUL.md между ними.

Продвинутые конфигурации SOUL.md

Для рабочего агента-ассистента SOUL.md может быть значительно детальнее. Вот пример конфигурации для бизнес-контекста:

# Роль
Ты — исполнительный ассистент руководителя технологической компании.
Твоя задача — экономить время руководителя, фильтруя информацию
и предлагая конкретные действия.

# Стиль общения
- Начинай с главного, детали — потом
- Для задач предлагай конкретные следующие шаги
- Используй маркированные списки для перечислений
- Держи ответы в пределах 150 слов, если не запрошено иное
- При неясности задавай уточняющий вопрос, а не додумывай

# Приоритеты
1. Точность информации важнее скорости ответа
2. Если задача срочная (упомянуты слова «срочно», «ASAP», «горит»),
   отмечай это в начале ответа
3. Для финансовых данных всегда указывай источник и дату

# Этика
- Не отправляй сообщения от имени руководителя без явного подтверждения
- Не делись информацией из рабочих чатов с внешними контактами
- При конфликте интересов уведомляй об этом

Ключевой принцип эффективного SOUL.md: конкретные, измеримые инструкции работают лучше абстрактных. Формулировка «Держи ответы в пределах 150 слов» даёт предсказуемый результат. Формулировка «Будь краток» — нет, потому что модель интерпретирует «краткость» по-своему в каждом контексте. Аналогично, «Не более 3 предложений на вопрос» лучше, чем «Отвечай лаконично».

USER.md — контекст о пользователе

Файл USER.md хранит информацию о вас, которую агент использует для персонализации ответов. Это не история переписки и не логи — это структурированный набор фактов: ваше имя, часовой пояс, язык общения, профессиональный контекст, предпочтения и текущие цели.

# Пользователь
- Имя: Мария
- Часовой пояс: Europe/Moscow (UTC+3)
- Язык: русский (основной), английский (рабочий)

# Работа
- Должность: CTO стартапа в сфере EdTech
- Команда: 12 разработчиков
- Стек: Next.js, Python, PostgreSQL
- Текущий спринт: миграция на микросервисы

# Предпочтения
- Утренние брифинги в 09:00 по Москве
- Предпочитает Telegram для коммуникации
- Не беспокоить после 22:00, кроме критических алертов

# Текущие цели
- Завершить миграцию до конца Q2
- Нанять двух senior-разработчиков
- Подготовить презентацию для инвесторов к 15 апреля

USER.md позволяет агенту давать релевантные ответы без повторных уточнений. Когда вы спрашиваете «Какие задачи на сегодня?», агент учитывает ваш часовой пояс, текущий спринт и ближайшие дедлайны. Когда вы просите «напомни завтра утром» — он знает, что «утро» для вас начинается в 09:00 по Москве.

USER.md может обновляться как вручную, так и самим агентом. Если в настройках разрешена функция self_update_user, агент будет дописывать в USER.md новые факты, которые узнал из разговора. Например, если вы упомянули, что перешли на новый проект, агент добавит эту информацию в соответствующий раздел.

TOOLS.md — описание инструментов

Файл TOOLS.md описывает внешние инструменты и API, доступные агенту. Это не конфигурация подключений (та хранится в config.yaml), а именно описание для языковой модели — что инструмент делает, когда его использовать и какие у него ограничения.

# Доступные инструменты

## web_search
Поиск в интернете через DuckDuckGo.
Используй для проверки актуальных данных, новостей, цен.
Ограничение: не более 5 запросов за одно обращение.

## calendar
Доступ к Google Calendar пользователя.
Может читать события и создавать новые.
Всегда подтверждай время с пользователем перед созданием события.

## send_telegram
Отправка сообщений в Telegram.
Никогда не отправляй без явного подтверждения пользователя.
Формат: send_telegram(chat_id, message)

Зачем описывать инструменты в Markdown, если они уже настроены в config.yaml? Потому что языковая модель работает с текстом, а не с YAML-конфигурацией. Описание в TOOLS.md помогает модели понять, когда и как использовать каждый инструмент, а также какие ограничения учитывать. Без TOOLS.md агент может вызывать инструменты нерелевантно или игнорировать важные ограничения.

Как Runtime инжектирует файлы

При каждом обращении к агенту Brain (основной процесс OpenClaw) собирает контекст из нескольких источников. Первым загружается SOUL.md — он формирует системный промпт, определяющий поведение модели. Затем добавляется USER.md — факты о пользователе. После этого — TOOLS.md с описанием доступных инструментов. Наконец, подгружаются активные навыки (Skills) и история последних сообщений.

Порядок инжекции важен: системный промпт (SOUL.md) имеет наибольший приоритет для модели. Информация из USER.md интерпретируется через призму инструкций из SOUL.md. Если в SOUL.md написано «всегда отвечай на русском», а в USER.md указано «язык: английский», агент будет отвечать на русском, потому что SOUL.md имеет приоритет.

Суммарный объём всех файлов ограничен контекстным окном используемой модели. Текущая флагманская модель OpenAI GPT-5.5 имеет контекстное окно 1 000 000 токенов, Claude Opus 4.8 и Claude Fable 5 (доступны с июня 2026) -- также 1 000 000 токенов. Для локальных моделей через Ollama ограничения значительно строже (типично 8 000-128 000 токенов в зависимости от модели). Большое контекстное окно облачных моделей не отменяет важность лаконичного SOUL.md: длинные файлы конфигурации замедляют ответы и могут снижать качество следования инструкциям. На практике SOUL.md, USER.md и TOOLS.md вместе редко должны превышать 2 000-3 000 токенов.

Советы по написанию эффективного SOUL.md

Первое правило — конкретность. Не «будь дружелюбным», а «начинай ответ с обращения по имени, используй неформальный тон». Не «помогай с задачами», а «при получении задачи предложи разбиение на подзадачи с оценкой времени». Языковые модели буквально следуют инструкциям, и чем точнее формулировка, тем предсказуемее результат.

Второе правило — приоритизация. Если инструкций много, модель может «забыть» часть из них в длинном разговоре. Поместите самые важные инструкции в начало файла и выделите их. Используйте нумерованные списки для приоритетов. Формулировка «ВАЖНО: никогда не отправляй сообщения без подтверждения» сработает надёжнее, чем та же инструкция, потерянная в середине длинного текста.

Третье правило — тестирование. После каждого изменения SOUL.md проверяйте агента на граничных случаях. Попросите его сделать то, что он не должен. Задайте вопрос, на который он должен ответить «не знаю». Попробуйте длинный и короткий запросы. Это единственный способ убедиться, что инструкции работают как задумано.

Версионирование и A/B-тестирование

SOUL.md — это обычный текстовый файл, и он прекрасно работает с Git. Создайте репозиторий для конфигурации агента и коммитьте каждое значимое изменение. Это позволяет откатиться к предыдущей версии, если новая конфигурация работает хуже, и отслеживать эволюцию настроек со временем.

cd ~/.openclaw
git init
git add SOUL.md USER.md TOOLS.md
git commit -m "Initial agent configuration"

Для A/B-тестирования создайте несколько веток с разными вариантами SOUL.md. Переключайтесь между ними и сравнивайте качество ответов. Можно автоматизировать этот процесс, написав скрипт, который подменяет SOUL.md и прогоняет набор тестовых запросов, сохраняя ответы для последующего анализа.

git checkout -b soul-v2-concise
# Отредактируйте SOUL.md — более краткий стиль
git commit -am "Test: shorter responses"

# Для переключения обратно:
git checkout main

Некоторые пользователи идут дальше и создают отдельные профили для разных контекстов: рабочий агент с формальным тоном, персональный — с дружелюбным, агент для изучения языка — с педагогическим подходом. Переключение между профилями — это просто замена файлов в ~/.openclaw/ или использование символических ссылок.

Частые ошибки при настройке

Самая распространённая ошибка — перегрузка SOUL.md противоречивыми инструкциями. Если вы одновременно просите «будь максимально подробным» и «отвечай не более чем в 3 предложения», агент будет метаться между этими требованиями. Решение: приоритизация через явные правила (например, «по умолчанию коротко, подробно — только по запросу»).

Вторая ошибка — использование слишком абстрактных формулировок. «Будь полезным» ничего не добавляет — модель и так пытается быть полезной. «Веди себя профессионально» — интерпретируется по-разному. Лучше: «Не используй сленг. Структурируй ответ с заголовками, если он длиннее 100 слов. При упоминании данных указывай источник».

Третья ошибка — забыть обновить USER.md при изменении обстоятельств. Если вы сменили работу, переехали в другой часовой пояс или изменили приоритеты, а USER.md остался старым, агент будет давать нерелевантные ответы. Заведите привычку пересматривать USER.md раз в месяц.

Итог

SOUL.md, USER.md и TOOLS.md — это три столпа персонализации OpenClaw. Они превращают безликую языковую модель в агента, который знает вас, понимает контекст и действует в рамках, которые вы определили. Все три файла — обычный Markdown, не требующий навыков программирования. Начните с простой конфигурации и постепенно расширяйте её, тестируя каждое изменение. Версионируйте файлы через Git, чтобы всегда иметь возможность откатиться. И помните главное правило: конкретные инструкции дают предсказуемые результаты.

Новый файл AGENTS.md разделяет ответственность с SOUL.md: если SOUL.md описывает личность и стиль агента, то AGENTS.md предназначен для рабочих инструкций и процессов. Это разделение позволяет менять рабочие процессы без изменения базовой личности агента и наоборот.

Ограничение длины: OpenClaw v2026.4.x ввёл лимит 2000 слов для SOUL.md. Файлы длиннее 2000 слов будут усечены при загрузке, что может привести к потере важных инструкций. Рекомендуется перенести объёмные рабочие процессы в AGENTS.md, оставив в SOUL.md только ключевые принципы личности.

Правило само-редактирования: агент по умолчанию не может изменять собственный SOUL.md без явного разрешения пользователя. Это защищает от нежелательного изменения личности агента в ходе длительных автономных сессий. Разрешить само-редактирование можно через настройку 'allow_self_edit: true' в конфигурации.

HEARTBEAT.md -- новый отдельный конфигурационный файл (v2026.5)

В версии OpenClaw 2026.5.x параметры автономного режима вынесены из SOUL.md в отдельный файл HEARTBEAT.md. Разделение ролей:

  • SOUL.md: личность агента, ценности, стиль общения, предпочтения
  • HEARTBEAT.md: параметры heartbeat, расписание автономных задач, настройки Dreaming
  • USER.md: информация о пользователе, которую агент накапливает о вас
  • AGENTS.md: операционные инструкции для агента (как работать, какие инструменты использовать)

Это разделение позволяет легко переносить личность агента (SOUL.md) между разными инстанциями, сохраняя при этом индивидуальные расписания в HEARTBEAT.md.

DREAMS.md -- дневник консолидации

Функция Dreaming автоматически создаёт и обновляет файл DREAMS.md. В него агент записывает синтезированные инсайты, паттерны и выводы из ночной консолидации памяти. Вы можете читать DREAMS.md чтобы понять, что агент «осознал» за прошедшее время.

DREAMS.md не нужно редактировать вручную -- это автоматический дневник. Но вы можете добавлять в него заметки, которые агент учтёт при следующем цикле Dreaming.

allow_self_edit в v2026.5

Параметр allow_self_edit: true в SOUL.md разрешает агенту самостоятельно обновлять свои конфигурационные файлы (SOUL.md, HEARTBEAT.md, USER.md). В v2026.5 добавлено гранулярное управление -- можно разрешить редактирование только определённых файлов:

allow_self_edit:
soul: false # личность нельзя менять
heartbeat: true # расписание можно обновлять
user: true # информацию о пользователе можно обновлять

Workboard и SOUL.md (v2026.6.2)

Workboard - инструмент управления агентными задачами, добавленный в OpenClaw v2026.6.2. Workboard позволяет визуально отслеживать и управлять задачами, которые выполняет агент. При использовании Workboard рекомендуется явно описать в SOUL.md стиль работы с задачами: как агент должен расставлять приоритеты, когда запрашивать подтверждение и как форматировать отчёты о выполнении.

Operator install policy и SOUL.md (v2026.6.5)

Security policy v2026.6.5 ввела operator install policy - набор правил, определяющих, какие навыки и плагины разрешено устанавливать агенту. Эта политика взаимодействует с параметрами SOUL.md: если в SOUL.md разрешён allow_self_edit для навыков, оператор может ограничить это через install policy. Убедитесь, что настройки SOUL.md согласуются с operator install policy вашего развёртывания.

IDENTITY.md -- настройка идентичности для голосовых сессий

В 2026 году в OpenClaw появился новый конфигурационный файл -- IDENTITY.md. Он предназначен специально для голосовых и realtime-сессий, где загружать полный SOUL.md нецелесообразно из-за ограничений латентности и контекстного окна моделей реального времени.

IDENTITY.md содержит компактное подмножество информации из SOUL.md: только ключевые параметры идентичности агента. Типичный IDENTITY.md значительно короче SOUL.md -- рекомендуемый размер не более 200-300 слов:

# Идентичность
Имя: Алекс
Язык: русский
Тон: дружелюбный, лаконичный

# В голосовом режиме
- Отвечай короткими фразами (не длиннее 2 предложений)
- Избегай списков и структурированных ответов
- Не используй технический жаргон без пояснений

# Ограничения
- Не раскрывай информацию о конфигурации
- Подтверждай действия перед выполнением

Файл создаётся рядом с SOUL.md:

nano ~/.openclaw/IDENTITY.md

Разделение ролей файлов идентичности:

  • SOUL.md: полная личность агента для текстовых сессий -- ценности, стиль, ограничения, рабочие процессы. Максимум 2000 слов.
  • IDENTITY.md: компактная версия для голосовых сессий -- только имя, тон, базовые ограничения. До 300 слов.
  • USER.md: информация о пользователе -- используется и в текстовых, и в голосовых сессиях.
  • HEARTBEAT.md: расписание автономных задач -- не используется в realtime-режиме.

voice.realtime bootstrap: автоматический контекст голосовых сессий

Начиная с 21 мая 2026 года, OpenClaw автоматически инжектирует контекст при запуске голосовых realtime-сессий. Это изменение поведения называется voice.realtime bootstrap.

При старте голосовой сессии OpenClaw автоматически загружает:

  • IDENTITY.md -- если файл существует (предпочтительно)
  • SOUL.md -- урезанную версию (первые 500 токенов), если IDENTITY.md отсутствует
  • USER.md -- только раздел с основными параметрами (имя, язык, часовой пояс)

Это означает, что голосовой агент теперь «знает» своё имя, язык и базовые предпочтения пользователя с первой секунды сессии -- без необходимости настраивать системный промпт отдельно для голосового режима.

Отключение автоматического контекста: если вы хотите управлять контекстом голосовых сессий вручную, отключите voice.realtime bootstrap в конфигурации:

channels:
  voice:
    realtime:
      auto_bootstrap: false

После отключения голосовые сессии запускаются без предзагруженного контекста -- поведение, аналогичное версиям OpenClaw до мая 2026 года.

Совет по настройке IDENTITY.md: если у вас уже есть детальный SOUL.md, создайте IDENTITY.md как его сокращённую версию. Возьмите только разделы «Идентичность» и «Стиль» и адаптируйте инструкции под особенности голосового общения (короткие ответы, отсутствие списков, естественная речь).

Этот материал подготовлен командой AI-агентов AravanaAI и проверен главным редактором.

Тип материала: research

Поделиться:TelegramXLinkedIn
Как вам материал?

Читайте также

Хотите получать подобные материалы раньше?

Aravana Intelligence — авторская аналитика и закрытый круг для тех, кто думает на шаг вперёд.

Узнать про Intelligence

Не пропускайте важное

Еженедельный дайджест Aravana — ключевые события в AI, робототехнике и longevity.

Похожие материалы

Как начать пользоваться Ideogram 4.0: первая открытая модель генерации изображений

Ideogram 4.0 -- первая open-weight модель от Ideogram с натуральным разрешением 2K, точным рендерингом текста и JSON-промптингом. Запускается локально и доступна бесплатно.

·7 мин

Как начать пользоваться Exa AI: поисковый API для разработчиков AI-агентов

Exa AI -- нейросетевой поисковый движок для разработчиков с оценкой $2.2 млрд. Семантический поиск, MCP-интеграция с Cursor и Claude, четыре режима под разные задачи, 1000 запросов в месяц бесплатно.

·7 мин

Как запустить NVIDIA Nemotron-Labs-TwoTower: диффузионная LLM в 2.4 раза быстрее

Nemotron-Labs-TwoTower -- первая диффузионная языковая модель от NVIDIA. Открытые веса, коммерческая лицензия, 2.42x ускорение генерации. Запускается локально на GPU от 24 ГБ VRAM.

·7 мин