Все Insights

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

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

Aravana··14 мин

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

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

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

Любой 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 имеет приоритет.

Суммарный объём всех файлов ограничен контекстным окном используемой модели. Для GPT-4o это примерно 128 000 токенов, для Claude — до 200 000. На практике 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, чтобы всегда иметь возможность откатиться. И помните главное правило: конкретные инструкции дают предсказуемые результаты.

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

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

Узнать про Intelligence

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

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

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

Как начать пользоваться Midjourney: генерация картинок AI

Midjourney — самый популярный AI-генератор изображений. Фотореализм, арт, иллюстрации, логотипы. Показываем, как начать — от регистрации до первой картинки.

·6 мин·Выбор редакции

Как установить Ollama: запуск AI-моделей на своём компьютере

Ollama — самый простой способ запустить AI-модели локально. Llama, Mistral, Qwen, DeepSeek — всё работает на вашем компьютере, без интернета, бесплатно и приватно.

·7 мин·Выбор редакции

Как начать пользоваться ChatGPT: пошаговая инструкция для Mac, Windows, iPhone и Android

Регистрация, установка, первый запрос — всё, что нужно, чтобы начать общаться с самой популярной нейросетью в мире. Без технических знаний, за 5 минут.

·7 мин·Выбор редакции