Salta al contenuto principale

IRCoT: Intercalare il Recupero con il Chain-of-Thought per QA Multi-Fase

6 minuti di letturaMike ThriftMike Thrift
IRCoT: Intercalare il Recupero con il Chain-of-Thought per QA Multi-Fase

Ho letto delle varianti RAG negli ultimi articoli e volevo capire IRCoT — il paper di Trivedi, Balasubramanian, Khot e Sabharwal (ACL 2023) che intercala il recupero con il ragionamento chain-of-thought invece di fare un singolo passaggio di recupero iniziale. FLARE ha affrontato lo stesso problema prevedendo quando recuperare; IRCoT adotta un approccio meccanico più semplice e pone una domanda più mirata: e se ogni frase di una catena di ragionamento fosse essa stessa una query di recupero?

Il paper

Le pipeline esistenti di tipo "recupera-poi-leggi" recuperano i documenti una sola volta in base alla domanda originale, poi passano tutto a un LLM. Per domande a salto singolo questo spesso basta. Per domande multi-fase — "Chi era il compositore del film il cui regista è nato nella stessa città di Bach?" — i documenti rilevanti per la seconda fase sono identificabili solo dopo aver parzialmente risposto alla prima. Gli autori chiamano questo il problema della dipendenza della conoscenza e sostengono che il recupero a fase singola è strutturalmente incapace di risolverlo.

IRCoT affronta questo problema con un ciclo alternato: genera la frase successiva di una catena di ragionamento, usa quella frase come query BM25 per recuperare paragrafi aggiuntivi, aggiunge i paragrafi recuperati al contesto del prompt, genera la frase di ragionamento successiva e ripete. Il ciclo esegue fino a otto passi, limitando il contesto totale a quindici paragrafi. Non è richiesto alcun addestramento — il metodo è interamente basato su prompt ed è valutato in modalità zero-shot su GPT-3 (code-davinci-002) e in ambienti few-shot su Flan-T5.

Idee chiave

  • Su HotpotQA, IRCoT migliora il richiamo del recupero di +11,3 punti rispetto al recupero a fase singola con GPT-3, e l'F1 a valle della QA di +7,1 punti (60,7 contro 53,6).
  • I guadagni sono maggiori su dataset più difficili: +22,6 punti di richiamo e +13,2 punti di F1 su 2WikiMultihopQA con GPT-3.
  • Flan-T5-XXL (11B) con IRCoT ottiene +15,3 di F1 su 2WikiMultihopQA rispetto al recupero a fase singola, che è il guadagno più ampio per dataset nel paper.
  • Flan-T5-XL (3B) con IRCoT supera GPT-3 (175B) con recupero a fase singola — un divario di 58× nei parametri colmato solo dalla strategia di recupero.
  • IRCoT riduce gli errori fattuali nel CoT generato del 50% su HotpotQA e del 40% su 2WikiMultihopQA rispetto al recupero a fase singola (annotazione manuale di 40 domande per dataset).
  • Il metodo generalizza fuori distribuzione: usare dimostrazioni da un dataset per valutarne un altro mostra guadagni simili, confermando che l'approccio non si limita ad adattarsi a pattern intra-distribuzione.

Cosa regge — e cosa no

L'affermazione centrale — che il ragionamento multi-fase richiede un recupero multi-fase — è convincente e gli esperimenti sono puliti. L'uso di quattro benchmark multi-hop realmente difficili con diverse strutture di conoscenza (bridge, comparazione, ragionamento discreto) rende il caso solido. L'ablazione che mostra come un lettore dedicato separato (piuttosto che l'estrazione diretta della risposta dalla fase CoT) aiuti costantemente è un risultato pratico utile.

Quello che trovo meno soddisfacente: il budget di recupero è fisso a quindici paragrafi indipendentemente dalla difficoltà della domanda, e il criterio di arresto è un limite rigido di passi piuttosto che un segnale valutato dal modello del tipo "ho abbastanza informazioni". Il trigger basato sull'incertezza di FLARE è più fondato in questo senso, anche se richiede probabilità dei token calibrate. La spina dorsale BM25 di IRCoT è deliberatamente semplice — il recupero denso migliorerebbe quasi certamente ulteriormente i risultati, ma gli autori non lo testano; sostengono che la semplicità renda più chiaro il contributo della catena di ragionamento, il che è giusto. Il costo computazionale è reale: ogni frase generata innesca una chiamata di recupero, quindi la latenza scala linearmente con la profondità del ragionamento. Lavori recenti del 2025 (LevelRAG, GlobalRAG) riportano che questa pipeline rigida di una-frase-un-recupero limita le prestazioni su compiti che richiedono raccolta parallela di informazioni piuttosto che ragionamento sequenziale a catena, con GlobalRAG che riporta un miglioramento di 6,54 punti F1 rispetto a IRCoT sul suo benchmark.

L'analisi delle allucinazioni è anche più debole di quanto vorrei: 40 domande per dataset sono troppo poche per affermazioni forti, e "errore fattuale" è annotato a mano senza riportare l'accordo tra annotatori.

Perché questo è importante per l'AI finanziaria

Il problema della dipendenza che IRCoT risolve si mappa direttamente su come un agente Beancount traccia domande finanziarie multi-fase. "Qual è stato l'effetto netto di tutte le transazioni che toccano il conto X tra le date Y e Z, dopo aver contabilizzato le conversioni di valuta indicate nei campi memo?" non può essere risposto con una singola ricerca vettoriale — devi trovare le transazioni corrispondenti, poi recuperare i tassi di cambio referenziati, poi potenzialmente recuperare i conti di controparte. Ogni fase di recupero dipende da ciò che è stato trovato nella precedente.

La lezione pratica di design è il ciclo recupera-ragiona: piuttosto che stipare un intero registro pluriennale nel contesto o eseguire una singola ricerca semantica, un agente stile IRCoT userebbe ogni frase di ragionamento intermedia — "il totale degli addebiti su spese:cibo nel Q1 era di 1.240 $ — come query per la fase di recupero successiva. Questo mantiene la finestra di contesto snella e l'evidenza recuperata specifica allo scopo. Il risultato che un modello da 3B con un buon recupero batte un modello da 175B con un recupero scarso è particolarmente rilevante dati i vincoli di costo dell'esecuzione di agenti su registri personali o di piccole imprese. Ottenere un recupero corretto può contare più della scala del modello.

Il limite da portare avanti: la struttura rigida di un-recupero-per-frase di IRCoT farà fatica con query di registro che richiedono aggregazione su molti flussi di evidenza paralleli simultaneamente — ad esempio, calcolare una varianza di budget su dodici sottoconti di spesa in una volta. È qui che un approccio prima-pianificazione (come LATS o una decomposizione strutturata delle query) complementerebbe IRCoT piuttosto che competere con esso.

Cosa leggere dopo

  • Il paper di IRCoT stesso cita DeComP (Decomposed Prompting, Khot et al. 2022, arXiv:2210.06726) come baseline chiave — vale la pena leggerlo per capire la strategia alternativa di decomporre le domande in sotto-domande prima del recupero piuttosto che intercalarlo.
  • LevelRAG (arXiv:2502.18139) si basa sul recupero iterativo stile IRCoT aggiungendo un pianificatore di alto livello che riscrive le query su più motori di ricerca; una prospettiva più recente sullo stesso problema che affronta la rigidità di IRCoT.
  • "Chain-of-Retrieval Augmented Generation" (CoRAG, arXiv:2501.14342) è un seguito del 2025 che inquadra il recupero multi-fase come una catena, rendendo esplicito il ciclo IRCoT e aggiungendo segnale di addestramento — un successore naturale da leggere dopo questo paper.

Condividi questo articolo