Промт для фанфика: анатомия идеального запроса к нейросети
Почему нейросеть пишет «OOC» и как заставить её звучать как автор канона — разбираем структуру, контекст и итеративный процесс.
Проблема первого экрана
Почему «напиши фанфик про Гарри Поттера» даёт бессмысленный набор слов
Вы просите модель сгенерировать историю во вселенной, где у каждого персонажа — своя речь, свои травмы, свои манеры держать палочку или петь под душ. Но в промте нет ни одного якоря: нет голоса, нет правил мира, нет структуры сцены. Нейросеть берёт «среднюю температуру по больнице» из обучающей выборки — смесь тропов, клише и безопасных фраз — и выдаёт текст, который технически грамматичен, но эмоционально пуст.
Качественный фанфик-промт — это не задание, а передача контекста. Вы загружаете в модель состояние «автора канона» на время генерации. Чем точнее передача, тем меньше правок потом.
Три слоя работающего промта
Любой рабочий промт для креативного письма стоит на трёх опорах. Пропустите один — конструкция развалится на стадии первой реплики.
1. Контекст (Лор и Карточки)
Кто где, когда, в каком эмоциональном состоянии. Отношения между персонажами на данный момент. Каноничные факты, которые нельзя нарушать (смерти, способности, география).
2. Инструкция (Задача и Формат)
Что именно пишем: сцена, диалог, глава, аутро. В каком POV (от первого, третьего лица). Какой дрив: ангаст, флафф, хर्ट/комфорт, PWP. Ограничения по длине.
3. Ограничения (Стиль и Запреты)
Чего НЕТ в тексте: никаких «он подумал», «она почувствовала» (show, don’t tell), никаких современных сленгов в историческом сеттинге, никаких OOC-действий. Примеры голоса (few-shot).
Четыре столпа голоса персонажа
Лексикон и ритм речи
Серебряный не говорит как Снейп. Дин Винчестер не говорит как Кастиель. Соберите словарь: любимые слова-парразиты, длина предложений, использует ли сокращения, сарказм, эллипсисы. Пример: «Он не «рассердился», он «посжал челюсть так, что скрипнули зубы».
Внутренний монолог и фокус
На что персонаж обращает внимание? Гарри замечает угрозы и детали комнаты. Шерлок — пыль на манжете и микровыражение. Их внутренний голос — это фильтр реальности. Задайте фокус внимания в промте.
Эмоциональные триггеры
Что ломает маску? Имя умершей матери, конкретный запах, фраза врага. Нейросеть должна знать «красные кнопки», чтобы сцена ударила в цель, а не прошла мимо. Это разница между тропом и персонажем.
Физичность и манеры
Как держит руки, куда смотрит во время паузы, нервные тики. «Она вздрагивает при громких звуках» работает лучше «она пуглива». Физика заземляет диалог и убирает «голова в вакууме».
Lorebook (Книга знаний) и Character Card
В инструментах вроде SillyTavern, KoboldCPP или кастомных врапперах за промтом стоит архитектура: System Prompt → Lorebook Entries → Character Card → Chat History → User Prompt. Понимание этой иерархии экономит токены и нервы.
- Character Card (Карточка персонажа): Постоянный блок. Имя, описание, личность, пример диалогов (few-shot), первый сообщение. Загружается всегда.
- Lorebook (Лорбук): Динамические записи. Локации, предметы, фракции, события. Подключаются по ключевым словам (триггерам). Если в сцене упоминается «Министерство магии» — подгружается лор про Министерство. Не загрязняет контекст впустую.
- World Info / Author’s Note: Глобальные правила мира (магическая система, технологии, этикет) и мета-инструкции стиля («пиши в стиле Диккенса», «избегай пассивного залога»).
Правило «Активного контекста»
Модель «видит» только то, что вошло в окно контекста. 8k, 32k, 128k — неважно, если вы забили его мусором. Лорбук срабатывает селективно: сработал триггер «Имперек» → загрузилось описание проклятия. Не сработал — токены сэкономлены. Настройте триггеры (ключевые слова) жестко: регистр, частичные совпадения, вес.
Рабочий процесс: от идеи к главе за 5 итераций
Концепт и Конфликт
Одна фраза: кто, чего хочет, что мешает. «Драко хочет извиниться перед Гарри, но гордость не позволяет открыть рот». Без этого промт блуждает.
План сцены (Outline)
Просите модель сначала выдать пошаговый план: биты, эмоциональные пики, поворот. Редактируете план — потом просите текст. Писать сразу прוזу — лотерея.
Черновик (Zero Draft)
Генерируете по плану. Температура 0.8–1.0. Не ждите идеала. Ищите: попал ли голос? Есть ли «шоу, не телл»? Сохраняйте удачные фрагменты в скретчпад/ноутбук.
Коррекция голосом (Voice Pass)
Промт: «Перепиши, усили голос [Персонажа]. Убери фильтры восприятия. Замени общие глаголы на специфичные. Добавь внутренний монолог в моменты X и Y».
Полировка и Лор-чек
Читаете как бета-ридер. Проверяете канон: даты, заклинания, география. Просите модель: «Найди 3 факта, противоречащие канону 책 3». Финал — ваш текст, а не модели.
Разница в одной таблице: слабый vs сильный промт
| Параметр | Слабый промт (Novice) | Сильный промт (Pro) |
|---|---|---|
| Задача | «Напиши фанфик про Некроманта и Паладина» | «Сцена: Первый контакт. Паладин (Леон, 34 г, циничный, усталый) застаёт Некроманта (Кай, 28 г, изнурённый, защищает деревню) за ритуалом. Не битва — разговор. POV Леон. 1500 слов. Троп: Enemies to Lovers, Hurt/Comfort.» |
| Контекст персонажей | Отсутствует. Модель придумает своих. | Леон:Lost руку в войне, боится магии, говорит коротко, избегает глаз. Кай: говорит метафорами, закрытые позы, кашляет кровью при перерасходе маны. Примеры диалогов (3 реплики каждый) приложены. |
| Правила мира | Стандартные D&D тропы. | Некромантия не зла по умолчанию, но коррумпирует тело. Паладины чувствуют «тьму» как физическую боль. Ранний завтрак — ритуал Леона. Ключевые термины: «Мана», «Коррупция», «Клятва». |
| Стиль и запреты | «Пиши красиво». | Стиль: Джо Аберкромби / Глен Кук. Грубая реалистичность. Запреты: внутренние монологи типа «он подумал», «он понял», пассивный залог, современный сленг, счастливый энд. Show, don’t tell. Температура 0.7. |
| Результат | Шаблонный текст, OOC, «он نظر с грустью», 3 правки не помогут. | Рабочий черновик: голоса слышны, конфликт чёток, лор соблюдён. Нужен 1 проход полировки. |
Готовый шаблон: копируйте, адаптируйте, используйте
[SYSTEM: ROLE & STYLE]
Ты — профессиональный автор фанфиков. Пишешь в стиле [АВТОР/ЖАНР: напр., Нил Гейман / Нойр-детектив].
Принципы: Show, Don't Tell. Глубокий POV. Никаких фильтров восприятия (видел, слышал, почувствовал, понял).
Диалоги: субаткстуальные, прерывистые, с уникальными речевыми паттернами для каждого персонажа.
Темп: [медленный / динамичный]. Атмосфера: [описание].
[CHARACTER CARDS - ATTACHED VIA LOREBOOK]
<Персонаж_1>: {Имя, Возраст, Архетип, Голос, Триггеры, Физика, Few-shot диалоги}
<Персонаж_2>: { ... }
[WORLD STATE - CURRENT SCENE]
Локация: [Детально: свет, запахи, звуки, погода, время суток].
Время в сюжете: [Глава/День/Событие канона].
Эмоциональное состояние персонажей на входе в сцену:
- Перс_1: [состояние, цель в сцене, страх].
- Перс_2: [состояние, цель в сцене, страх].
Отношения на данный момент: [Динамика, нерешенные конфликты, долги].
[TASK]
Напиши сцену: [Описание бита: что происходит, какой поворот в конце].
POV: [Имя / Третье лицо близкое / Первое лицо].
Формат: Проза. Длина: ~ [N] слов / токенов.
Тропы для включения: [список].
Тропы для ИСКЛЮЧЕНИЯ: [список].
[CONSTRAINTS & NEGATIVE PROMPTS]
- НЕ используй слова: «вдруг», «мгновенно», «невероятно», «прекрасный», «страшный» (оценочные прилагательные).
- НЕ пиши: «Он подумал, что...», «Она поняла, что...». Пиши мысль напрямую: «Идиот. Снова ошибся.»
- НЕ нарушай канон по пунктам: [список жёстких фактов].
- Держи голос Перс_1: [лексикон, ритм, тики].
- Держи голос Перс_2: [лексикон, ритм, тики].
[FEW-SHOT EXAMPLES - VOICE CALIBRATION]
User: Пример голоса Перс_1 в стрессе.
Model: «Рука на рукояти. Дыхание — в счёт. Не смотри в глаза. Говори меньше. Мысли быстрее.»
User: Пример голоса Перс_2 при флаттере.
Model: «Улыбка не доходит до глаз. Палец постукивает по столу. Ритм — три удара. "Интересное предложение. А цена?"»
[OUTPUT INSTRUCTION]
Начинай сразу с действия/диалога. Без вступлений «Вот твоя сцена:».
Ловушка контекстного окна
Вы загрузили 50к токенов лора, историю чата 20к токенов и ждёте магию. Модель «забывает» начало к середине генерации. Attention mechanism распыляется.
Как обойти (без RAG)
- Иерархия памяти: System Prompt > Character Card > Lorebook (активные) > Последние 10-15 реплик чата > Summary старых глав.
- Summary Injection: Каждые 3-4 генерации просите модель: «Сожми прошлое в 200 слов: ключевые события, открытые конфликты, эмоциональные векторы». Вставляете саммари в System Note.
- Scratchpad / Notepad: Внешний блокнот (или поле Notes в SillyTavern) для фактов: «Кай аллергичен на серебро», «Леон клянётся не убивать». Модель читает это при каждом запросе, если добавите в промт: «Обязательно учти факты из блокнота: [контент]».
- Temperature Control: 0.7-0.8 для прозы. 0.3-0.4 для лора/фактоидов. Не мешайте в одном вызове.
Главное, что стоит запомнить
Нейросеть — не автомат с фанфиками. Это соавтор, которому вы передали руль.
Качество результата пропорционально качеству передачи контекста. Промт — это не заклинание, а техническое задание для самого капризного исполнителя в мире. Он не знает ваш фандом, если вы ему не расскажете. Он не чувствует персонажей, если вы не дадите ему их «голос» на примерах. Он не видит структуру, если вы не нарисуете план.
Контекст > Инструкция. Без лора и карточек инструкция бесполезна.
План > Импровизация. Сначала структура, потом проза.
Итерация > Магия. Первый черновик — сырой материал. Голос рождается на правках.
«Хороший промт не пишет за вас. Он создаёт условия, при которых вы можете писать лучше и быстрее».