IRCoT: Преплитане на извличане с верига от мисли за многоетапно търсене на отговори
През последните няколко публикации чета за варианти на RAG и исках да разбера IRCoT — статията на Trivedi, Balasubramanian, Khot и Sabharwal (ACL 2023), която преплита извличането с разсъждения чрез верига от мисли, вместо да извършва еднократно извличане в началото. FLARE подхожда към същия проблем, като предвижда кога да извлича; IRCoT прилага по-прост механичен подход и задава по-директен въпрос: какво ще стане, ако всяко изречение от веригата на разсъждения само по себе си е заявка за извличане?
Статията
Съществуващите конвейери тип „извлечи-после-прочети“ извличат документи веднъж въз основа на първоначалния въпрос, след което предават всичко на LLM. За въпроси с една стъпка това често е достатъчно. За многоетапни въпроси — например „Кой е композиторът на филма, чийто режисьор е роден в същия град като Бах?“ — съответните документи за втората стъпка могат да бъдат идентифицирани едва след като частично е отговорено на първата. Авторите наричат това „проблем със зависимостта от знания“ и твърдят, че едностепенното извличане е структурно неспособно да го реши.
IRCoT решава това с редуващ се цикъл: генериране на следващото изречение от веригата на разсъждения, използване на това изречение като BM25 заявка за извличане на допълнителни параграфи, добавяне на извлечените параграфи към контекста на подканата, генериране на следващото изречение за разсъждение и повторение. Цикълът работи до осем стъпки, като ограничава общия контекст до петнадесет параграфа. Не се изисква обучение — методът е изцяло базиран на подкани (prompt-based) и е оценен 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 пункта recall и +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 намалява фактологичните грешки в генерираната верига от мисли (CoT) с 50% при HotpotQA и с 40% при 2WikiMultihopQA спрямо едностепенното извличане (ръчна анотация на 40 въпроса за всеки набор от данни).
- Методът се обобщава извън разпределението: използването на демонстрации от един набор от данни за оценка на друг показва подобни подобрения, което потвърждава, че подходът не се напасва просто към специфични за разпределението модели.
Какво се потвърждава — и какво не
Основното твърдение — че многоетапните разсъждения изискват многоетапно извличане — е убедително и експериментите са чисти. Използването на четири наистина трудни многоходови бенчмарка с различни структури на знанието (мост, сравнение, дискретни разсъждения) подкрепя тезата в широк план. Аблацията, показваща, че отделен специализиран четец (вместо директно извличане на отговора от фазата CoT) помага последователно, е полезно практическо откритие.
Това, което намирам за по-малко задоволително: бюджетът за извличане е фиксиран на петнадесет параграфа, независимо от трудността на въпроса, а критерият за спиране е твърд лимит от стъпки, а не сигнал „имам достатъчно информация“, оценен от модела. Задействането на FLARE, базирано на неопределеност, е по-принципно в това отношение, въпреки че изисква калибрирани вероятности на токените. Гръбнакът на IRCoT с BM25 е умишлено прост — плътното извличане (dense retrieval) почти сигурно би подобрило резултатите допълнително, но авторите не го тестват; те твърдят, че простотата прави приноса на веригата от мисли по-ясен, което е справедливо. Изчислителните разходи са реални: всяко генерирано изречение задейства повикване за извличане, така че латентността нараства линейно с дълбочината на разсъжденията. Скорошни трудове от 2025 г. (LevelRAG, GlobalRAG) съобщават, че този твърд конвейер от тип „едно изречение - едно извличане“ ограничава производителността при задачи, изискващи паралелно събиране на информация, вместо последователни разсъждения, като GlobalRAG отчита подобрение от 6.54 F1 пункта спрямо IRCoT в своя бенчмарк.
Анализът на халюцинациите също е по-скромен, отколкото бих искал: 40 въпроса на набор от данни са твърде малко за силни твърдения, а „фактологичната грешка“ е ръчно анотирана, без да се съобщава за съгласие между анотаторите (inter-annotator agreement).
Защо това е важно за финансовия ИИ
Проблемът със зависимостта, който IRCoT решава, се пренася директно към начина, по който един Beancount агент проследява многоетапни финансови въпроси. Въпросът „Какъв беше нетният ефект от всички транзакции, засягащи сметка X между дати Y и Z, след отчитане на превалутиранията, отбелязани в полетата за бележки?“ не може да бъде отговорен с еднократно векторно търсене — трябва да намерите съответните транзакции, след това да извлечете реферираните обменни курсове, а след това потенциално да извлечете и корективните сметки. Всяка стъпка на извличане зависи от това, което е намерено в пре дходната.
Практическият урок по дизайн е цикълът „извличане-разсъждение“: вместо да вкарвате цялата главна книга за няколко години в контекста или да извършвате еднократно семантично търсене, агент в стил IRCoT би използвал всяко междинно изречение от разсъжденията — например „общият дебит по expenses:food през Q1 е бил $1240“ — като заявка за следващата стъпка на извличане. Това поддържа прозореца на контекста малък, а извлечените доказателства — специфични за целта. Констатацията, че 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 експлицитен и добавяйки тренировъчен сигнал — естествен наследник, който да прочетете след тази статия.