Перейти к контенту

IRCoT: чередование поиска с цепочкой рассуждений для многоэтапных ответов на вопросы

· 6 мин чтения
Mike Thrift
Mike Thrift
Marketing Manager

Я читал о разновидностях RAG в последних нескольких материалах и хотел разобраться в IRCoT — статье Триведи, Баласубраманяна, Кхота и Сабхарвала (ACL 2023), которая чередует поиск с рассуждениями «цепочка мыслей» (chain-of-thought), а не выполняет один проход поиска в самом начале. FLARE решала ту же проблему, предсказывая, когда нужно выполнить поиск; IRCoT использует более простой механический подход и ставит более точный вопрос: что, если каждое предложение цепочки рассуждений само по себе является поисковым запросом?

О статье

2026-05-19-ircot-interleaving-retrieval-chain-of-thought-multi-step-qa

Существующие конвейеры «поиск-затем-чтение» извлекают документы один раз на основе исходного вопроса, а затем передают всё LLM. Для одноходовых вопросов этого часто достаточно. Для многоэтапных вопросов — «Кто был композитором фильма, чей режиссер родился в том же городе, что и Бах?» — релевантные документы для второго этапа можно определить только после частичного ответа на первый этап. Авторы называют это проблемой зависимости знаний и утверждают, что одноэтапный поиск структурно неспособен ее решить.

IRCoT решает эту проблему с помощью чередующегося цикла: генерируется следующее предложение цепочки рассуждений, это предложение используется как запрос BM25 для поиска дополнительных абзацев, найденные абзацы добавляются в контекст промпта, генерируется следующее предложение рассуждений и так далее. Цикл длится до восьми шагов, ограничивая общий контекст пятнадцатью абзацами. Обучение не требуется — метод полностью основан на промптинге и оценивался в режиме zero-shot на GPT-3 (code-davinci-002) и в условиях few-shot на Flan-T5.

Основные идеи

  • На HotpotQA IRCoT улучшает полноту поиска (recall) на +11,3 пункта по сравнению с одноэтапным поиском в GPT-3, а итоговый показатель QA F1 — на +7,1 пункта (60,7 против 53,6).
  • Прирост больше на более сложных датасетах: +22,6 пункта к полноте поиска и +13,2 пункта к F1 на 2WikiMultihopQA с использованием GPT-3.
  • Flan-T5-XXL (11B) с IRCoT достигает +15,3 F1 на 2WikiMultihopQA по сравнению с одноэтапным поиском, что является самым большим приростом на датасет в статье.
  • Flan-T5-XL (3B) с IRCoT превосходит GPT-3 (175B) с одноэтапным поиском — разрыв в параметрах в 58 раз был преодолен только за счет стратегии поиска.
  • IRCoT снижает количество фактических ошибок в сгенерированных цепочках рассуждений на 50% в HotpotQA и на 40% в 2WikiMultihopQA по сравнению с одноэтапным поиском (на основе ручной аннотации 40 вопросов на датасет).
  • Метод хорошо обобщается вне обучающей выборки: использование демонстраций из одного датасета для оценки другого показывает аналогичный прирост, подтверждая, что подход не просто подстраивается под внутренние паттерны распределения.

Что подтверждается, а что нет

Основное утверждение — многоэтапные рассуждения требуют многоэтапного поиска — выглядит убедительно, а эксперименты чистыми. Использование четырех по-настоящему сложных многоходовых бенчмарков с различными структурами знаний (мост, сравнение, дискретные рассуждения) делает аргументацию широкой. Абляция, показывающая, что отдельный специализированный «ридер» (вместо извлечения ответа напрямую из фазы CoT) стабильно помогает, является полезным практическим выводом.

Что кажется менее удовлетворительным: бюджет поиска фиксирован на уровне пятнадцати абзацев независимо от сложности вопроса, а критерием остановки служит жесткий предел шагов, а не сигнал модели «у меня достаточно информации». Триггер на основе неопределенности в FLARE в этом отношении более принципиален, хотя и требует калиброванных вероятностей токенов. Основа IRCoT на BM25 намеренно проста — плотный поиск (dense retrieval), скорее всего, еще больше улучшил бы результаты, но авторы его не тестируют; они утверждают, что простота делает вклад цепочки рассуждений более наглядным, и это справедливо. Вычислительная стоимость реальна: каждое сгенерированное предложение инициирует вызов поиска, поэтому задержка (latency) растет линейно с глубиной рассуждений. Недавние работы 2025 года (LevelRAG, GlobalRAG) сообщают, что этот жесткий конвейер «одно предложение — один поиск» ограничивает производительность в задачах, требующих параллельного сбора информации, а не последовательных цепочек; GlobalRAG сообщает об улучшении F1 на 6,54 пункта по сравнению с IRCoT на своем бенчмарке.

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

Почему это важно для ИИ в финансах

Проблема зависимости, которую решает IRCoT, напрямую соотносится с тем, как Beancount-агент отслеживает многоэтапные финансовые вопросы. На вопрос «Каков был чистый эффект от всех транзакций по счету X в период между датами Y и Z после учета валютных конвертаций, указанных в примечаниях?» нельзя ответить одним векторным поиском — вам нужно найти подходящие транзакции, затем извлечь указанные курсы обмена, а затем, возможно, найти корреспондирующие счета. Каждый шаг поиска зависит от того, что было найдено на предыдущем.

Практический урок для проектирования — это цикл «поиск-рассуждение»: вместо того чтобы запихивать всю многолетнюю бухгалтерскую книгу в контекст или выполнять один семантический поиск, агент в стиле IRCoT будет использовать каждое промежуточное предложение рассуждения — «общий дебет по expenses:food в первом квартале составил $1,240» — как запрос для следующего шага поиска. Это позволяет сохранять окно контекста лаконичным, а найденные доказательства — специфичными для конкретной цели. Вывод о том, что модель 3B с хорошим поиском побеждает модель 175B с плохим поиском, особенно актуален, учитывая ограничения стоимости запуска агентов над книгами личного или малого бизнеса. Правильная организация поиска может иметь большее значение, чем масштаб модели.

Ограничение, о котором стоит помнить: жесткая структура IRCoT «один поиск на предложение» будет испытывать трудности с запросами к реестру, требующими одновременной агрегации данных из множества параллельных потоков — например, вычисление отклонения от бюджета по двенадцати субсчетам расходов сразу. Здесь подход с предварительным планированием (как LATS или структурированная декомпозиция запросов) дополнит IRCoT, а не заменит его.

Что почитать дальше

  • В самой статье IRCoT цитируется DecomP (Decomposed Prompting, Khot et al. 2022, arXiv:2210.06726) как ключевой базовый уровень — стоит прочитать, чтобы понять альтернативную стратегию декомпозиции вопросов на подвопросы перед поиском, а не их чередование.
  • LevelRAG (arXiv:2502.18139) развивает итеративный поиск в стиле IRCoT, добавляя планировщик высокого уровня, который переписывает запросы для нескольких поисковых систем; это более свежий взгляд на ту же проблему, решающий вопрос жесткости IRCoT.
  • «Chain-of-Retrieval Augmented Generation» (CoRAG, arXiv:2501.14342) — это продолжение 2025 года, которое представляет многоэтапный поиск как цепочку, делая цикл IRCoT явным и добавляя сигнал для обучения — естественный преемник для изучения после этой статьи.