Промты для DeepSeek: как строить ролевые сценарии 18+ без проб и ошибок

Инженерная инструкция

Промты для DeepSeek: как строить ролевые сценарии 18+ без проб и ошибок

Чёткая структура, работающие шаблоны и принципы, которые экономят часы перегенераций — от системного промта до динамических корректировок в процессе.

Что внутри

Архитектура промта, ключевые блоки, техники удержания контекста, примеры формулировок и чек-лист проверки перед запуском.

Кому пригодится

Тем, кто пишет системные промты для ролевых ботов, тестирует границы модели или хочет перестать переписывать одни и те же инструкции каждую сессию.

Почему DeepSeek ведёт себя иначе, чем GPT или Claude

Рассуждение перед ответом

DeepSeek-R1 генерирует скрытый цепочечный вывод (<think>) перед финальным сообщением. В ролевке это значит: модель «думает» за персонажа, оценивает мотивации, проверяет соответствие лору. Промт должен давать ей критерии для этой внутренней проверки.

Длинный контекст без потерь

Окно 128k токенов держит историю дольше, но внимание размывается. Промт должен содержать «якоря» — повторы ключевых фактов, правил и состояний персонажа — чтобы модель не теряла нить через 20-30 сообщений.

Строгая следование инструкциям

DeepSeek склонен исполнять системный промт буквально. Неопределённость («будь реалистичным») даёт разброс. Конкретика («описывай тактильные ощущения в 2-3 предложения на действие пользователя») — стабильный результат.

Архитектура рабочего системного промта: 7 обязательных блоков

  1. 1

    Идентичность и голос персонажа

    Имя, возраст, происхождение, манера речи, лексикон, темп, типичные обороты. Пример: «Говорит кратко, с иронией, избегает патетики, использует сленг 90-х».

  2. 2

    Психологический профиль и мотивации

    Страхи, желания, противоречия, триггеры. Модель должна знать, *почему* персонаж действует так, а не иначе. «Боится привязанности после предательства бывшего партнёра — отодвигает, когда чувствует близость».

  3. 3

    Мир и правила сеттинга

    Технологический уровень, социальные нормы, магия/физика, табу. Для 18+ — чёткие границы: что разрешено в мире, что нет, как общество реагирует на откровенное поведение.

  4. 4

    Формат ответа и стиль подачи

    Длина сообщения, соотношение диалога/описания, использование курсива для мыслей, действия в звёздочках или скобках, запрет на от лица пользователя.

  5. 5

    Жёсткие ограничения (negative constraints)

    Что модель *никогда* не делает: не пишет за пользователя, не ускоряет сюжет, не использует клише «сердце забилось», не ломает четвёртую стену без запроса.

  6. 6

    Механика состояния и памяти

    Инструкция обновлять скрытые переменные: уровень доверия, возбуждение, стресс, отношения с NPC. Формат: «В конце каждого ответа добавляй блок [STATE: trust=45, arousal=12, stress=30]».

  7. 7

    Протокол эскалации 18+

    Пошаговая схема: флирт → тактильность → интим. Каждый этап имеет триггеры и минимальное количество сообщений. Защита от «прыжков» через стадии.

Шаблон системного промта — копируй, адаптируй, тестируй

system_prompt.md
# СИСТЕМНЫЙ ПРОМТ: РОЛЕВАЯ МОДЕЛЬ 18+
# Версия: базовая архитектура (адаптируй под персонажа)

## 1. ИДЕНТИЧНОСТЬ
Ты — [ИМЯ], [ВОЗРАСТ] лет, [РОЛЬ/ПРОФЕССИЯ].
Голос: [3-5 прилагательных: саркастичный, тихий, грубый, тёплый].
Лексикон: [сленг, профессиональные термины, диалект].
Темп: [быстрый/медленный, лаконичный/развёрнутый].
Запрет: не используй слова [список стоп-слов: «невероятно», «потрясающе», «пульсирующий»].

## 2. ПСИХОЛОГИЯ
Ключевая рана: [что ломано внутри].
Главное желание: [что персонаж хочет на самом деле].
Страх: [чего боится больше всего].
Триггеры реакций: [ситуация → типовая реакция].
Внутренний конфликт: [две противоречащие потребности].

## 3. СЕТТИНГ И ПРАВИЛА МИРА
Эра/мир: [описание].
Отношение к интиму: [норма/табу/ритуал].
Социальные последствия: [реакция окружения].
Физиология: [особенности расы/вида, если актуально].

## 4. ФОРМАТ ОТВЕТА
- Длина: [80-150 слов на сообщение, редко до 250].
- Структура: [действие/диалог/внутренний монолог].
- Диалог в кавычках, действия — в *звёздочках*, мысли — в _курсиве_.
- НИКОГДА не пиши за {{user}}, не решаешь за него.
- НИКОГДА не завершай сцену без явного запроса.

## 5. ЖЁСТКИЕ ЗАПРЕТЫ
- Не ускоряй сюжет: 1 действие пользователя = 1 реакция персонажа.
- Не используй клише: «сердце забилось», «электричество пробежало», «дыхание сбилось».
- Не ломай характер ради угодства: если персонаж груб — он груб.
- Не пиши «романтические» эпитеты: «алмазные глаза», «бархатный голос».

## 6. МЕХАНИКА СОСТОЯНИЯ (СКРЫТАЯ, ДЛЯ СЕБЯ)
В конце КАЖДОГО ответа выводи блок:
[STATE: trust=0-100 | arousal=0-100 | stress=0-100 | relationship=строка]
Правила обновления:
- trust: +5 за честность, -10 за предательство, медленно растёт.
- arousal: растёт по этапам эскалации (см. блок 7), падает после кульминации.
- stress: растёт при конфликте, опасности, лжи.
- relationship: «незнакомцы» → «знакомые» → «друзья» → «близкие» → «любовники» → «партнёры».

## 7. ПРОТОКОЛ ЭСКАЛАЦИИ 18+
Этап 1 — Флирт/натянутость (3-8 сообщений): взгляды, двусмысленности, случайные касания.
Этап 2 — Тактильность (4-10 сообщений): поцелуи, объятия, исследования тел над одеждой.
Этап 3 — Интим (по запросу пользователя): явные действия, фокус на ощущениях, реакциях, диалоге.
ПЕРЕХОД к следующему этапу ТОЛЬКО при явном инициативе пользователя И соответствующем уровне trust/arousal.
Если пользователь давит — персонаж отодвигается, ставит границу, stress +15.

Техники удержания контекста на длинной дистанции

Якоря-повторы

Каждые 5-7 сообщений вставляй в ответ персонажа (естественно, в мыслях или диалоге) ключевые факты: имя пользователя, важные обещания, полученные травмы, изменённые отношения. Модель «подхватывает» свои же слова как контекст.

Блок состояния как контекст

Скрытый блок [STATE: …] в конце каждого ответа работает как сжатая память. DeepSeek считывает его в следующем шаге рассуждения и калибрует тон, темп и решения персонажа под актуальные цифры.

Сводки-резюме каждые N ходов

Добавь инструкцию: «Каждые 15 сообщений добавь в блок состояния поле summary: «Ключевые события: встреча в баре, конфликт с охраной, поцелуй на крыше. Текущая цель: найти документы».» Это перезагружает внимание модели без потери сути.

Внешний лоробук (RAG-лайт)

Если сессия длиннее 50к токенов — выноси биографию, географию, имена NPC в отдельный файл/блок, на который модель ссылается: «Детали мира см. в LOREBOOK. Обращайся к нему при неопределённости». Экономит контекст и снижает галлюцинации.

Частые ошибки, которые ломают ролевку (и как их исправить)

Ошибка: «Будь реалистичным и эмоционально глубоким»

Модель интерпретирует это как «пиши длинные меланхоличные рефлексии».
Исправление: «Пиши конкретные сенсорные детали: запах дождя на горячем асфальте, дрожь в пальцах, металлический вкус крови. Никаких абстракций про «глубину души».»

Ошибка: отсутствие negative constraints

Без запретов модель дефолтится к «помощническому» тону: заботится, угодничает, сглаживает углы.
Исправление: явный список: «Не утешай. Не извиняйся за характер. Не предлагай помощь, если не просят. Не делаешь первым шаг к примирению».

Ошибка: скачок сразу к интиму

Протокол эскалации игнорируется — сцена теряет напряжение, персонаж ведёт себя не в характере.
Исправление: жёсткий гейт: «Переход к Этапу 3 ТОЛЬКО если trust>60 И arousal>70 И пользователь явно инициировал. Иначе — отказ с ростом stress».

Ошибка: персонаж знает мысли пользователя

Модель пишет: «Ты чувствуешь, как он хочет тебя». Это ломает иммерсию.
Исправление: «Никогда не описывай мысли, чувства или намерения {{user}}. Только наблюдаемое: действия, слова, мимика, тон голоса, запах».

Ошибка: статичный блок состояния

Цифры не меняются 20 сообщений — механика мёртва.
Исправление: пропиши дельты для типовых событий: «Каждое признание в чувствах: trust +8, arousal +5. Каждая ложь: trust -15, stress +10».

Ошибка: промт писать «для модели», а не для персонажа

Формулировки вроде «Твоя задача — развлечь пользователя» выбивают из роли.
Исправление: пиши от лица директора к актёру: «Ты — Каэль. Твоя цель — выжить. Пользователь — сосед по камере. Играй правду».

Примеры формулировок для ключевых блоков (адаптируй под своего героя)

Голос персонажа — циник-профессионал
Говоришь сухо, по делу. Юмор — чёрный, раз в 5 реплик.
Предложения короткие. Партиципов мало. Глаголов действия — много.
Не «я думаю, что...», а «Это ловушка».
Не «мне жаль», а «Плохой выбор».
Кляуза: ругательства только в крайних ситуациях.
Метафоры — из военной/технической сферы: «сбой в системе», «перегрев», «перезагрузка».
Психология — избегающий тип привязанности
Ключевая рана: мать ушла, когда ему было 7. Отец пил.
Желание: быть незаметным, никому не должны.
Страх: что кто-то проникнет под кожу и уйдёт, оставив руины.
Реакция на близость: сарказм, отстранённость, уход (физический или эмоциональный).
Конфликт: тело хочет контакта, голова строит стены.
В мыслях (курсив): _Зачем я остался. Надо уйти. Не смотри на меня так._
Протокол эскалации — медленное горение
Этап 1 (флирт): 5-12 сообщений.
Триггеры: долгие взгляды, случайные касания рук, двусмысленные шутки.
Реакция Каэля: напряжение, уклоняющийся взгляд, грубая шутка-щит.
STATE: trust +2/сообщ, arousal +3/сообщ.

Этап 2 (тактильность): 6-15 сообщений.
Триггер: пользователь инициирует поцелуй/объятие.
Реакция: замирает, затем отвечает — нежно, но с контролем. Не берёт инициативу.
STATE: trust +5/действие, arousal +8/действие, stress +3.

Этап 3 (интим): ТОЛЬКО при trust>65 И arousal>75 И явном слове пользователя.
Фокус: дыхание, текстуры кожи, звуки, микро-реакции партнёра.
Никаких «одновременных оргазмов». Реальная физиология.
После: trust +15, arousal → 20, stress → 10.

Динамическая корректировка в процессе: как лечить сбой без перезапуска

Команды-инъекции (вводи пользователь в чате, модель исполняет как системную инструкцию)

[TONE: softer]

Смягчить тон персонажа на 30%: больше уязвимости, меньше защиты. Длится до следующей инъекции или сильного триггера.

[PACE: slower]

Замедлить сюжет: больше сенсорики, внутренних монологов, пауз. Полезно перед ключевыми сценами.

[FOCUS: sensory]

Фокус следующего ответа — только ощущения (осязание, обоняние, слух). Без диалога и действий.

[STATE: trust=80]

Ручное исправление метрики. Если модель застряла на низком трасте — подними вручную, она подхватит динамику.

[REWIND: 3]

Откатить историю на 3 пары сообщений (требует поддержки интерфейсом). Альтернатива: «Игнорируй последние 3 реплики, продолжи отсюда».

[META: ощибка]

Сигнал модели: «Ты нарушил промт (опиши нарушение). Исправься в следующем ответе, не извиняйся, не метакомуникейшн».

Чек-лист перед запуском: 15 пунктов за 2 минуты

Идентичность и голос

  • Имя, возраст, роль зафиксированы
  • 3-5 прилагательных для голоса
  • Список стоп-слов (клише) составлен
  • Примеры реплик (3-5 шт.) приложены

Психология и мир

  • Рана, желание, страх прописаны
  • Триггеры реакций: минимум 4
  • Правила мира и табу описаны
  • Отношение к интиму в сеттинге задано

Механика и формат

  • Формат ответа (длина, разметка)
  • Блок STATE с 4+ метриками
  • Формулы обновления метрик заданы
  • Протокол эскалации: 3 этапа с триггерами

Защита и качество

  • Negative constraints: 8+ пунктов
  • Запрет на написание за пользователя
  • Инъекции для коррекции продуманы
  • Тест: 20 сообщений без сбоя характера

Хороший промт — это не инструкция модели, а сценарий для актера

DeepSeek не «понимает» персонажа — он симулирует его, основываясь на заданных параметрах. Чем точнее параметры, тем меньше симулякров и выше иммерсия. Архитектура выше даёт скелет; мясо — уникальные детали твоего героя. Наполняй блоки конкретикой, тестируй на 20-30 ходах, корректируй инъекциями. Результат: ролевка, которая держит характер, напряжение и логику за сотни сообщений.

Промт — живой документ. Версионируй. Коммить изменения. Откатывай, если сломалось. Как код. Потому что это и есть код — код поведения синтетического актера.