3,583 papers
arXiv:2509.24344 82 29 сент. 2025 г. FREE

Prompt Chaining + Multi-Agent: декомпозиция сложных задач через цепочку ролей

КЛЮЧЕВАЯ СУТЬ
Даёшь LLM промпт с 10 инструкциями — она выполняет 3, забывает 4, путает остальные. Особенно на задачах где нужно одновременно анализировать данные, применять бизнес-логику, соблюдать формат и проверять точность — модель теряет фокус и выдаёт нестабильные результаты. Prompt Chaining позволяет получать предсказуемые результаты на сложных задачах, разбивая их на последовательность специализированных шагов. Фишка: вместо одного громоздкого запроса создаёшь конвейер из ролей (аналитик → эксперт → писатель → валидатор), где каждый шаг делает ОДНО действие качественно. Вывод предыдущего шага → вход для следующего.
Адаптировать под запрос

TL;DR

Prompt Chaining — техника разбиения сложной задачи на последовательность более простых промптов, где результат каждого шага передаётся как вход для следующего. Multi-agent workflow — подход, где каждый промпт выполняет отдельную роль в общем процессе (аналитик → бизнес-эксперт → писатель → валидатор). Вместо одного громоздкого запроса с кучей инструкций создаёшь конвейер из специализированных шагов.

LLM плохо справляются с множественными одновременными инструкциями в одном промпте. Модель теряет фокус, путается в приоритетах, игнорирует часть правил, выдаёт противоречивую информацию. Особенно это заметно на задачах, где нужно одновременно анализировать данные, применять бизнес-логику, соблюдать формат и проверять точность. Попытка упаковать всё в один промпт приводит к нестабильным результатам — то работает, то нет.

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

🔬

Схема метода

Вариант 1: Последовательные запросы (prompt chaining)

ШАГ 1 (Запрос 1): Роль "Аналитик данных" → Преобразует таблицу в текстовые наблюдения
ШАГ 2 (Запрос 2): Роль "Бизнес-аналитик" + вывод из Шага 1 → Находит ключевые тренды
ШАГ 3 (Запрос 3): Роль "Репорт-писатель" + вывод из Шага 2 → Формулирует краткий отчёт
ШАГ 4 (Запрос 4): Роль "Валидатор" + исходные данные + отчёт → Проверяет на ошибки

Вариант 2: Один промпт с симуляцией агентов (для продвинутых)

Один промпт содержит:
- Описание 4 ролей с чёткими обязанностями
- Псевдокод цикла: Agent_1 → Agent_2 → Agent_3 → Agent_4
- Инструкцию показывать вывод каждого агента отдельно
🚀

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

Задача: Анализ финансовой сделки для принятия решения об инвестиции

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

Промпт (4 последовательных запроса):

ЗАПРОС 1:
Ты — финансовый аналитик. Перед тобой данные:
- Выручка Q1: 2.5М₽, Q2: 3.8М₽
- Расходы Q1: 1.8М₽, Q2: 3.2М₽ 
- Маржа Q1: 28%, Q2: 16%

Задача: Опиши что произошло с каждым показателем. Только факты, никаких оценок.

---

ЗАПРОС 2:
Ты — бизнес-консультант. Вот наблюдения аналитика:
[вставь вывод из Запроса 1]

Задача: Какие тренды здесь ключевые? Что вызывает беспокойство? Какие гипотезы?

---

ЗАПРОС 3:
Ты — инвест-консультант, готовишь краткую справку для инвестора.
[вставь вывод из Запроса 2]

Задача: Сформулируй 3 главных тезиса. Максимум 4 предложения. Тон: спокойно-аналитический, без паники и без эйфории.

---

ЗАПРОС 4:
Ты — risk-аналитик. Проверь отчёт:
Исходные данные: [данные из Запроса 1]
Итоговый отчёт: [вывод из Запроса 3]

Задача: Есть ли расхождения? Что упущено? Что преувеличено?

Результат:

Ты получишь 4 вывода:

  1. Сухие факты без интерпретаций
  2. Бизнес-гипотезы и приоритеты
  3. Краткую справку в нужном тоне
  4. Список замечаний к точности

Каждый шаг фокусируется на своей задаче. Никакой каши из "анализируй + формулируй + проверь" в одном запросе.

🧠

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

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

Сильная сторона LLM: Чёткие ролевые инструкции. Когда модели говоришь "ты — бизнес-аналитик, только анализируешь тренды, никаких выводов", она хорошо держит границы роли. Особенно если дать конкретный формат вывода: "список из 3 пунктов" или "таблица с колонками".

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

Рычаги управления:

  • Число шагов — для простых задач хватит 2 (анализ + формулировка), для сложных можно 5-6 (добавить роль "эксперта по контексту", "критика", "редактора")
  • Роли — замени "аналитик" на конкретное имя/персонаж для более яркого выполнения роли
  • Формат вывода — укажи "только список", "таблица", "JSON" для каждого шага — проще парсить и передавать дальше
  • Условие завершения — добавь в последний шаг "если есть критические ошибки, укажи какие" вместо пассивной проверки
📋

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

ЗАПРОС 1 — Интерпретация данных:

Ты — {роль_1}. Перед тобой {описание_данных}.

Задача: {что_сделать_с_данными}. Только факты, без оценок.

Формат вывода: {формат_1}

ЗАПРОС 2 — Анализ трендов:

Ты — {роль_2}. Вот данные от предыдущего эксперта:
[вставь вывод из Запроса 1]

Задача: {что_найти_или_оценить}

Формат вывода: {формат_2}

ЗАПРОС 3 — Формулировка выводов:

Ты — {роль_3}. На основе анализа:
[вставь вывод из Запроса 2]

Задача: Сформулируй {что_нужно}. Тон: {стиль}. Ограничение: {лимиты}

Формат вывода: {формат_3}

ЗАПРОС 4 — Валидация:

Ты — {роль_4}. Проверь результат:
Исходные данные: {данные}
Итоговый вывод: [вставь из Запроса 3]

Задача: Есть ли ошибки? Что упущено? Что противоречит исходным данным?

Подставь:

  • {роль_N} — конкретная роль: аналитик, бизнес-консультант, копирайтер, критик, валидатор
  • {описание_данных} — что за информация: таблица, текст, список событий
  • {что_сделать} — действие для этого шага: интерпретируй, найди тренды, сформулируй кратко
  • {формат_N} — структура вывода: список, таблица, 3 тезиса, JSON
📌

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

Вот шаблон Prompt Chaining + Multi-Agent. Адаптируй под мою задачу: [твоя задача].
Задавай вопросы, чтобы заполнить поля.

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

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

⚠️

Ограничения

⚠️ Множественные запросы: Каждый шаг — отдельный запрос к модели. Если шагов 5 — это 5 запросов. Платные API считают каждый. В бесплатных версиях ChatGPT/Claude есть лимиты на число сообщений в час.

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

⚠️ Потеря контекста: Каждый новый запрос не помнит предыдущие, если не вставишь вывод явно. Забыл скопировать → цепочка сломалась, начинай сначала.

⚠️ Не для простых задач: Если задачу решает один промпт — не усложняй. Prompt chaining имеет смысл когда одиночный промпт нестабилен или игнорирует часть инструкций.

🔍

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

Исследователи из Chalmers University и Mid Sweden University тестировали два подхода для автоматизации финансовой отчётности в компании Getinge AB. Задача: создать систему, которая читает таблицы с данными по продажам/заказам и генерирует текстовый комментарий для отчёта — что выросло, что упало, какие регионы и продукты ключевые.

Сначала пробовали один промпт — засунуть всё (данные + инструкции + формат) в один запрос. Модели (LLaMA 3.2, Qwen 2.5, GPT-4o) выдавали нестабильные результаты: то пропускали важные тренды, то галлюцинировали несуществующие цифры, то игнорировали формат.

Тогда разбили задачу на 4 агента:

  1. Data Analyst — читает таблицу, переводит в текст ("продажи X выросли на Y%")
  2. Business Analyst — находит значимые тренды (что главный драйвер роста, что проседает)
  3. Report Writer — формулирует краткий отчёт в корпоративном стиле
  4. Validator — сверяет итоговый текст с исходными данными, ищет ошибки

Каждый агент — отдельный промпт с чёткой ролью и форматом вывода. Результат одного агента копировался в следующий промпт как входные данные.

Вердикт экспертов:

GPT-4o генерировал более лаконичные тексты, но иногда пропускал ключевые факторы или путал приоритеты (называл "главным драйвером" сразу 3 вещи). Локальные модели (LLaMA 3.1) были более описательными, но медленнее и требовали больше итераций в промптах.

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

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

💡

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

📌

💡 Адаптация для креативных задач

Метод отлично работает не только для анализа данных, но и для создания контента, где нужны последовательные итерации.

Пример: Написание продающего текста

ЗАПРОС 1 — Исследователь:
Ты — маркетинговый исследователь. Изучи продукт: {описание}.
Задача: Выпиши 5 болей целевой аудитории, которые решает этот продукт.

ЗАПРОС 2 — Копирайтер:
Ты — копирайтер. Вот боли аудитории:
[вывод из Запроса 1]
Задача: Напиши 3 варианта заголовка. Каждый бьёт в одну из болей.

ЗАПРОС 3 — Редактор:
Ты — главред. Вот заголовки:
[вывод из Запроса 2]
Задача: Выбери лучший. Объясни почему. Предложи доработку.
📌

🔧 Техника: Добавить "вывод мыслей" на каждом шаге

Если хочешь видеть как модель рассуждает, добавь в каждый промпт:

Формат вывода:
1. <мысли>: Твои рассуждения (2-3 предложения)
2. <результат>: Финальный вывод

Так ты видишь не только ответ, но и логику. Полезно для отладки — если результат странный, смотришь в <мысли> и понимаешь где свернуло не туда.

📌

🔧 Техника: Динамическое ветвление

Добавь условный шаг после анализа:

ЗАПРОС 2.5 — Классификатор:
На основе анализа выше — задача простая или сложная?
- Если простая → переходи к Запросу 3 (формулировка)
- Если сложная → переходи к Запросу 2b (углублённый анализ)

LLM не выполнит ветвление автоматически, но ты смотришь на ответ и сам решаешь какой путь выбрать.

🔗

Ресурсы

Comparing Open-Source and Commercial LLMs for Domain-Specific Analysis and Reporting: Software Engineering Challenges and Design Trade-offs

Theo Koraag, Niklas Wagner, Felix Dobslaw, Lucas Gren

Chalmers University of Technology, University of Gothenburg, Mid Sweden University


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

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

Даёшь LLM промпт с 10 инструкциями — она выполняет 3, забывает 4, путает остальные. Особенно на задачах где нужно одновременно анализировать данные, применять бизнес-логику, соблюдать формат и проверять точность — модель теряет фокус и выдаёт нестабильные результаты. Prompt Chaining позволяет получать предсказуемые результаты на сложных задачах, разбивая их на последовательность специализированных шагов. Фишка: вместо одного громоздкого запроса создаёшь конвейер из ролей (аналитик → эксперт → писатель → валидатор), где каждый шаг делает ОДНО действие качественно. Вывод предыдущего шага → вход для следующего.

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

Не упаковывай все требования в один промпт — разбей на роли с чёткими границами ответственности. Первый промпт интерпретирует данные без оценок. Второй находит закономерности. Третий формулирует выводы в нужном стиле. Четвёртый проверяет на ошибки. Между шагами копируешь вывод и вставляешь как контекст в следующий. Каждая роль получает конкретное действие: 'только факты, никаких оценок' или 'сформулируй 3 главных тезиса, максимум 4 предложения'. Модель держит границы роли когда задача узкая и формат вывода явный.

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

LLM жонглируют приоритетами при множественных инструкциях. Написал 'извлеки данные + найди тренды + соблюдай формат + проверь точность' — модель начинает выбирать что важнее: то забудет формат, то пропустит тренд, то нафантазирует цифры. Сильная сторона LLM — чёткие ролевые инструкции. Когда говоришь 'ты бизнес-аналитик, только анализируешь тренды, никаких выводов' — модель хорошо держит границы. Разбиение на роли превращает размытую задачу в конвейер где каждый этап специализирован: данные → интерпретация → бизнес-смысл → финальная формулировка → проверка. Внимание сфокусировано на одном действии вместо распыления на десять.

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

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

Мини-рецепт

1. Определи роли: Разбей задачу на специализированные функции — аналитик данных (факты без оценок), бизнес-эксперт (тренды и гипотезы), писатель (формулировка в нужном тоне), валидатор (проверка на ошибки)
2. Создай промпт для каждой роли: Укажи конкретное действие и формат вывода — Ты — финансовый аналитик. Задача: опиши что произошло с каждым показателем. Только факты, никаких оценок. Формат: список из 3 пунктов
3. Запусти цепочку: Выполни первый промпт, скопируй вывод, вставь как контекст во второй промпт вместе с новой ролью и задачей
4. Повторяй до последнего шага: Каждый новый промпт получает результат предыдущего + свою роль + своё действие. Последний шаг — валидатор сверяет итоговый вывод с исходными данными

Примеры

[ПЛОХО] : Проанализируй финансовый отчёт (выручка Q1: 2.5М, Q2: 3.8М, расходы Q1: 1.8М, Q2: 3.2М, маржа Q1: 28%, Q2: 16%), найди ключевые тренды, оцени риски, сформулируй краткую справку для инвестора в спокойном тоне на 4 предложения и проверь точность — модель запутается в приоритетах, забудет часть требований или выдаст противоречивую информацию
[ХОРОШО] : 4 последовательных запроса: ЗАПРОС 1: Ты финансовый аналитик. Данные: выручка Q1: 2.5М, Q2: 3.8М, расходы Q1: 1.8М, Q2: 3.2М, маржа Q1: 28%, Q2: 16%. Задача: опиши что произошло с каждым показателем. Только факты, никаких оценок ЗАПРОС 2: Ты бизнес-консультант. Вот наблюдения аналитика: [вставь вывод из Запроса 1]. Задача: какие тренды ключевые? Что вызывает беспокойство? Какие гипотезы? ЗАПРОС 3: Ты инвест-консультант. [вставь вывод из Запроса 2]. Задача: сформулируй 3 главных тезиса, максимум 4 предложения, тон спокойно-аналитический ЗАПРОС 4: Ты risk-аналитик. Исходные данные: [данные из Запроса 1], итоговый отчёт: [вывод из Запроса 3]. Задача: есть ли расхождения? Что упущено? Результат: 4 фокусированных вывода вместо каши из всех требований в одном ответе
Источник: Comparing Open-Source and Commercial LLMs for Domain-Specific Analysis and Reporting: Software Engineering Challenges and Design Trade-offs
ArXiv ID: 2509.24344 | Сгенерировано: 2026-01-12 01:45

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

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

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