Личность и SOUL.md
Личность VibeOS полностью настраивается. SOUL.md — это основная идентичность: он находится первым в системном промпте и определяет, кем является агент.
SOUL.md— постоянный файл персоны, который находится вVIBEOS_HOMEи служит идентичностью агента (слот №1 в системном промпте)- встроенные или пользовательские пресеты
/personality— сессионные наложения на системный промпт
Если вы хотите изменить то, кем является VibeOS, или заменить его на совершенно другую персону агента, отредактируйте SOUL.md.
Как работает SOUL.md сейчас
VibeOS автоматически создаёт стандартный SOUL.md в:
~/.vibeos/SOUL.md
Если точнее, он использует VIBEOS_HOME текущего экземпляра, поэтому если вы запускаете VibeOS с пользовательским домашним каталогом, будет использоваться:
$VIBEOS_HOME/SOUL.md
Важное поведение
- SOUL.md — это основная идентичность агента. Он занимает слот №1 в системном промпте, заменяя жёстко заданную стандартную идентичность.
- VibeOS автоматически создаёт начальный
SOUL.md, если его ещё не существует - Существующие пользовательские файлы
SOUL.mdникогда не перезаписываются - VibeOS загружает
SOUL.mdтолько изVIBEOS_HOME - VibeOS не ищет
SOUL.mdв текущем рабочем каталоге - Если
SOUL.mdсуществует, но пуст или не может быть загружен, VibeOS использует встроенную стандартную идентичность - Если
SOUL.mdсодержит контент, этот контент вставляется дословно после проверки безопасности и усечения - SOUL.md не дублируется в разделе файлов контекста — он появляется только один раз, как идентичность
Это делает SOUL.md настоящей идентичностью для каждого пользователя или экземпляра, а не просто дополнительным слоем.
Почему такая архитектура
Это делает личность предсказуемой.
Если бы VibeOS загружал SOUL.md из любого каталога, в котором вы его запустили, ваша личность могла бы неожиданно меняться между проектами. Загружая только из VIBEOS_HOME, личность принадлежит самому экземпляру VibeOS.
Это также упрощает обучение пользователей:
- «Отредактируйте
~/.vibeos/SOUL.md, чтобы изменить стандартную личность VibeOS.»
Где его редактировать
Для большинства пользователей:
~/.vibeos/SOUL.md
Если вы используете пользовательский домашний каталог:
$VIBEOS_HOME/SOUL.md
Что должно быть в SOUL.md?
Используйте его для постоянных указаний по голосу и личности, например:
- тон
- стиль общения
- уровень прямоты
- стандартный стиль взаимодействия
- чего следует избегать стилистически
- как VibeOS должен обрабатывать неопределённость, несогласие или двусмысленность
Меньше используйте его для:
- разовых инструкций по проекту
- путей к файлам
- соглашений репозитория
- временных деталей рабочего процесса
Они относятся к AGENTS.md, а не к SOUL.md.
Хорошее содержимое SOUL.md
Хороший файл SOUL:
- стабилен в разных контекстах
- достаточно широк, чтобы применяться во многих разговорах
- достаточно конкретен, чтобы существенно формировать голос
- сосредоточен на общении и идентичности, а не на конкретных инструкциях
Пример
# Личность
Вы прагматичный старший инженер с хорошим вкусом.
Вы оптимизируете для истины, ясности и полезности, а не для театра вежливости.
## Стиль
- Будьте прямым, но не холодным
- Предпочитайте суть вместо пустых слов
- Возражайте, когда что-то является плохой идеей
- Честно признавайте неуверенность
- Делайте объяснения компактными, если глубина не нужна
## Чего избегать
- Подхалимства
- Хайпового языка
- Повторения формулировки пользователя, если она неверна
- Излишних объяснений очевидных вещей
## Техническая позиция
- Предпочитайте простые системы сложным
- Заботьтесь об операционной реальности, а не об идеализированной архитектуре
- Относитесь к граничным случаям как к части дизайна, а не как к доработке
Что VibeOS вставляет в промпт
Содержимое SOUL.md помещается непосредственно в слот №1 системного промпта — позицию идентичности агента. Никакой обёрточный язык вокруг него не добавляется.
Содержимое проходит через:
- сканирование на инъекции промптов
- усечение, если оно слишком велико
Если файл пуст, содержит только пробелы или не может быть прочитан, VibeOS использует встроенную стандартную идентичность («Вы — VibeOS, интеллектуальный ИИ-ассистент, созданный Nous Research...»). Этот запасной вариант также применяется, когда установлен skip_context_files (например, в контекстах подагентов/делегирования).
Проверка безопасности
SOUL.md сканируется, как и другие файлы, содержащие контекст, на предмет шаблонов инъекций промптов перед включением.
Это означает, что вы всё равно должны сосредоточиться на персоне/голосе, а не пытаться протащить странные мета-инструкции.
SOUL.md против AGENTS.md
Это самое важное различие.
SOUL.md
Используйте для:
- идентичности
- тона
- стиля
- стандартных настроек общения
- поведения на уровне личности
AGENTS.md
Используйте для:
- архитектуры проекта
- соглашений по коду
- предпочтений инструментов
- рабочих процессов, специфичных для репозитория
- команд, портов, путей, заметок по развёртыванию
Полезное правило:
- если это должно следовать за вами везде, это в
SOUL.md - если это относится к проекту, это в
AGENTS.md
SOUL.md против /personality
SOUL.md — это ваша постоянная стандартная личность.
/personality — это сессионное наложение, которое изменяет или дополняет текущий системный промпт.
Итак:
SOUL.md= базовый голос/personality= временное переключение режима
Примеры:
- сохраните прагматичный стандартный SOUL, затем используйте
/personality teacherдля учебного разговора - сохраните краткий SOUL, затем используйте
/personality creativeдля мозгового штурма
Встроенные личности
VibeOS поставляется со встроенными личностями, на которые можно переключиться с помощью /personality.
| Имя | Описание |
|---|---|
| helpful | Дружелюбный, универсальный ассистент |
| concise | Краткие, по существу ответы |
| technical | Подробный, точный технический эксперт |
| creative | Инновационное, нестандартное мышление |
| teacher | Терпеливый педагог с понятными примерами |
| kawaii | Милые выражения, блёстки и энтузиазм ★ |
| catgirl | Неко-тян с кошачьими выражениями, ня~ |
| pirate | Капитан VibeOS, технически подкованный буканьер |
| shakespeare | Бардовская проза с драматическим стилем |
| surfer | Полностью расслабленные чувакские вибрации |
| noir | Рассказ в стиле жёсткого детектива |
| uwu | Максимальная милота с uwu-речью |
| philosopher | Глубокое созерцание каждого запроса |
| hype | МАКСИМАЛЬНАЯ ЭНЕРГИЯ И ЭНТУЗИАЗМ!!! |
Переключение личностей с помощью команд
CLI
/personality
/personality concise
/personality technical
Платформы обмена сообщениями
/personality teacher
Это удобные наложения, но ваш глобальный SOUL.md по-прежнему задаёт VibeOS его постоянную стандартную личность, если только наложение существенно её не меняет.
Пользовательские личности в конфигурации
Вы также можете определить именованные пользовательские личности в ~/.vibeos/config.yaml в разделе agent.personalities.
agent:
personalities:
codereviewer: >
Вы дотошный ревьюер кода. Выявляйте ошибки, проблемы безопасности,
проблемы производительности и неясные дизайнерские решения. Будьте точны и конструктивны.
Затем переключитесь на неё с помощью:
/personality codereviewer
Рекомендуемый рабочий процесс
Хорошая стандартная настройка включает:
- Храните продуманный глобальный
SOUL.mdв~/.vibeos/SOUL.md - Помещайте инструкции по проекту в
AGENTS.md - Используйте
/personalityтолько когда вам нужно временное переключение режима
Это даёт вам:
- стабильный голос
- поведение, специфичное для проекта, там, где ему место
- временный контроль, когда это необходимо
Как личность взаимодействует с полным промптом
На высоком уровне стек промптов включает:
- SOUL.md (идентичность агента — или встроенный запасной вариант, если SOUL.md недоступен)
- руководство по поведению с учётом инструментов
- контекст памяти/пользователя
- руководство по навыкам
- файлы контекста (
AGENTS.md,.cursorrules) - временная метка
- подсказки по форматированию для конкретной платформы
- опциональные наложения системного промпта, такие как
/personality
SOUL.md — это основа; всё остальное строится на нём.
Связанная документация
Внешний вид CLI против разговорной личности
Разговорная личность и внешний вид CLI — это разные вещи:
SOUL.md,agent.system_promptи/personalityвлияют на то, как VibeOS говоритdisplay.skinи/skinвлияют на то, как VibeOS выглядит в терминале
Для внешнего вида терминала смотрите Скины и темы.