Цель: Создание программной обвязки (оркестратора) для LLM (Large Language Models), предназначенной для написания длинных художественных произведений с использованием метода снежинки. Система должна минимизировать потери контекста, обеспечивать логическую связность мира и позволять пользователю переключаться между ролями «Архитектора» (планировщика) и «Редактора» (писателя).
Процесс написания строится на итеративном развертывании структуры:
- Логлайн (одно предложение).
- Синопсис (развернутый сюжет).
- План глав (структура произведения).
- План сцен (детальные «биты» внутри глав).
- Текст (Prose) (финальное художественное полотно).
Важное условие: План является «живым». После написания глав допускается и поощряется корректировка будущих планов на основе новых событий.
Система использует файловую структуру, где один каталог = одна книга. Все данные хранятся в формате YAML для обеспечения читаемости человеком и легкости парсинга.
lore.yml: Глобальная база знаний (персонажи, локации, события, правила мира).
plan.yml: Иерархический план произведения (от синопсиса до плана сцен).
chapter_N.yml: Файлы контента. Содержат текст сцен, их суммаризацию и локальные изменения мира.
Для управления контекстом используется модель Trigger-based Retrieval (поиск по триггерам).
- Каждая сущность в
lore.yml содержит список триггеров (неизменяемых корней слов).
- Механизм: Перед генерацией сцены система сканирует план сцены и текущий текст. Если корень слова (в нижнем регистре) совпадает с триггером в базе, соответствующая запись из
lore.yml принудительно включается в промпт.
Файл главы (chapter_N.yml) служит «буфером памяти»:
chapter_summary: Краткое содержание всей главы (для передачи в следующие главы).
world_state: Текущее состояние (где находятся герои, их физическое состояние).
scenes: Список сцен, каждая из которых содержит свой prose (текст), summary (краткая суть) и discovered_lore (новые данные для обновления базы).
- Задача: Развертывание структуры снежинки.
- Взаимодействие: Пользователь задает вектор $\rightarrow$ ИИ предлагает расширение (синопсис $\rightarrow$ план глав $\rightarrow$ план сцен).
- Инструментарий: Редактирование плана вручную или использование ИИ для генерации вариантов развития сюжета.
- Задача: Генерация художественного текста на основе плана.
- Алгоритм цикла:
- Сбор контекста:
[System Prompt] + [Relevant Lore] + [Previous Chapter Summary] + [Current Scene Plan].
- Генерация: LLM пишет текст сцены.
- Валидация (два подрежима):
- Manual (Редактор): Пользователь читает, правит текст или требует перегенерации. Одобрение происходит только после ручного подтверждения.
- Auto (Бредогенератор): Система работает в автономном режиме, одобряя текст по умолчанию.
- Пост-обработка: Автоматическое извлечение суммаризации сцены и новых элементов лора.
Интерфейс должен имитировать рабочую среду профессионального писателя (IDE-style).
- Панель навигации (Левая): Дерево проекта (Главы $\rightarrow$ Сцены) с цветовой индикацией статусов (план/в процессе/готово).
- Рабочая область (Центр): Текстовый редактор, меняющий функционал в зависимости от режима (редактирование плана или написание прозы).
- Панель контекста (Правая):
- Active Lore: Карточки сущностей, подтянутые триггерами.
- Memory Stack: Список суммаризаций прошлых событий.
- Консоль управления (Низ): Лог действий системы, индикатор заполненности контекстного окна и переключатель режимов (Manual/Auto).
- Язык реализации: Python.
- Формат данных: YAML.
- Управление LLM: API (OpenAI, Anthropic или локальные модели через Ollama).
- Логика оркестрации: State Machine (конечный автомат) для управления переходами между этапами снежинки.