Что внутри
Архитектура промта, ключевые блоки, техники удержания контекста, примеры формулировок и чек-лист проверки перед запуском.
Кому пригодится
Тем, кто пишет системные промты для ролевых ботов, тестирует границы модели или хочет перестать переписывать одни и те же инструкции каждую сессию.
Почему DeepSeek ведёт себя иначе, чем GPT или Claude
Рассуждение перед ответом
DeepSeek-R1 генерирует скрытый цепочечный вывод (<think>) перед финальным сообщением. В ролевке это значит: модель «думает» за персонажа, оценивает мотивации, проверяет соответствие лору. Промт должен давать ей критерии для этой внутренней проверки.
Длинный контекст без потерь
Окно 128k токенов держит историю дольше, но внимание размывается. Промт должен содержать «якоря» — повторы ключевых фактов, правил и состояний персонажа — чтобы модель не теряла нить через 20-30 сообщений.
Строгая следование инструкциям
DeepSeek склонен исполнять системный промт буквально. Неопределённость («будь реалистичным») даёт разброс. Конкретика («описывай тактильные ощущения в 2-3 предложения на действие пользователя») — стабильный результат.
Архитектура рабочего системного промта: 7 обязательных блоков
Шаблон системного промта — копируй, адаптируй, тестируй
Техники удержания контекста на длинной дистанции
Якоря-повторы
Каждые 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».
Ошибка: промт писать «для модели», а не для персонажа
Формулировки вроде «Твоя задача — развлечь пользователя» выбивают из роли.
Исправление: пиши от лица директора к актёру: «Ты — Каэль. Твоя цель — выжить. Пользователь — сосед по камере. Играй правду».
Примеры формулировок для ключевых блоков (адаптируй под своего героя)
Динамическая корректировка в процессе: как лечить сбой без перезапуска
Команды-инъекции (вводи пользователь в чате, модель исполняет как системную инструкцию)
[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 сообщений без сбоя характера