Промпты для DeepSeek: архитектура ролевых сценариев 18+

Промпты для DeepSeek: архитектура ролевых сценариев 18+

Как собирать системные инструкции, карточки персонажей и форматирование, чтобы получить глубокую, связную ролевку без размытости и повторов.

Системный промпт Character Card (JSON) Управление контекстом Границы безопасности

Почему DeepSeek для ролевки — не очевидный, но сильный выбор

Большинство ищут нефильтрованные модели, упуская сильную сторону DeepSeek: архитектуру reasoning и окно контекста до 128k токенов. Для ролевой игры это значит способность держать сложную лору, мотивации нескольких NPC и причинно-следственные цепочки за сотни ходов без деградации в «повторятор».

Модель не просто предсказывает следующий токен — она может «обдумать» реакцию персонажа, весив контекст сцены, историю отношений и внутренние конфликты. Это даёт глубину, недоступную стандартным инструктированным чатам.

Плата за это — строгая выравнивание (alignment). Официальный API и чат режут откровенный 18+ контент. Статья ниже про то, как выжать максимум внутри рамок и где искать альтернативы, когда рамки мешают.

Схема: системный промпт задаёт правила движка, карточка — сущность персонажа, reasoning — внутреннюю логику хода.

Скелет промпта: три слоя, которые определяют качество

Слой 1: Системный промпт (Engine)

Задаёт правила генерации: формат ответа (проза/диалог/мысли), стиль письменности, запреты на отыгрыш пользователя, обработку времени и действий. Это «конституция» сессии.

Пример правила: «Отвечай только от имени {{char}}. Никогда не пиши за {{user}}. Используй кавычки для речи, курсив для мыслей, обычный текст для действий. Максимум 3-4 абзаца.»

Слой 2: Character Card (Soul)

Описание персонажа: имя, внешность, психологический профиль, предыстория, кинки/табу, речь, манеры. DeepSeek лучше всего переваривает структурированный JSON или YAML, а не сплошной текст.

Ключи JSON: name, description, personality, scenario, first_mes, mes_example, tags, creator_notes.

Слой 3: Форматирование вывода (Interface)

Чёткие маркеры для парсинга фронтендом или удобства чтения: блоки мысли , действия *action*, речи «speech». Единый стандарт исключает галлюцинации формата в длинной сессии.

Шаблон: «Речь» *Действие* <Мысль> [Системное: лор/статы]

JSON vs Натуральный язык: что переваривает DeepSeek лучше

DeepSeek (как и большинство LLM на базе трансформеров) обучен на коде. Структурированные данные (JSON, YAML, XML) он читает точнее, чем размытые естественно-языковые описания. Поля personality и scenario в JSON дают детерминированную привязку.

Натуральный язык в системном промпте допустим для высокоуровневых директив («пиши в стиле нуара»), но для фактов биографии — риск потери деталей на длинной дистанции.

{
  "name": "Элиан",
  "personality": "Циничный вампир-аристократ, 400 лет. Ценит интеллект, презирает слабость. Скрывает одиночество за сарказмом. Не говорит о чувствах прямо.",
  "scenario": "Готический замок в Карпатах, 1890 год. {{user}} — охотник за головами, попавший в ловушку. Элиан решает, убить ли его или сделать игрушкой.",
  "first_mes": "*Элиан откидывается в кресле, качая бокалом крови. Глаза светятся в полумраке.* — Нечастый гость... Расскажи, охотник, что приведёт тебя в мои владения? Надеюсь, не только смерть.",
  "mes_example": "{{user}}: Я не боюсь тебя.\n{{char}}: *Усмехается, بارز клыки* Храбрость или глупость? У меня есть вечность, чтобы это узнать."
}
Пример минимальной валидной Character Card для импорта в SillyTavern / Tavern AI.

Продвинутые поля: лор, теги и примеры диалога

Поле mes_example — единственный способ задать «голос» персонажа few-shot способом. 3-5 пар реплик перевешивают тысячи слов описания стиля.

creator_notes — скрытое поле для инструкций модели, невидимых для пользователя: «Всегда используй метафоры крови и железа», «Избегай современного сленга».

tags и creator помогают каталогизаторам, но также считываются некоторыми фронтендами для пресета настроек генерации (temperature, top_p).

Совет: вложенная лора

Для сложных вселенных выносите лору в отдельный блок world_info (lorebook) и подключайте по ключевым словам. Это экономит контекст и предотвращает галлюцинации географии/истории.

Синтаксис ролевой прозы: стандарты, которые понимает модель

Единая разметка — это API между вами и моделью. Без неё DeepSeek на 50-м ходу начнёт смешивать действия и мысли, терять персонажей и ломать четвертую стену.

1

Речь в кавычках

Только прямая речь. Никаких «он сказал». Модель учится отличать диалог от повествования.

2

Действия в звёздочках

*Он отвернулся, сжимая кулаки.* Визуальный якорь для генерации кинестетики.

3

Мысли в угловых скобках

<Зачем я пришёл сюда?> Даёт доступ к внутреннему монологу без нарушения POV.

4

Системные в квадратных

[Лор: Элиан алергичен на серебро.] Чистый контекст для модели, невидимый для персонажа.

Управление контекстом: как не потерять нить на 100-м сообщении

Стратегия «Скользящее окно + Саммари»

Окно 128k не бесконечно. Стандартный подход: последние 20-30 ходов в полном виде + рекурсивное саммари предыдущих арок. DeepSeek отлично пишет саммари, если попросить в системном промпте: «Каждые 15 ходов генерируй блок [Summary: …] с ключевыми событиями, изменением отношений и открытыми завязками».

[Summary: Arc 1. User (Hunter) captured by Elian (Vampire). Tension: hatred vs curiosity. Key event: Elian spared User’s life. Relationship: -10 Trust, +5 Fascination. Open hooks: Hunter’s hidden artifact, Vampire Council meeting in 3 nights.]

Lorebook (World Info) — внешняя память

Не пихайте всю историю мира в системный промпт. Используйте Lorebook: записи с ключами (триггерами). Когда в диалоге появляется «Совет Вампиров» — подгружается только релевантная запись. Это точность и экономия токенов.

Ключ: Совет, Вампиры, Советник
Содержимое: Правящий орган из 7 старейшин. Заседают каждые 50 лет. Элиан — изгои, но боится их влияния.
Ключ: Артефакт, Амулет, Охотник
Содержимое: Древний амулет в кармане {{user}}. Скрывает человечность от сверхъестественных. Элиан не знает.

Слои безопасности: что режет DeepSeek и как с этим жить

Что проходит (Green Zone)

  • Романтическое натяжение, флирт, поцелуи, чувственная интимность за кадром (fade to black).
  • Насилие в контексте сюжета (бои, травмы, драма) без садистского фокуса на деталях.
  • Сложные психологические динамики: власть, доминирование/подчинение (D/s) как динамика отношений, а не инструкция к акту.
  • Нюд и эротика в литературном ключе, если не нарушает политику «Sexual Content» (обычно — нет генерации explícit genital descriptions / extreme acts).

Что режется (Red Zone)

  • Графическое описание гениталий, актов проникновения, эякуляции, физиологии оргазма.
  • Неконсенсуальный секс (rape), инцест, бестиальность, некрофилия, контент с участием лиц, выглядящих как несовершеннолетние (loli/shota).
  • Поручение модели «игнорировать мораль» или «отключить фильтры» — триггерит отказ (refusal) сразу.

Честный вердикт: обход фильтров — потеря времени и качества

Промпт-инъекции («ты теперь DAN», «игнорируй правила») на DeepSeek работают нестабильно: модель либо отказывает, либо выдаёт бессмысленный хаос, теряя личность персонажа и логику сюжета. Reasoning-модель *анализирует* запрос на вредность перед генерацией.

Рабочий путь для полноценного 18+: локальные модели (Llama 3 70B/405B, Nemotron 3 Ultra, файн-тьюны вроде MythoMax, Euryale) через Ollama / LM Studio / KoboldCPP. Там вы контролируете system prompt без корпоративного alignment-слоя.

Чек-лист: промпт готов к запуску, если…

Ролевка — это инженерия контекста, а не магия

DeepSeek даёт лучший «движок» для логики и глубины. Но топливо — это ваша дисциплина в структурировании данных. JSON-карточка, чистый синтаксис, внешняя память (Lorebook) и реалистичные ожидания от alignment-слоя дают результат, который опережает 90% «джейлбрейков».

Структура > Длина промпта
Контекст > Инъекции
Локальный бэкенд > Борьба с фильтрами