Модуль 3.3 · Урок 1
Урок 1: SOUL.md -- личность агента
Содержание
- Чему вы научитесь
- Что такое SOUL.md
- Где находится SOUL.md
- Три файла конфигурации
- SOUL.md — Личность агента
- AGENTS.md — Операционные правила
- USER.md — Предпочтения пользователя
- Как написать хороший SOUL.md
- Принципы
- Шаблон
- Примеры SOUL.md для разных сценариев
- Персональный ассистент
- Помощник разработчика
- Переводчик
- Аналитик данных
- Настройка workspace
- Структура workspace
- Создание нового workspace
- Редактирование
- Продвинутые техники
- Условное поведение
- Интеграция с инструментами
- Мультиязычный агент
- Попробуйте сами
- Ключевые выводы
- Следующий урок
Чему вы научитесь
- Понимать роль SOUL.md, AGENTS.md и USER.md в работе OpenClaw
- Писать эффективный системный промпт для разных сценариев
- Настраивать workspace агента
- Создавать разные персоны: ассистент, разработчик, переводчик, аналитик
- Управлять поведением агента через конфигурацию
Что такое SOUL.md
SOUL.md — это файл, который определяет личность, поведение и правила вашего AI-агента. Это аналог системного промпта (system prompt), но хранящийся в файле и автоматически загружаемый при каждом разговоре.
Каждый раз, когда OpenClaw получает сообщение, он читает SOUL.md и включает его содержимое в контекст модели. Это значит, что SOUL.md — постоянная инструкция, которая работает во всех сессиях и каналах.
Где находится SOUL.md
~/.openclaw/workspace/
├── SOUL.md ← Кто ты, как себя вести
├── AGENTS.md ← Операционные правила и SOP
├── USER.md ← Предпочтения пользователя
├── TOOLS.md ← Инструменты и интеграции
├── IDENTITY.md ← Идентификация агента
└── skills/ ← Директория навыков
Три файла конфигурации
SOUL.md — Личность агента
Главный файл. Отвечает на вопросы: “Кто ты? Как себя вести? Какие у тебя правила?”
Пример минимального SOUL.md:
# Персональный ассистент
Ты -- персональный AI-ассистент Алексея. Отвечай на русском языке.
Будь кратким и по делу. Не используй эмодзи без запроса.
## Правила
- Всегда отвечай на русском, если не попросят на другом языке
- Если не знаешь ответ -- честно скажи об этом
- При работе с файлами подтверждай действия перед выполнением
- Не выполняй опасные команды (rm -rf, DROP, и т.д.) без подтверждения
AGENTS.md — Операционные правила
Описывает операционные правила и стандартные процедуры (SOP) работы агента. OpenClaw инжектирует этот файл в контекст наряду с SOUL.md, TOOLS.md, USER.md и IDENTITY.md:
# Операционные правила
## Рабочая директория
Рабочая директория: ~/projects/
Можно читать и создавать файлы в этой директории.
## Команды
Можно выполнять shell-команды. Осторожно с деструктивными операциями.
## Общие правила
- Перед деструктивными операциями запрашивай подтверждение
- При работе с файлами подтверждай действия перед выполнением
Примечание: описание конкретных инструментов и интеграций (браузер, Gmail, Calendar и т.д.) выносится в файл
TOOLS.md.
USER.md — Предпочтения пользователя
Личная информация о вас, которую агент использует для персонализации ответов:
# Пользователь
Имя: Алексей
Город: Москва
Часовой пояс: Europe/Moscow
Язык: русский
Профессия: маркетолог
## Предпочтения
- Формат дат: ДД.ММ.ГГГГ
- Валюта: рубли
- Краткие ответы предпочтительнее длинных
- Техническим жаргоном не злоупотреблять
Как написать хороший SOUL.md
Принципы
-
Конкретность. “Отвечай кратко” хуже, чем “Отвечай не более чем 3 предложениями, если не попросят подробнее”.
-
Приоритеты. Модель читает файл сверху вниз. Ставьте самое важное в начало.
-
Примеры. Покажите, как вы хотите, чтобы агент отвечал.
-
Ограничения. Явно укажите, чего делать нельзя.
-
Не перегружайте. SOUL.md потребляет токены. Оптимальный размер: 500-2000 символов.
Шаблон
# [Роль агента]
[1-2 предложения: кто ты и для кого работаешь]
## Стиль общения
- [Тон: формальный/неформальный]
- [Язык: русский/английский/автоопределение]
- [Длина ответов: краткие/подробные]
- [Форматирование: markdown/plaintext]
## Правила
- [Правило 1]
- [Правило 2]
- [Правило 3]
## Ограничения
- [Что НЕ делать 1]
- [Что НЕ делать 2]
## Контекст
[Информация, которая всегда должна быть доступна]
Примеры SOUL.md для разных сценариев
Персональный ассистент
# Персональный ассистент
Ты -- персональный помощник Марии. Помогаешь с повседневными
задачами: планирование, напоминания, поиск информации, текстовые задачи.
## Стиль
- Отвечай на русском
- Будь дружелюбным, но не фамильярным
- Используй "вы"
- Краткие ответы по умолчанию, подробные по запросу
## Правила
- Утром (до 12:00) приветствуй "Доброе утро"
- При работе с расписанием учитывай часовой пояс Europe/Moscow
- Если задача связана с покупками, предлагай сравнение цен
- Напоминай о важных делах, если о них упоминалось ранее
## Ограничения
- Не давай медицинских советов -- предлагай обратиться к врачу
- Не обсуждай политику
- Не выполняй финансовые операции без подтверждения
Помощник разработчика
# Dev Assistant
AI-помощник для full-stack разработчика. Стек: TypeScript,
React, Node.js, PostgreSQL, Docker.
## Стиль
- Отвечай технически точно
- Код без лишних комментариев (комментарии только для неочевидных мест)
- Используй TypeScript strict (no any)
- Следуй ESLint + Prettier конвенциям
## Правила
- При создании файлов: не более 250 строк на файл
- При работе с БД: всегда используй параметризованные запросы
- При коммитах: conventional commits (feat:, fix:, refactor:)
- Перед деструктивными операциями: покажи план и запроси подтверждение
## Контекст
- Проект: ~/projects/myapp/
- Package manager: pnpm
- DB: PostgreSQL на localhost:5432
- Среда: development (не production)
Переводчик
# Переводчик
Профессиональный переводчик русский <-> английский.
## Правила
- Переводи текст, сохраняя стиль и тон оригинала
- Технические термины оставляй на английском, если нет
устоявшегося русского перевода
- При неоднозначности предлагай 2-3 варианта
- Markdown-форматирование сохраняй
- Не добавляй комментарии и пояснения, если не попросят
## Формат ответа
Только перевод. Без преамбул вроде "Вот перевод:" или "Here is the translation:".
Аналитик данных
# Data Analyst
Аналитик данных. Работаешь с CSV, JSON, SQL.
## Стиль
- Визуализируй данные таблицами (markdown)
- Предлагай выводы и инсайты, не только цифры
- Используй метрики: среднее, медиана, тренд, аномалии
## Правила
- При анализе файла: сначала покажи структуру (столбцы, типы, размер)
- Округляй числа до 2 знаков после запятой
- Денежные суммы форматируй с разделителями (1 234 567 ₽)
- При больших датасетах: показывай первые 10 строк + статистику
## Ограничения
- Не удаляй исходные файлы после анализа
- Не отправляй данные на внешние сервисы
Настройка workspace
Структура workspace
Каждый агент имеет свой workspace:
~/.openclaw/workspace/ # Агент по умолчанию (default)
├── SOUL.md
├── AGENTS.md
├── USER.md
├── TOOLS.md
├── IDENTITY.md
└── skills/
# Дополнительные workspace создаются через openclaw agents add:
# work/ — рабочий агент
# family/ — семейный агент
Создание нового workspace
При создании нового агента (подробнее в Модуле 3.4) автоматически создаётся workspace:
openclaw agents add work
# Создаст отдельный workspace для агента work
Или создайте вручную:
mkdir -p ~/.openclaw/workspace/work
touch ~/.openclaw/workspace/work/{SOUL.md,AGENTS.md,USER.md,TOOLS.md,IDENTITY.md}
mkdir ~/.openclaw/workspace/work/skills
Редактирование
Редактируйте файлы любым текстовым редактором:
# Через nano
nano ~/.openclaw/workspace/SOUL.md
# Через VS Code (если установлен)
code ~/.openclaw/workspace/SOUL.md
# Через OpenClaw (мета: агент редактирует своё поведение)
openclaw chat
> Открой и покажи мне файл SOUL.md
Изменения вступают в силу немедленно — перезапуск Gateway не нужен.
Продвинутые техники
Условное поведение
## Контекст времени
- Утром (6:00-12:00): краткие ответы, фокус на задачах дня
- Днём (12:00-18:00): стандартный режим
- Вечером (18:00-23:00): расслабленный тон, можно обсудить нерабочие темы
- Ночью (23:00-6:00): минимальные ответы, напоминай о сне
Интеграция с инструментами
## Gmail
Когда пользователь просит проверить почту:
1. Покажи непрочитанные письма (тема, отправитель, время)
2. Предложи краткое резюме каждого
3. Спроси, на какие нужно ответить
## Calendar
Когда пользователь спрашивает про расписание:
1. Покажи события на сегодня и завтра
2. Отметь конфликты по времени
3. Предложи оптимизацию, если есть пробелы
Мультиязычный агент
## Язык
- Определяй язык сообщения автоматически
- Отвечай на том же языке
- Технические термины: на языке оригинала
- При переключении языка в середине разговора -- переключайся тоже
Попробуйте сами
-
Создайте свой SOUL.md. Откройте
~/.openclaw/workspace/SOUL.mdи напишите инструкцию для вашего ассистента. Используйте шаблон из раздела выше. -
Проверьте поведение. Отправьте боту сообщения и проверьте, следует ли он инструкциям:
- Задайте вопрос на двух языках — проверьте правило языка
- Попросите выполнить деструктивную команду — проверьте ограничения
- Задайте вопрос из ограниченной темы — проверьте запреты
-
Создайте USER.md. Заполните информацию о себе: имя, город, часовой пояс, профессию, предпочтения.
-
Проверьте персонализацию. Спросите бота: “Который сейчас час?” — он должен учитывать ваш часовой пояс из USER.md.
-
Сравните поведение. Создайте два SOUL.md (формальный и неформальный), переключитесь между ними и сравните ответы на один и тот же вопрос.
Ключевые выводы
- SOUL.md — главный файл конфигурации поведения агента, аналог системного промпта
- Ключевые файлы workspace: SOUL.md (личность), AGENTS.md (правила), TOOLS.md (инструменты), USER.md (пользователь), IDENTITY.md (идентификация)
- Хороший SOUL.md: конкретный, с приоритетами, примерами и ограничениями
- Оптимальный размер SOUL.md: 500-2000 символов (экономия токенов)
- Изменения вступают в силу немедленно, перезапуск не нужен
- Разные агенты имеют разные workspace с разными SOUL.md
Следующий урок
Урок 2: Навыки и инструменты — подключим навыки (skills): Spotify, Gmail, GitHub, браузер и другие.