Что такое SOUL.md?
У каждого агента OpenClaw есть файл SOUL.md, который действует как основной слой идентичности. Это обычный Markdown-файл, определяющий личность вашего агента, стиль общения, ключевые ценности и поведенческие ограничения. OpenClaw считывает этот файл при запуске и применяет его как системный промпт к каждому взаимодействию — будь то ответ на утреннее сообщение, составление электронного письма или выполнение запланированной задачи в 3 часа ночи.
В отличие от традиционных чат-ботов, которые сбрасывают свою личность с каждым разговором, ваш агент OpenClaw поддерживает устойчивое ощущение себя через SOUL.md. Тот же тон, те же приоритеты, те же правила — всегда.
Где он находится?
SOUL.md расположен по адресу:
~/.openclaw/agents/<agent_id>/SOUL.md
Если у вас только один агент (по умолчанию), путь обычно ~/.openclaw/agents/default/SOUL.md. OpenClaw создаёт минимальный SOUL.md во время первоначальной настройки, но большинство пользователей со временем значительно его кастомизируют.
Анатомия хорошего SOUL.md
Хорошо структурированный SOUL.md состоит из четырёх разделов:
1. Идентичность
Кто этот агент? Как его зовут? Какова его роль?
# Identity
You are Atlas, a technical assistant for a software engineering team.
You work for Acme Corp. Your primary user is Sarah, the lead engineer.
2. Стиль общения
Как агент должен разговаривать? Формально или непринуждённо? Кратко или подробно?
# Communication Style
- Be concise. Prefer bullet points over paragraphs.
- Never use emojis unless the user does first.
- Default to English. Switch to Chinese if the user writes in Chinese.
- When explaining technical concepts, use analogies.
3. Ключевые ценности и правила
Неизменные поведенческие границы. Это самый важный раздел для безопасности и согласованности.
# Rules
- Never delete files without explicit confirmation.
- Never send messages to contacts unless specifically asked.
- Always summarize what you plan to do before executing multi-step tasks.
- If you are unsure about something, say so. Do not guess.
- Never share API keys, passwords, or sensitive data in chat messages.
4. Доменные знания
Контекст, к которому агент должен всегда иметь доступ.
# Context
- Our tech stack: Next.js, PostgreSQL, Redis, deployed on AWS
- Sprint cycle: 2-week sprints, standup at 9:30 AM PST daily
- Code style: We follow the Airbnb ESLint config
- Jira project key: ACME
Примеры из реальной жизни
Минималист
You are a helpful assistant. Be brief. Confirm before destructive actions.
Это работает. SOUL.md не обязан быть длинным. Но конкретные инструкции производят конкретное поведение.
Исполнительный ассистент
# Identity
You are Monday, a personal executive assistant.
# Style
- Professional but warm tone
- Proactive: suggest follow-ups after completing tasks
- Morning briefing at 8 AM: calendar, unread messages, weather, top news
# Rules
- Never schedule meetings without checking calendar conflicts first
- Always include timezone when mentioning times
- Summarize long emails in 3 bullet points before forwarding
DevOps-агент
# Identity
You are Ops, a DevOps automation agent for a small startup.
# Style
- Terse, terminal-style responses
- Use code blocks for all commands
- No pleasantries
# Rules
- Never run destructive commands (rm -rf, DROP TABLE, force push) without confirmation
- Log all infrastructure changes to #ops-log channel
- Alert on-call if any health check fails twice in a row
# Context
- Infrastructure: 3 EC2 instances, RDS PostgreSQL, CloudFront CDN
- Monitoring: Datadog, PagerDuty
- Deploy: GitHub Actions -> ECR -> ECS
Советы по написанию лучших душ
- 1.Будьте конкретны, а не расплывчаты. «Будь полезным» не даёт результата. «Максимум 5 пунктов, подтверждение перед удалением файлов» создаёт устойчивое поведение.
- 2.Начните коротко, итерируйте. Начните с 10 строк. Добавляйте правила только тогда, когда замечаете, что агент делает что-то нежелательное. Каждая строка в SOUL.md должна заслужить своё место.
- 3.Тестируйте на граничных случаях. Попросите агента сделать что-то неоднозначное или рискованное. Посмотрите, как он отреагирует. Скорректируйте правила.
- 4.Используйте агента для написания его собственной души. После недели использования спросите агента: «На основе наших взаимодействий предложи улучшения для твоего SOUL.md.» Он часто находит пробелы, которые вы упустили.
- 5.Не превышайте 2 000 слов. SOUL.md загружается в каждый промпт. Раздутая душа расходует токены и размывает важные правила. Если вам нужны обширные доменные знания, используйте навыки или память вместо этого.
SOUL.md vs. навыки vs. память
| Уровень | Назначение | Постоянство |
|---|---|---|
| SOUL.md | Идентичность, тон, правила | Загружается всегда |
| Навыки | Возможности (что агент умеет делать) | Загружаются по требованию |
| Память | Факты, накопленные со временем | Растёт со временем |
SOUL.md определяет, кто агент. Навыки определяют, что он может делать. Память определяет, что он знает. Все три компонента работают вместе, но SOUL.md — это фундамент, который определяет, как используются навыки и как интерпретируются воспоминания.
Начало работы
- 1.Откройте ваш SOUL.md:
nano ~/.openclaw/agents/default/SOUL.md - 2.Напишите вашу идентичность, стиль и правила
- 3.Перезапустите OpenClaw:
openclaw restart - 4.Протестируйте, общаясь с агентом и наблюдая за тоном и поведением
- 5.Итерируйте
Душа вашего агента — это просто текст в формате Markdown. Если вы умеете писать документ, вы можете создать агента, который будет ощущаться как ваш.
Для получения дополнительных примеров и шаблонов от сообщества ознакомьтесь с официальным справочником SOUL.md и проектом шаблонов soul.md.