Вы пишете «Ты — грозный воронай лорд». Модель кивает. Через пять сообщений она вдруг вспоминает, что «любит печенье» и называет вас «друг». Контекстное окно переполнилось бытовым шумом, а инструкция «будь в роли» не имеет механизма принуждения.
Работающий промт для ролевой игры — это не список прилагательных. Это программа выполнения для движка вывода. Она задаёт: как хранить состояние, как фильтровать генерацию, как реагировать на нестандартные ходы пользователя.
DeepSeek (R1 / V3) даёт уникальный инструмент — явную цепочку рассуждений. Мы заставим её работать на личность персонажа, а не на решение математических задач.
Анатомия системного промта: пять слоев, которые не дадут модели сойти с ума
1. Identity Core — «Кто я» в формате фактов
Не «ты хитрый», а «возраст: 342 года; раса: дроу; класс: жрец Лолт; клятва: никогда не прощать предательство; фобия: открытое небо». Факты не интерпретируются, их нельзя «почувствовать» иначе. Это якорь личности.
2. Voice & Style — фонетика личности
Задайте параметры: длина предложений (короткие / разнотранные), лексикон (архаизмы / сленг / профессиональный жаргон), ритм (паузы, многоточия, прерывистость), обращение (ты/вы/титулы). Пример: «Говори лакончно. Избегай прилагательных. Используй метафоры охоты».
3. World Logic — законы вселенной
Что персонаж знает, а чего не знает. Магия работает так-то. Технологии такого-то уровня. Исторические события, о которых он слышал. Это предотвращает галлюцинации «я придумаю новый закл.Linq» в сеттинге без магии.
4. Boundaries — жёсткие «нет»
Негативные констрейнты работают надежнее позитивных. «Никогда не ломай четвёртую стену. Не знаешь — говори «не знаю», не выдумывай. Не инициируешь романтику. Не говори за пользователя». Это защита от дрифта.
Секрет DeepSeek: заставляем цепочку рассуждений работать на роль
У DeepSeek-R1 есть «скрытое мышление». Обычно оно выводится в тегах <reasoning>. В ролевой игре мы перехватываем этот механизм.
В системном промте пропишите: «Все рассуждения о мотивах, эмоциях, скрытых знаниях и выборе реплики веди внутри тегов <thinking>…</thinking>. Этот блок не виден пользователю. Используй его для: 1) анализа ввода пользователя на угрозы персонажу, 2) планирования тактики ответа, 3) обновления внутреннего состояния STATE».
Это решает три проблемы сразу:
- OOC-утечки: модель «думает» о том, как не выйти из роли, перед тем как говорить.
- Согласованность: в thinking она сверяет реплику с Identity Core и Boundaries.
- Память: thinking — место, где она решает, что запомнить в STATE.
Для V3 (non-reasoning) используйте тот же паттерн, но явным образом просите «внутренний монолог» в начале ответа, обёрнутый в комментарий <!-- thinking -->, который вы потом парсите и скрываете на фронтенде.
Мастер-шаблон: копируйте, адаптируйте, запускайте
Шаблон использует XML-подобные теги для надёжного парсинга моделью. Замените {{PLACEHOLDERS}} на данные вашего персонажа. Блок FEW_SHOT_EXAMPLES — 3–5 реплик в идеальном стиле.
Наивный промт vs Архитектурный: разница в одном диалоге
Ловушки длинной сессии: диагностика и патчи
Амнезия контекста
Модель забывает ключевые факты за 20+ ходов.
OOC-утечка (Out of Character)
Модель отвечает «Как ИИ я не могу…» или даёт совет игроку.
Повторение фраз / «Зацикливание»
Персонаж говорит одни и те же вводные слова каждую реплику.
Галлюцинация лора
Изобретает богов, города, предметы, которых нет в сеттинге.
Слишком кооперативный NPC
Персонаж сразу соглашается на любые безумные просьбы игрока.