Перейти к основному содержимому

Личность и 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

Рекомендуемый рабочий процесс​

Хорошая стандартная настройка включает:

  1. Храните продуманный глобальный SOUL.md в ~/.vibeos/SOUL.md
  2. Помещайте инструкции по проекту в AGENTS.md
  3. Используйте /personality только когда вам нужно временное переключение режима

Это даёт вам:

  • стабильный голос
  • поведение, специфичное для проекта, там, где ему место
  • временный контроль, когда это необходимо

Как личность взаимодействует с полным промптом​

На высоком уровне стек промптов включает:

  1. SOUL.md (идентичность агента — или встроенный запасной вариант, если SOUL.md недоступен)
  2. руководство по поведению с учётом инструментов
  3. контекст памяти/пользователя
  4. руководство по навыкам
  5. файлы контекста (AGENTS.md, .cursorrules)
  6. временная метка
  7. подсказки по форматированию для конкретной платформы
  8. опциональные наложения системного промпта, такие как /personality

SOUL.md — это основа; всё остальное строится на нём.

Связанная документация​

Внешний вид CLI против разговорной личности​

Разговорная личность и внешний вид CLI — это разные вещи:

  • SOUL.md, agent.system_prompt и /personality влияют на то, как VibeOS говорит
  • display.skin и /skin влияют на то, как VibeOS выглядит в терминале

Для внешнего вида терминала смотрите Скины и темы.