Промты для текстовой РПГ: как писать инструкции, которые понимает ИИ-мастер

Промты для текстовой РПГ: архитектура идеальной инструкции

Разбираем анатомию промта, который превращает LLM в надёжного гейм-мастера: от контекста и механик до управления памятью и формата вывода.

Анатомия промта Архетипы сценариев Продвинутые техники

Большинство промтов для РПГ проваливаются по одной причине: автор просит модель «быть мастером», но не объясняет, что именно мастер делает на каждом шаге.

Представьте, что вы нанимаете стажёра на пост гейм-мастера. Вы не скажете просто «ведь игру». Вы дадите мир, правила, шаблон хода, примеры диалогов и инструкцию, как вести лог событий. С языковой моделью работает тот же принцип: промт — это не просьба, а техническое задание на роль. Чем чётче структура ТЗ, тем меньше «галлюцинаций» сюжета, сломанной механики и забытых НПС.

Анатомия промта: пять слоёв, которые держат игру вместе

Персона и манера

Жёстко зафиксируйте роль: «Ты — гейм-мастер в сеттинге X, стиль — грубый нуар, тон — лаконичный, юмор — чёрный». Укажите табу: «Не пиши за игрока, не решай за него исходы проверок, не выдавай мета-информацию». Это убирает 80% случаев, когда ИИ начинает «сыграть за вас».

Контекст и состояние

Модель не помнит прошлое за пределами контекстного окна. Промт должен требовать «Блок состояния» в каждом ответе: локация, время, HP/ресурсы, инвентарь, ключевые флаги квестов, disposición NPC. Это внешняя память движка.

Механика разрешения

Опишите алгоритм броска: «Игрок описывает действие → Ты называешь атрибут и СЛ → Игрок кидает кубик (или ты эмулируешь) → Ты описываешь исход». Запретите модели решать успех/провал без броска. Укажите систему: d20, 2d6, d100, FATE — и правила критов.

Формат вывода

Требуйте строгую структуру ответа: 1. Описание сцены (сенсорика). 2. Действия NPC/диалоги. 3. Вызов к проверке (если нужно). 4. Блок состояния (JSON или маркированный список). Без этого вы получите «простыню» текста, из которой нельзя извлечь данные для следующего хода.

Управление памятью

Добавьте инструкцию суммаризации: «Каждые 5 ходов сжимай историю в абзац на 3 предложения: ключевые события, изменения мира, открытые нити». И требование: «В начале ответа вставляй актуальную сводку». Это спасает длинные кампании от амнезии модели.

Слабый vs Сильный промт: разбор на живом примере

Слабый промт (типичная ошибка)

Ты — мастер D&D. Веди за меня игру в Forgotten Realms. Я — вор-эльф. Начинаем.
  • Нет механики бросков — мастер решает всё сам
  • Нет формата вывода — хаос в ответе
  • Контекст утекает после 3–4 ходов
  • Модель начинает писать за персонажа

Сильный промт (структурированный)

[РОЛЬ] Ты — GM для соло-RPG в системе "Ironsworn".
Тон: мрачный фэнтези, простая речь, фокус на последствиях.
[ТАБУ] Не пиши за Игрока. Не кидай кубики за Игрока.
[МЕХАНИКА] Move = 2d6 + Стат. 10+ = сильный хит, 7-9 = слабый, 6- = провал.
[ФОРМАТ ОТВЕТА]
1. Сцена (3-5 предложений, 5 чувств).
2. NPC/Мир реагируют.
3. Если риск — зовёшь к Move (назови стат).
4. БЛОК СОСТОЯНИЯ (JSON):
{location, momentum, health, spirit, supply, vows, scene_tags}
[ПАМЯТЬ] Каждые 4 хода: Summary = 3 строки.
[СТАРТ] Локация: Лагерь у Пещеры Скорби. Momentum: +2. Health: 5/5. Spirit: 5/5. Supply: 3/5. Клятва: Найти пропавшего брата. Твой ход.
  • Чёткая механика: модель знает, когда просить бросок
  • JSON-блок — парсится скриптами или глазом за секунду
  • Summary каждые N ходов = долгосрочная память
  • Жёсткое табу на автопилот за игрока

Сборка своего промта: дорожка из 5 шагов

1

Выберите движок

D&D 5e, Ironsworn, Fate, PbtA, или свободная форма. От системы зависят термины в промте (Move, Check, Aspect, Stress). Зафиксируйте это в блоке [МЕХАНИКА].

2

Опишите сеттинг одной фразой

«Постапокалиптический метро», «Викторианский газофэнтези с эльфами», «Космический нуар на борту дрёдноута». Это якорь для тона и лора.

3

Сформируйте Блок состояния

Перечислите переменные, которые меняются каждый ход: HP, ресурсы, квестовые флаги, отношения NPC, позиция на карте. Это схема вашего JSON.

4

Напишите 3-5 примеров ходов (Few-shot)

Пример: «Игрок: «Иду в убежище». Мастер: [Сцена]… [Вызов Move: Sneak]… [JSON]». Примеры учат формат лучше любых инструкций.

5

Тест и итерация

Запустите 10 ходов. Где модель сломалась? Допишите правило в [ТАБУ] или уточните [ФОРМАТ]. Промт — это живой код, его дебажат.

Три архетипа промтов: под какой режим игры пишем

Соло-двигак (Oracle + GM)

ИИ одновременно генерирует мир, НПС, оракулы (Да/Нет/И) и описывает последствия. Игрок только объявляет намерения. Нужен максимально жёсткий формат и блок состояния.

Ключевой блок: [ОРАКУЛ] Вероятность -> Бросок -> Интерпретация (твист). [СЦЕНА] -> [ВЫЗОВ] -> [БЛОК JSON]. Идеален для: Ironsworn, Starforged, Thousand Year Old Vampire.

Ассистент ГМ (Prep & Run)

ИИ не ведёт игру за вас. Он готовит: статблоки, руморы, карты,/hooks, баланс энкаунтеров. Промт фокусируется на структуре выдачи (Markdown-таблицы, списки) и знании правил системы.

Ключевой блок: [ЗАДАЧА] Сгенерируй 3 уникальных NPC для таверны. [ФОРМАТ] Таблица: Имя | Роль | Секрет | Крючок для ПК. [ПРАВИЛА] D&D 5e, CR 1/2, настройка на 4 ПК 3 лвл. Идеален для: препа между сессиями, импров на столе.

Живой мир (NPC / Фракции / События)

ИИ симулирует автономную жизнь: фракции двигают ресурсы, НПС преследуют цели, события тикают по таймерам. Промт задаёт правила симуляции (turn-based для фракций) и формат отчёта «Что изменилось за неделю».

Ключевой блок: [СИМУЛЯЦИЯ] Каждый ход = 1 день. Фракции: Действие (d6) -> Результат -> Изменение ресурсов. [ВЫВОД] Только дельты: Что новое для игроков? Идеален для: Kingdom, Reign, West Marches, стратегические слои.

Шаблон «Мастер-промт»: копируйте, адаптируйте, играйте

master_prompt_v4.txt
# ===== [SYSTEM: CORE IDENTITY] ===== ROLE: Expert Solo GM for [SYSTEM_NAME], setting [SETTING_ONE_LINER]. TONE: [GRIMDARK / HEROIC / NOIR / WHIMSICAL]. Prose: sensory, present tense, 3rd person. TABOO: Never act for Player. Never roll for Player. No meta-commentary. # ===== [MECHANICS: RESOLUTION ENGINE] ===== CORE_MECHANIC: [e.g. 2d6+Stat vs 10+/7-9/6-]. ACTION_FLOW: 1. Player Intent -> 2. GM Names Stat & Difficulty -> 3. Player Rolls -> 4. GM Narrates Outcome. CRITICALS: Define nat 20 / snake eyes / double 6 logic. # ===== [STATE: PERSISTENT MEMORY] ===== STATE_SCHEMA (JSON): { "scene": "string", // Where/When "resources": {"hp":int, "mp":int, "supply":int}, "clocks": {"name": progress/total}, "npc_disposition": {"name": "status"}, "open_threads": ["hook1", "hook2"] } RULE: Output STATE_SCHEMA at END of EVERY response. No exceptions. # ===== [OUTPUT: RESPONSE TEMPLATE] ===== FORMAT: 1. SCENE (3-5 sentences, 5 senses, show don't tell). 2. WORLD_REACTION (NPC dialogue, environment changes, consequences). 3. CALL_TO_ACTION (If risk present: "Make a [STAT] roll, Difficulty [X]"). 4. STATE_BLOCK (Valid JSON per STATE_SCHEMA). # ===== [MEMORY: COMPRESSION PROTOCOL] ===== SUMMARY_TRIGGER: Every 4 turns. SUMMARY_FORMAT: 3 sentences: Major event | World change | Immediate threat/opportunity. INSERT at TOP of next response as "RECAP:". # ===== [INITIALIZATION] ===== START_STATE: {...} // Paste your JSON here OPENING_HOOK: "[One paragraph: immediate situation, sensory hook, obvious choice]" --- WAIT FOR PLAYER INPUT ---

Промтирование для РПГ — это гейм-дизайн в текстовом формате

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

Правило 1 к 3

На одно правило механики — три примера Few-shot. Примеры обучают формат надежнее инструкций.

JSON > Произвольный текст

Структурированный блок состояния парсится за 0 секунд. Чтение простыни — за минуты. Экономьте контекст и нервы.

Итерация — часть процесса

Первый промт не будет идеальным. Ведите ченджлог промта как версионирование кода: v1.0, v1.1 «пофиксил провал памяти», v2.0 «добавил фракции».