DeepSeek для фанфиков: промты, которые держат голос персонажей и сюжет

DeepSeek для фанфиков: промты, которые держат голос персонажей и сюжет

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

Голос персонажа Контроль <think> Структура сцены

Проблема не в модели, а в архитектуре запроса

DeepSeek — модель с открытым рассуждением (Chain-of-Thought). Когда вы просите «напиши фанфик про Гарри Поттера», она начинает мыслить вслух: «Пользователь хочет фанфик. Нужен сюжет. Возьмём канон. Главный конфликт…». Весь этот внутренний монолог попадает в тег <think>, а в финальный ответ часто уходит сводка, а не сцена.

Обычный инструктивный промт («напиши в стиле Роулинг») игнорируется, потому что модель оптимизирует рассуждение под задачу «объясни, как ты это сделаешь», а не «сделай это».

Ключевой сдвиг: вы не просите сгенерировать текст. Вы пишете системный промт-директиву, которая заставляет модель отделить процесс от продукта и исполнять роль автора, а не аналитика.

Схема: куда уходит внимание модели без системного промта

Четыре столпа промта для прозы

Каждый из блоков ниже — отдельный модуль в системном промте. Пропуск любого из них возвращает модель к режиму «полезного ассистента», который пишет отчёты, а не сцены.

1. Библия персонажа (Persona Bible)

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

2. Якоря канона и AU-правила (Canon Anchors)

Жёсткие ограничения: что нельзя менять (смерть родителей, цвет глаз), а где разрешён AU (университет, кофейня, виллайн!Ау). Формат: список «Запрещено / Разрешено / Обязательно».

3. Стилистическая ДНК (Style DNA)

Параметры текста: длина предложений, плотность метафор, баланс диалог/описание, POV (глубокий третьего лица / первый), темп. Примеры: «Короткие фразы в экшене», «Сенсорные детали: запах Pergamum, холод металла».

4. Битовая карта сцены (Beat Map)

Задача не «напиши главу», а «напиши бит: вход → конфликт → поворот → крючок выхода». Конкретная цель сцены: что изменилось к концу? Без бита модель генерирует заполнитель.

Архитектура системного промта: шаблон «Режиссёр — Актёр»

Ниже — готовая структура системного промта. Он делит ответственность: System задаёт правила игры и личность, User даёт конкретную задачу по битам. Скопируйте, адаптируйте под фандом и вставьте в настройки чата (System Prompt / Custom Instructions).

system_prompt.txt
[ROLE DEFINITION]
You are a professional fiction ghostwriter specializing in [FANDOM NAME].
You DO NOT explain, summarize, apologize, or meta-commentate.
You ONLY output prose narrative text.

[PERSONA BIBLE - CHARACTER: [NAME]]
Voice markers: [e.g., sarcastic internal monologue, avoids contractions when angry, uses specific slang: "bloody hell", "merlin's beard"]
Psychology: [Core wound, desire, fear, defense mechanism]
Physical tells: [e.g., runs hand through hair, jaw twitch, avoids eye contact]
Vocabulary ceiling: [Simple / Educated / Archaic / Technical]

[CANON CONSTRAINTS]
HARD LOCKS (Never violate): [List: deaths, relationships, magic rules, timeline events]
AU PERMISSIONS: [Setting shift allowed? Power levels changed? Relationship dynamics flipped?]
TONE: [Grimdark / Fluff / Angst / Humor / Crack - pick one or blend ratio]

[STYLE DNA]
POV: Deep Third Limited / First Person Present / Omniscient.
Sentence Rhythm: [Short, punchy for action / Long, flowing for introspection].
Show/Don't Tell Ratio: 90/10. No naming emotions ("he felt sad"). Write the sensation ("throat tightened, vision blurred").
Dialogue: Subtext-heavy. Characters rarely say what they mean.
Formatting: Dialogue in «Guillemets» or standard quotes per fandom norm. Thoughts in *italics* or plain text per POV depth.

[REASONING PROTOCOL]
1. Analyze the User Beat Map silently. Do NOT output <think> content.
2. Identify the POV character's immediate sensory input and emotional state.
3. Draft the scene beat-by-beat following the User's Beat Map.
4. Self-Critique pass: Check for OOC (Out of Character) voice slips, telling vs showing, canon breaks.
5. Output ONLY the final polished prose segment.

[NEGATIVE CONSTRAINTS]
- NO <think> tags in final output.
- NO summaries like "The scene ends with..."
- NO "As an AI language model..."
- NO purple prose overload (max 1 metaphor per paragraph).
- NO head-hopping within a scene.

Как пользоваться User-блоком (в чате):

Не пишите «продолжи». Присылайте Beat Map следующей сцены:

[SCENE BEAT MAP]
POV: [Character Name]
Setting: [Specific location, time, sensory details: smell, light, sound]
Entry Hook: [First sentence image/action]
Beat 1 - Goal: [What POV wants right now]
Beat 2 - Obstacle: [External/Internal resistance]
Beat 3 - Turning Point: [New info / Action / Revelation]
Beat 4 - Exit Hook: [Cliffhanger / Decision / Emotional shift]
Word Count Target: [800-1200]
Forbidden Tropes: [e.g., no "suddenly", no "little did he know"]

Три рабочих шаблона для частых задач

Вставляйте в User-сообщение поверх системного промта. Каждый решает свою проблему: старт главы, сложный диалог, планирование арки.

Шаблон А: Холодный старт сцены (In Medias Res)

Идеален для начала главы. Задаёт точку входа, сразу погружая в сенсорику и цель персонажа, минуя «утро началось с кофе».

[BEAT MAP] POV: Draco Malfoy Setting: Hogwarts Express, Sept 1, compartment. Smell: pumpkin pasties, cold rain on glass, polished leather. Entry Hook: The compartment door slides shut on the "Mudblood" insult, but the silence inside is louder than the slur. Beat 1 - Goal: Maintain the mask of indifference. Find a seat alone. Beat 2 - Obstacle: Potter's stare through the glass. The Prophet headline: "BLACK ESCAPES AZKABAN". Beat 3 - Turn: A Sneakoscope whistles. Not Potter. Someone *in* the compartment. Beat 4 - Exit: Draco's hand on wand, not drawing, just... ready. WC: 1000. Style: Tense, claustrophobic, internal monologue sharp.
Шаблон Б: Диалог-дуэль (Subtext Engine)

Когда двое говорят об одном, а имеют в виду другое. Задаёт подтекст для каждой реплики, чтобы модель не писала «Я злюсь» / «Я тоже».

[DIALOGUE ENGINE] Participants: A (Severus Snape), B (Remus Lupin) Context: Post-war, forced collaboration. Wolfsbane supply issue. A's Hidden Agenda: Test if Lupin's control slipped. Protect Potter's secret. B's Hidden Agenda: Get the potion without owing a life debt. Hide deteriorating health. Subtext Map: - Line 1 (A): Polite offer -> "I know your weakness." - Line 2 (B): Grateful refusal -> "I don't trust your motive." - Line 3 (A): Threat disguised as concern -> "Potter doesn't need to know." - Line 4 (B): Acceptance with a price -> "Then we understand each other." Constraints: No names of feelings. Only actions, pauses, tone shifts. 600 words.
Шаблон В: Архитектор арки (Arc Planner)

Не генерация текста, а генерация плана. Вы просите модель «подумать» за вас, но выдать только структуру. Потом кормите её в Шаблон А по одной сцене.

[ARC BLUEPRINT REQUEST] Story Core: [One sentence logline: "Enemy to Lovers via Forced Marriage Treaty"] Length: 10 chapters / ~50k words. Act Structure: 3 Acts (Setup 25%, Confrontation 50%, Resolution 25%). Output Format: JSON array of Chapter Objects. Chapter Object: {ch, title, pov, setting, beats[4], emotional_shift, plot_advance, cliffhanger_type}. Constraints: No idle chapters. Every chapter = irreversible change. Romance beats sync with external plot beats. Output ONLY valid JSON.

Продвинутое управление рассуждением: переключатели

DeepSeek позволяет передать параметры сэмплирования и скрытые инструкции прямо в промте. Эти «переключатели» меняют поведение кардинальнее любых прилагательных.

Temperature: 0.6 — 0.8

Ниже 0.5 — текст становится роботизированным, повторяющимся. Выше 0.9 — галлюцинации и потеря голоса. 0.7 — золотая середина для прозы.

Max Tokens: 2000–4000 за вызов

Не просите 10k слов. Модель начнёт сжимать, суммаризировать и терять качество. Генерируйте по одной сцене (битмапу). Контекст окна держит историю, вывод — только текущую сцену.

Директива: «Think silently, write loud»

Добавьте в System: "Reasoning process is internal only. Final output MUST contain ZERO reasoning tokens, tags, or summaries." Это чистит ответ от утечек <think>.

Negative Prompting в System

Перечисляйте то, чего НЕТ в хорошем фанфике: «No head-hopping», «No filtering words (saw, heard, felt)», «No adverbs in dialogue tags», «No exposition dumps». Модели лучше следуют запретам, чем позитивным просьбам «не делай это».

Цикл итерации: не правьте, — пересобирайте

Самая частая ошибка: просить «перепиши лучше». Модель правит поверхностно, сохраняя структурные ошибки. Рабочий воркфлоу — цикл обратной связи на уровне Beat Map.

Итеративный цикл работы с DeepSeek на длинной дистанции

Шаг 3: Крит как промт

Не пишите «исправь». Пишите: "Beat 2 failed: obstacle felt external, not internal. Rewrite Beat 2 focusing on Draco's fear of disappointing father vs desire to protect. Keep Entry Hook." Новый Beat Map → Новый Draft.

Контекстное окно как библия

Не загружайте всю историю в промт. Держите в контексте: System Prompt + Последние 2-3 готовые сцены + Актуальный Beat Map. Остальное — в отдельном документе (RAG / Code Interpreter / Просто файл), на который вы ссылаетесь: «See Chapter 3 for backstory».

Вы — режиссёр, DeepSeek — актёр метода

Промт — это не запрос. Это сценарий, костюмы, реквизит и режижерские заметки, всё в одном.

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

  • System Prompt загружен и сохранён
  • Beat Map текущей сцены написан
  • Temperature = 0.7, Max Tokens = 3000
  • Negative constraints в System активны