3,583 papers
arXiv:2604.25482 79 28 апр. 2026 г. FREE

Dependency-Aware Pipeline: иерархическая генерация сложного контента через цепочку зависимостей

КЛЮЧЕВАЯ СУТЬ
Создаёшь мир одним промптом, персонажей — следующим. Кажется логичным. Но модель не держит связи между отдельными запросами — она воссоздаёт их с нуля при каждом новом обращении. Итог: персонаж, придуманный после мира, живёт в параллельной реальности — не знает об организациях, фракциях и локациях, которые ты уже создал. Квест ссылается на место, которого нет на карте. Злодей мотивирован событием, которое произошло уже после его появления. Метод Dependency-Aware Pipeline позволяет генерировать сложный взаимосвязанный контент — миры, персонажи, сюжетные арки, задачи — где каждый новый элемент знает о существовании всех предыдущих. Фишка: каждая стадия принудительно получает структурированный вывод всех предыдущих как явный контекст — не пересказ своими словами, а полный список полей. Модель не додумывает связи, а следует уже заданным. Плюс двухуровневое планирование: сначала все задачи разом (глобальный план), потом детализация каждой по отдельности — модель не теряет нить пока закапывается в детали.
Адаптировать под запрос

TL;DR

Когда нужно создать сложный, взаимосвязанный контент (мир, персонажи, сюжет, задачи), один промпт неизбежно даёт разваливающийся результат — элементы не стыкуются, персонажи живут в вакууме, события противоречат друг другу. Метод решает это через цепочку зависимых стадий: каждый следующий промпт получает структурированный вывод всех предыдущих и строится поверх него.

Главная боль — "нарративный дрейф": попросишь сгенерировать мир и квесты за один раз или двумя несвязанными запросами — получишь логически несовместимые куски. Персонаж, которого ты придумал позже, не знает об организациях из мира, придуманного раньше. Задача ссылается на локацию, которой нет на карте. Модель генерирует каждый элемент как изолированный артефакт, потому что не держит в голове живую связь между ними.

Решение — принудительная структурная зависимость: после каждой стадии фиксируешь вывод в структурированном виде (JSON или чёткий список), а в следующий промпт вставляешь его целиком как контекст. Финальная находка — двухуровневое планирование: сначала глобальный план (все квесты разом, их связи и порядок), потом детальная проработка каждого по отдельности. Это разделяет "смотреть на лес" и "смотреть на дерево" — и модель не путает уровни.


🔬

Схема метода

Все стадии — отдельные запросы. Вывод каждой стадии полностью вставляется в следующий промпт:

СТАДИЯ 1: Глобальный контекст (мир / тема / рамка)
  → вывод в структурированном виде [список, JSON, таблица]

СТАДИЯ 2: Окружение (NPC / игроки / stakeholders)
  → получает: Стадия 1
  → вывод в структурированном виде

СТАДИЯ 3: Главный герой / протагонист
  → получает: Стадия 1 + Стадия 2
  → вывод в структурированном виде

СТАДИЯ 4: Глобальный план (все задачи/арки разом)
  → получает: Стадия 1 + 2 + 3
  → вывод: список задач с зависимостями и связями

СТАДИЯ 5 (повторяется для каждой задачи):
  Детальная проработка одной задачи
  → получает: Стадия 1 + 2 + 3 + 4 + конкретная задача из Стадии 4
  → вывод: полная детализация

🚀

Пример применения

Задача: Придумать вселенную для сезона подкаста — 6 выпусков о вымышленном стартапе "Точка невозврата". Нужно чтобы персонажи, конфликты и сюжетные повороты складывались в единую историю, а не рассыпались от эпизода к эпизоду.

Промпт (Стадия 1 — мир):

Ты — сценарист документального подкаста. Создай структуру вселенной 
для сезона о стартапе "Точка невозврата" (EdTech, Москва, 2023–2024).

Верни строго в формате:
- Название стартапа и суть продукта (2-3 предложения)
- Этап развития (pre-seed / seed / раунд A / etc.)
- Ключевые события фона: что происходит на рынке, что давит на компанию
- Главные противоречия мира: 3 напряжённости, которые будут двигать историю
- Ключевые локации: где происходит действие

Промпт (Стадия 2 — персонажи):

[ВСТАВЬ ВЫВОД СТАДИИ 1 ПОЛНОСТЬЮ]

На основе этого мира создай 4 ключевых персонажа подкаста.

Для каждого:
- Имя, роль в компании
- Мотивация (чего хочет)
- Секрет (что скрывает)
- Отношения с другими персонажами (конфликты / союзы)

Промпт (Стадия 4 — глобальный план сезона):

[ВСТАВЬ ВЫВОД СТАДИЙ 1+2+3 ПОЛНОСТЬЮ]

Спланируй структуру сезона: 6 эпизодов.

Для каждого эпизода:
- Название и центральный конфликт
- Какие персонажи в фокусе
- Что раскрывается впервые
- Как этот эпизод зависит от предыдущего и влияет на следующий

Все 6 эпизодов — в одном ответе. 
Убедись что они образуют единую дугу, а не набор независимых историй.

Результат: Каждая стадия получает всё, что было до неё. К Стадии 4 модель "держит" весь мир, всех персонажей и главного героя — и строит план сезона, в котором персонажи ведут себя последовательно, а сюжетные повороты не противоречат друг другу. После Стадии 4 — берёшь каждый эпизод по отдельности и детализируешь: диалоги, факты, развязки.


🧠

Почему это работает

Проблема: Модель генерирует контент "здесь и сейчас" — она не удерживает живую связь между элементами, созданными в разных запросах. Если персонаж и мир придуманы порознь, они существуют в параллельных реальностях. Модель не "помнит" связи — она их воссоздаёт заново каждый раз.

Сила модели: Когда в промпте есть явный структурированный контекст, модель отлично следует ему и строит новый контент поверх него. Ей не нужно "додумывать" связи — они заданы явно. Структурированный вывод (список, JSON) лучше передаёт связи, чем сплошной текст — меньше потерь при переносе между запросами.

Как метод использует это: Вместо того чтобы надеяться на "память" или делать всё в одном гигантском промпте, каждый шаг принудительно получает всё нужное явно. Двухуровневое планирование — сначала все задачи разом (чтобы видеть глобальную связь), потом детализация каждой отдельно — убирает самую частую ошибку: модель "закапывается" в детали одного элемента и теряет нить общей истории.

Рычаги управления: - Количество стадий → добавь или убери слои под свою задачу (убрал персонажей — получил двухэтапный pipeline) - Формат вывода → JSON даёт меньше потерь при переносе, список — проще читать глазами - Что передавать → можно передавать не весь вывод, а только ключевые поля (для экономии токенов) - Отдельность детализации → на Стадии 5 каждый элемент прорабатывается независимо — это значит можно переделать один, не трогая остальные


📋

Шаблон промпта

Шаблон для запуска стадии:

[КОНТЕКСТ ИЗ ПРЕДЫДУЩИХ СТАДИЙ]
--- Мир ---
{вставь структурированный вывод стадии 1}

--- Персонажи ---
{вставь структурированный вывод стадии 2}

--- Главный герой / протагонист ---
{вставь структурированный вывод стадии 3}
---

Теперь выполни задачу следующей стадии.

Твоя задача: {описание задачи стадии}

Формат вывода:
{список полей или JSON-схема}

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

Что подставлять: - {вставь вывод стадии N} → копируй вывод предыдущего промпта целиком - {описание задачи стадии} → что именно создаём на этом шаге (персонажи / план / детализация) - {список полей} → что должен вернуть ответ (можешь попросить LLM предложить схему под твою задачу)


🚀 Быстрый старт — вставь в чат:

Вот шаблон многостадийного pipeline для создания 
взаимосвязанного контента. Адаптируй под мою задачу: {твоя задача}.
Предложи 4-5 стадий, схему зависимостей и форматы вывода для каждой.

[вставить шаблон выше]

LLM спросит, что именно ты создаёшь и какой конечный результат нужен — потому что без этого она не сможет правильно выстроить порядок стадий и что передавать между ними. Она возьмёт структуру зависимостей и адаптирует под твою задачу.


⚠️

Ограничения

⚠️ Объём контекста растёт: К последним стадиям в промпте накапливается много текста из предыдущих шагов. В длинных проектах это может съедать лимит контекста. Решение — передавать только ключевые поля, а не весь вывод.

⚠️ Структура требует дисциплины: Нужно каждый раз вручную копировать вывод одного запроса в следующий. Если пропустишь стадию или вставишь неполный вывод — связность рассыплется.

⚠️ Не для простого контента: Если задача не требует взаимосвязи элементов (написать один текст, ответить на вопрос) — это избыточно. Метод раскрывается только при сложных многоуровневых задачах.

⚠️ Качественная (не количественная) оценка: Исследование проверяли люди по субъективным критериям, а не автоматически. Это значит нет точных цифр прироста качества — только экспертные суждения.


🔍

Как исследовали

Команда из Гданьского технологического университета взяла GPT-5 (без дообучения) и прогнала его через пятиступенчатый pipeline несколько раз подряд, каждый раз с нуля. Сравнивали с однопромптовым подходом — когда весь RPG-контент просишь сгенерировать за раз. Оценивали люди по критериям: структурная полнота, внутренняя согласованность, нарративная связность, разнообразие, "геймплейная пригодность" — то есть можно ли в это реально играть.

Интересная деталь дизайна: квест-стадия специально разбита на две — сначала все квесты планируются разом (чтобы не потерять глобальную дугу), потом каждый прорабатывается отдельно. Исследователи заметили, что именно это разделение дало главный прирост: когда квесты генерировались по одному без глобального плана, они получались логически изолированными. Когда сначала был план — они складывались в историю.

Ключевой вывод, который удивил авторов: качество не деградирует с ростом сложности. Чем больше стадий пройдено и чем больше контекста накоплено, тем лучше становятся поздние стадии — а не хуже, как можно было ожидать. Это подтверждает: структурированные зависимости помогают модели, а не перегружают её.


💡

Адаптации и экстраполяции

📌

Принцип за пределами RPG

Зависимая цепочка работает для любого контента с иерархической структурой:

🔧 Бизнес-документация → Brand Bible: Бренд-платформа → Тон голоса → Персонажи аудитории → Контентная стратегия → Конкретные посты. Каждый шаг получает все предыдущие.

🔧 Онлайн-курс: Портрет аудитории + боли → Программа курса (все модули разом) → Детализация каждого модуля отдельно. Двухуровневое планирование точь-в-точь как в оригинале.

🔧 Детективная история / сценарий: Мир → Действующие лица (с секретами и связями) → Хронология событий (все сразу) → Детализация каждой сцены. Секреты персонажей, заложенные на Стадии 2, автоматически прорастают в сцены Стадии 4.

📌

Минимальная версия (2 стадии вместо 5)

Если выбираешь между "можно ли урезать pipeline до минимума":

СТАДИЯ 1: Создай {тема/сущность} в структурированном виде.
Верни: [поле 1], [поле 2], [поле 3]

СТАДИЯ 2: 
[вставь вывод стадии 1]

На основе этого контекста создай {следующий уровень}.
Все элементы должны явно опираться на данные выше.

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


🔗

Ресурсы

From World-Gen to Quest-Line: A Dependency-Driven Prompt Pipeline for Coherent RPG Generation

Dominik Borawski, Marta Szulc, Robert Chudy, Małgorzata Giedrowicz, Piotr Mironowicz

Gdańsk University of Technology

Corresponding author: borawskid@icloud.com

Смежные работы, упоминаемые в статье: QuestVille (NPC-квесты), PANGeA (нарративная генерация для turn-based RPG), CONAN engine (планировщик квестов через NPC-мотивации)


📋 Дайджест исследования

Ключевая суть

Создаёшь мир одним промптом, персонажей — следующим. Кажется логичным. Но модель не держит связи между отдельными запросами — она воссоздаёт их с нуля при каждом новом обращении. Итог: персонаж, придуманный после мира, живёт в параллельной реальности — не знает об организациях, фракциях и локациях, которые ты уже создал. Квест ссылается на место, которого нет на карте. Злодей мотивирован событием, которое произошло уже после его появления. Метод Dependency-Aware Pipeline позволяет генерировать сложный взаимосвязанный контент — миры, персонажи, сюжетные арки, задачи — где каждый новый элемент знает о существовании всех предыдущих. Фишка: каждая стадия принудительно получает структурированный вывод всех предыдущих как явный контекст — не пересказ своими словами, а полный список полей. Модель не додумывает связи, а следует уже заданным. Плюс двухуровневое планирование: сначала все задачи разом (глобальный план), потом детализация каждой по отдельности — модель не теряет нить пока закапывается в детали.

Принцип работы

Не один гигантский промпт и не серия несвязанных запросов — а конвейер с обязательной передачей контекста вперёд. Каждый шаг как этаж здания: строится поверх фундамента и стен снизу. Нельзя класть крышу, не зная где стены. Правило цепочки: вывод стадии N полностью уходит в промпт стадии N+1 как явный структурированный контекст. Модель видит: вот мир, вот персонажи, вот главный герой — теперь создай квест опираясь на всё это. Не 'помни о мире', а 'вот мир прямо сейчас перед тобой'. Явные зависимости вместо надежды на неявную память.

Почему работает

Модель хорошо следует явному контексту в промпте — и плохо держит неявные связи между отдельными запросами. Это не баг, это архитектура: каждый запрос обрабатывается независимо. Ключевой инсайт: модель не 'помнит' связи — она должна их видеть прямо сейчас в промпте. Структурированный вывод (список, JSON) передаёт связи точнее, чем сплошной текст — меньше теряется при переносе между запросами. Двухуровневое планирование решает отдельную проблему: когда модель долго детализирует один элемент, она 'закапывается' и теряет нить глобальной истории. Сначала все элементы разом с их связями (план), потом каждый отдельно (детализация). Уровни не смешиваются. Оговорка: исследование проверялось экспертами на глаз, не автоматически. Точных цифр прироста качества нет — только то, что эксперты оценили результат как связный.

Когда применять

Сценарное письмо, геймдизайн, создание подкаст-вселенных, образовательные курсы — любой проект, где 5 и более взаимосвязанных сущностей должны знать друг о друге: персонажи, локации, события, задачи, организации. Особенно хорошо работает когда нужно итеративно переделывать отдельные элементы — детализация на последней стадии независима, можно переписать один квест не трогая остальные. НЕ подходит для: одного текста, ответа на вопрос, задач где элементы не связаны между собой. На простом контенте это просто лишняя работа.

Мини-рецепт

1. Разбей на слои: Что создаётся первым (глобальный контекст — мир, тема, рамка)? Что зависит от этого (персонажи, окружение)? Что зависит от всего (сюжет, задачи, детали)?

2. Требуй структурированный вывод: Каждую стадию заканчивай просьбой вернуть результат списком с полями или в виде JSON. Не сплошной текст — он плохо передаёт связи между запросами.

3. Стадия 1 — фундамент: Создай [X]. Верни строго в формате: - [поле 1] - [поле 2] - [поле 3]...

4. Каждая следующая стадия — с полным контекстом: Вставь полный вывод всех предыдущих стадий, потом ставь задачу. [ВСТАВЬ ВЫВОДЫ СТАДИЙ 1-N] Теперь создай [Y]. Все элементы должны явно опираться на контекст выше — ссылаться на уже существующих персонажей, локации и события.

5. Для крупных задач — два уровня планирования: Сначала один запрос на глобальный план всех элементов разом (со связями и порядком). Потом отдельный запрос на детализацию каждого элемента — с вставкой глобального плана в контекст. Не мешай уровни в одном промпте.

Примеры

[ПЛОХО] : Создай RPG-мир с персонажами, квестами и главным злодеем
[ХОРОШО] : Стадия 1: Создай мир для RPG. Верни список: название мира, история в 3 предложениях, 3 фракции (название + цели + лидер), 5 ключевых локаций, главный конфликт эпохи. Стадия 2: --- МИР --- [ВСТАВЬ ВЫВОД СТАДИИ 1 ПОЛНОСТЬЮ] --- Создай 4 NPC для этого мира. Для каждого: имя, фракция из списка выше, мотивация, секрет который он скрывает, отношения с другими NPC (конфликты / союзы). Стадия 3 (глобальный план): --- МИР --- [вывод 1] --- ПЕРСОНАЖИ --- [вывод 2] --- Спланируй 5 квестов. Для каждого: название, центральный конфликт, какие NPC из списка задействованы, как квест зависит от предыдущего и влияет на следующий. Все 5 квестов в одном ответе.
Источник: From World-Gen to Quest-Line: A Dependency-Driven Prompt Pipeline for Coherent RPG Generation
ArXiv ID: 2604.25482 | Сгенерировано: 2026-04-29 05:26

Проблемы LLM

ПроблемаСутьКак обойти
Модель не держит связи между элементами из разных запросовСоздаёшь мир в одном запросе, персонажей — в другом. Модель не помнит живую связь между ними. Каждый новый запрос она воссоздаёт связи заново — и часто придумывает другие. Персонаж не знает об организациях из мира. Задача ссылается на локацию, которой нет. Это происходит при любом многоэлементном контенте: сценарий, курс, игра, серия текстовПосле каждого запроса фиксируй вывод в структурированном виде. Вставляй его целиком в следующий запрос. Модель не "помнит" — но отлично следует явному контексту который видит прямо сейчас

Методы

МетодСуть
Цепочка зависимых стадий — связный сложный контентРазбей генерацию на стадии. Каждая стадия — отдельный запрос. Правило: каждый следующий запрос получает структурированный вывод всех предыдущих. Шаблон: --- Стадия 1 --- {вывод} --- Стадия 2 --- {вывод} --- Твоя задача: {следующий шаг}. Почему работает: Модель не надеется вспомнить — она видит всё нужное явно прямо в запросе. Когда применять: контент с взаимосвязанными элементами (персонажи + мир + сюжет, курс с модулями, серия материалов). Когда не нужно: один текст, простой ответ на вопрос
Глобальный план перед детализацией — не теряй нитьПеред тем как прорабатывать каждый элемент по отдельности — сначала попроси все элементы разом в одном запросе. Только потом детализируй каждый. Пример: сначала "дай план всех 6 эпизодов с зависимостями", потом отдельный запрос на каждый эпизод. Почему работает: Когда модель прорабатывает элементы по одному — она "закапывается" в детали и теряет общую связь. Глобальный план фиксирует порядок и зависимости. Детализация потом идёт внутри уже зафиксированной структуры. Бонус: можно переделать один элемент не трогая остальные
📖 Простыми словами

From World-Gen to Quest-Line: A Dependency-DrivenPromptPipeline for Coherent RPG Generation

arXiv: 2604.25482

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

Это как пытаться построить многоэтажку, начав клеить обои в воздухе до того, как залит фундамент и возведены стены. Формально обои красивые, но держаться им не на чем. Традиционный подход с одним огромным промптом — это попытка заставить строителя одновременно копать котлован и выбирать цвет штор. В итоге строитель путается, шторы в грязи, а дом кривой. Метод Dependency-Driven Prompt Pipeline вводит жесткую иерархию: сначала фундамент, потом каркас, и только в самом конце — декор.

Суть метода в цепочке зависимых стадий, где каждый следующий шаг физически невозможен без предыдущего. Сначала отдельным запросом генерируется World-Gen (база мира), затем этот текст целиком вставляется в промпт для создания персонажей, и только потом, имея на руках мир и героев, модель пишет сюжетные линии. Главная фишка здесь — структурированный перенос контекста: вывод каждой стадии становится «законом» для следующей. Если в первом блоке мы решили, что в мире нет магии, то на этапе создания квестов модель уже не предложит игроку «наколдовать огненный шар», потому что эта информация вшита в её текущую инструкцию.

Тестировали это на RPG, но принцип универсален для любого сложного контента. Представь, что тебе нужно прописать стратегию бренда или серию подкастов на сезон. Если делать это кусками, выпуски будут жить в параллельных реальностях. Но если прогнать задачу через конвейер зависимостей, где описание стартапа определяет характер фаундера, а характер фаундера диктует конфликты в пятом эпизоде, ты получишь монолитный продукт. Это переход от хаотичной генерации к системному проектированию, где AI работает как дисциплинированный отдел разработки.

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

Работа с исследованием

Адаптируйте исследование под ваши задачи или создайте готовый промпт на основе техник из исследования.

0 / 2000
~0.5-2 N-токенов ~10-30с
~0.3-1 N-токенов ~5-15с