Открыть сервис

Многошаговый RAG

Многошаговый RAG (от англ. Multi-step Retrieval-Augmented Generation) — это методология построения систем генерации текста с использованием внешних источников знаний, при которой процесс поиска релевантной информации и формирования ответа разбивается на несколько последовательных или итеративных шагов. В отличие от классического однократного RAG (Single-step RAG), где один запрос к базе знаний сразу даёт контекст для генерации, многошаговый подход позволяет уточнять, дополнять или переформулировать поисковые запросы на основе промежуточных результатов, что повышает точность, полноту и релевантность итогового ответа. Многошаговый RAG применяется в задачах, требующих сложного логического вывода, работы с большими объёмами документов или ответов на многосоставные вопросы.

История и предпосылки

Концепция Retrieval-Augmented Generation (RAG) была предложена в 2020 году исследователями из Facebook (продукт Meta, признанной экстремистской и запрещённой в РФ) AI Research (организация Meta признана экстремистской и запрещена в РФ) в статье «Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks». Изначально модель RAG выполняла однократное извлечение документов из корпуса (например, из Википедии) и передавала их в генератор для создания ответа. Однако на практике выяснилось, что сложные вопросы, требующие синтеза информации из нескольких источников или выполнения многоэтапных рассуждений, плохо обрабатываются таким подходом.

В 2021–2023 годах появились работы, направленные на улучшение RAG за счёт итеративных процессов. Например, метод «Iterative Retrieval» предполагал повторный поиск после анализа первого набора документов, а «Self-Ask» (2022) разбивал вопрос на подвопросы. Значительный вклад в развитие многошагового RAG внесли исследования по цепочкам рассуждений (Chain-of-Thought, CoT) и агентным архитектурам, где языковая модель (LLM) может сама решать, когда и как искать дополнительную информацию. К 2024 году многошаговый RAG стал стандартным компонентом многих промышленных систем вопросно-ответного типа, включая корпоративные поисковики и чат-боты.

Архитектура и принцип работы

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

Основные этапы

  1. Анализ исходного запроса. Система определяет, является ли вопрос простым или требует декомпозиции. Если запрос сложный, контроллер разбивает его на подвопросы или выделяет ключевые сущности для первого поиска.
  2. Первый поиск и извлечение. Ретвивер обращается к внешней базе знаний (документы, базы данных, API) и возвращает набор релевантных фрагментов.
  3. Оценка и уточнение. Генератор анализирует полученный контекст. Если информации недостаточно, контроллер формирует новый, более конкретный запрос на основе текущих данных. Например, если первый ответ содержит упоминание неизвестного термина, система может запросить его определение.
  4. Повторный поиск. Ретвивер выполняет новый запрос, возможно, с уточнёнными параметрами (другие ключевые слова, фильтры по дате, автору).
  5. Синтез итогового ответа. После того как накоплено достаточно контекста (или достигнут лимит шагов), генератор формирует окончательный ответ, объединяя информацию из всех извлечённых фрагментов.

Типы многошаговых стратегий

Существует несколько классификаций многошагового RAG. По способу управления шагами выделяют:

  • Последовательный (Sequential). Шаги выполняются строго друг за другом по заранее заданному плану. Пример: сначала поиск общего контекста, затем уточнение по датам.
  • Итеративный (Iterative). Система повторяет цикл «поиск-анализ» до тех пор, пока не будет выполнено условие остановки (например, достаточная уверенность в ответе или исчерпание бюджета шагов).
  • Рекурсивный (Recursive). На каждом шаге может порождаться новый подзапрос, который обрабатывается как самостоятельная задача, возможно, с собственным многошаговым циклом.
  • Агентный (Agent-based). LLM выступает в роли агента, который сам решает, какие инструменты (поиск, калькулятор, переводчик) и в каком порядке использовать.

По способу формирования запросов различают:

  • Декомпозиция вопроса. Исходный вопрос разбивается на несколько простых подвопросов, ответы на которые затем объединяются.
  • Уточнение запроса (Query rewriting). Система переформулирует исходный запрос, добавляя синонимы, контекст или ограничения.
  • Поиск по цепочке (Chain retrieval). Результат одного поиска используется для генерации следующего запроса.

Применение

Многошаговый RAG используется в широком спектре задач, где однократный поиск неэффективен:

  • Сложные вопросно-ответные системы (QA). Например, ответ на вопрос «Какие страны подписали Парижское соглашение по климату в 2016 году, и каковы были их обязательства по сокращению выбросов?» требует сначала найти список стран, а затем для каждой — соответствующие данные.
  • Анализ юридических и нормативных документов. Юристы могут задавать многосоставные запросы, требующие сопоставления нескольких статей законов, подзаконных актов и судебной практики.
  • Медицинская диагностика. Система может сначала найти симптомы заболевания, затем уточнить возможные диагнозы и, наконец, подобрать лечение на основе последних клинических рекомендаций.
  • Научные исследования. Поиск релевантных статей по узкой теме часто требует итеративного уточнения ключевых слов и фильтрации по цитированиям.
  • Корпоративные базы знаний. Сотрудник может задать вопрос, требующий объединения информации из разных отделов: например, «Каков бюджет проекта X и кто его утверждал?».
  • Образовательные платформы. Генерация подробных объяснений по сложным темам (например, «Объясните принцип работы квантового компьютера с примерами»).

Преимущества и недостатки

Преимущества

  • Повышенная точность. Возможность уточнять запросы снижает количество нерелевантных результатов.
  • Глубина ответа. Система может собрать информацию из нескольких источников, синтезируя комплексный ответ.
  • Адаптивность. Многошаговый подход лучше справляется с неоднозначными или неполными запросами.
  • Масштабируемость. Можно обрабатывать очень большие корпуса документов, не теряя релевантности на первом же шаге.

Недостатки

  • Высокая вычислительная стоимость. Каждый шаг требует отдельного обращения к ретвиверу и генератору, что увеличивает время ответа и затраты на вычисления.
  • Риск накопления ошибок. Ошибка на раннем шаге (например, неверный подзапрос) может привести к неверному итоговому ответу.
  • Сложность настройки. Требуется тонкая настройка контроллера, порогов остановки и стратегий декомпозиции.
  • Проблема «галлюцинаций». Чем больше шагов, тем выше вероятность, что модель начнёт генерировать вымышленные факты, особенно если контекст на каком-то шаге был неполным.

Примеры систем и фреймворков

К 2025 году существует несколько известных реализаций многошагового RAG:

  • LangChain — один из самых популярных фреймворков для построения агентных RAG-систем. Позволяет создавать цепочки из шагов, используя встроенные инструменты для поиска, суммаризации и повторного запроса.
  • LlamaIndex (ранее GPT Index) — предоставляет механизмы для итеративного поиска и рекурсивной обработки документов.
  • Haystack от deepset — фреймворк с поддержкой многошаговых пайплайнов, включая «Query Rewriting» и «Document Re-ranking».
  • Self-RAG (2023) — метод, при котором модель сама решает, нужно ли выполнять дополнительный поиск, на основе специальных токенов рефлексии.
  • CRAG (Corrective RAG) — подход, при котором система проверяет релевантность извлечённых документов и при необходимости запускает повторный поиск.

Критика и ограничения

Несмотря на очевидные преимущества, многошаговый RAG подвергается критике по нескольким направлениям. Во-первых, увеличение числа шагов не всегда ведёт к улучшению качества ответа: исследования показывают, что после 3–4 итераций прирост точности становится незначительным, а риск ошибок растёт. Во-вторых, существующие методы плохо справляются с вопросами, требующими творческого или оценочного суждения, где внешние источники не дают прямого ответа. В-третьих, многошаговые системы сложнее поддаются отладке и объяснению своих решений, что критично для задач в регулируемых отраслях (медицина, финансы, юриспруденция).

Перспективы развития

Основные направления совершенствования многошагового RAG включают:

  • Оптимизацию числа шагов с помощью методов активного обучения и байесовской оптимизации.
  • Интеграцию с мультимодальными данными (изображения, таблицы, видео), что потребует ещё более сложных цепочек поиска.
  • Создание гибридных систем, комбинирующих многошаговый RAG с графами знаний и нейронно-символическими подходами.
  • Улучшение интерпретируемости за счёт ведения журнала всех шагов и генерации объяснений к каждому решению контроллера.

Источники

  • Lewis, P., et al. (2020). «Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks». Advances in Neural Information Processing Systems.
  • Shao, Z., et al. (2023). «Self-RAG: Learning to Retrieve, Generate, and Critique through Self-Reflection». arXiv preprint.
  • Yan, S., et al. (2024). «Corrective Retrieval Augmented Generation». arXiv preprint.
  • Документация фреймворков LangChain, LlamaIndex, Haystack (версии 2023–2025 годов).
  • Обзорные статьи по RAG в журналах «Journal of Artificial Intelligence Research» и «Communications of the ACM» за 2024 год.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →