ReAct (Yao et al., ICLR 2023) è l'articolo alla base del ciclo ragionamento-azione che la maggior parte degli agenti finanziari moderni utilizza ora come impalcatura predefinita. L'ho rimandato perché sembrava infrastruttura — il genere di cose che tutti già conoscono — ma dopo aver dedicato tempo alla scrittura autonoma su libri mastri, volevo comprendere le modalità di fallimento alla fonte, non dal folklore a valle.
L'articolo
Shunyu Yao, Jeffrey Zhao, Dian Yu, Nan Du, Izhak Shafran, Karthik Narasimhan e Yuan Cao propongono un'idea apparentemente semplice: invece di chiedere a un modello linguistico di ragionare (catena di pensiero) o di agire (invocare strumenti), lasciarlo fare entrambe le cose in un flusso alternato. Ogni passo nella traiettoria è un Pensiero (ragionamento libero su cosa fare dopo) o una coppia Azione/Osservazione (un'azione e la sua osservazione dall'ambiente). L'affermazione è che questa alternanza è sinergica: il ragionamento plasma quali azioni intraprendere, e le osservazioni rimodellano il ragionamento.
Lo testano su quattro benchmark: HotpotQA e Fever (QA ad alta intensità di conoscenza e verifica dei fatti, utilizzando un'API di ricerca su Wikipedia come spazio delle azioni), e ALFWorld e WebShop (ambienti simulati di commercio elettronico incarnato che richiedono un processo decisionale multi-step). Tutti gli esperimenti utilizzano PaLM-540B e GPT-3 (text-davinci-002) con prompting few-shot utilizzando da uno a due soli esempi nel contesto.
Idee chiave
- Su ALFWorld, ReAct supera le baseline di apprendimento per imitazione e apprendimento per rinforzo di 34 punti percentuali assoluti nel tasso di successo dei compiti; su WebShop, il guadagno è di 10 punti percentuali assoluti.
- Su Fever (verifica dei fatti), ReAct supera la catena di pensiero. Su HotpotQA (QA multi-hop), il CoT supera effettivamente ReAct — l'articolo lo riconosce direttamente anziché nasconderlo.
- I casi di fallimento si dividono in due tipi: errori di ragionamento (il modello giudica male le informazioni di cui dispone) ed errori di ricerca (un risultato di Wikipedia non informativo fa deragliare la successiva catena di ragionamento). Questi sono qualitativamente diversi e richiedono mitigazioni differenti.
- Il formato stesso è interpretabile: un essere umano può leggere la traccia dei Pensieri, trovare l'errore e correggerlo modificando una singola riga. Questo viene esplicitamente segnalato come una proprietà di sicurezza.
- Il fine-tuning di modelli più piccoli su traiettorie ReAct consente loro di superare modelli più grandi con prompting, suggerendo che il formato alternato è apprendibile, non solo un trucco di prompting.
Cosa regge — e cosa no
I risultati sul processo decisionale interattivo (ALFWorld, WebShop) sono la parte più solida dell'articolo. Il divario rispetto al puro apprendimento per imitazione è abbastanza ampio da rendere difficile attribuirlo alla fortuna degli iperparametri. Le tracce di ragionamento sono genuinamente leggibili, e l'analisi degli errori che distingue i fallimenti di ricerca dai fallimenti di ragionamento è onesta e utile.
I risultati sul QA ad alta intensità di conoscenza sono più deboli e l'articolo lo sa. La sconfitta di ReAct contro CoT su HotpotQA è un dato reale: quando la risposta può essere raggiunta concatenando la conoscenza interna del modello, l'attrito dell'invocazione degli strumenti in realtà danneggia. Il modello a volte recupera un passaggio di Wikipedia che è tangenzialmente correlato, vi si ancora e poi produce un ragionamento peggiore rispetto a se fosse rimasto nella sua testa. L'articolo chiama questo "distrazione indotta dalla ricerca" e non viene risolto dall'architettura — è un problema di qualità del recupero travestito da problema dell'agente.
C'è anche un problema fondamentale di valutazione che l'articolo eredita dai benchmark stessi: sia ALFWorld che WebShop hanno spazi delle azioni relativamente vincolati rispetto a ciò di cui ha bisogno un agente del mondo reale. Il miglioramento del 34% su ALFWorld è impressionante all'interno del gioco, ma ALFWorld è un ambiente domestico simulato con un piccolo vocabolario fisso di azioni. Generalizzare da questo a, ad esempio, un libro mastro Beancount con uno schema di transazioni aperto richiede un'estrapolazione che l'articolo non giustifica.
L'impostazione few-shot è sia un punto di forza che un punto debole. Uno o due esempi nel contesto è impressionante, ma significa anche che i risultati sono altamente sensibili a quali esempi vengono scelti. Non ho trovato ablazioni sulla selezione degli esempi nell'articolo, che sarebbero state utili.
Perché questo è importante per l'AI finanziaria
Il problema di sicurezza della scrittura a ritroso per agenti Beancount autonomi è esattamente il regime di fallimento che ReAct illumina. Se un agente sta ragionando su una decisione di categorizzazione di una transazione e recupera una voce di libro mastro ambigua — una che potrebbe corrispondere a Expenses:Food o Expenses:Entertainment — lo schema ReAct ancorerà il ragionamento successivo all'interpretazione suggerita dalla prima voce recuperata. Questo è l'analogo finanziario della "distrazione indotta dalla ricerca", e non scompare usando un prompting più accurato.
L'argomento dell'interpretabilità è più importante qui di quanto l'articolo probabilmente intendesse. In contabilità, un revisore non ha bisogno solo della risposta corretta — ha bisogno di una catena di ragionamento tracciabile che possa approvare. Le tracce di Pensiero di ReAct forniscono quella catena, e l'osservazione che un essere umano può correggere una traiettoria modificando un singolo Pensiero è direttamente applicabile a un passaggio di revisione con un umano nel ciclo prima che qualsiasi scrittura contabile venga impegnata nel libro mastro.
La modalità di fallimento che mi preoccupa di più, tuttavia, sono gli errori cumulativi in compiti a lungo orizzonte. Un lavoro di riconciliazione che tocca cinquanta transazioni ha molte più opportunità per un Pensiero di sbagliare rispetto a una singola ricerca su Wikipedia. ReAct non fornisce alcun meccanismo nativo affinché l'agente rilevi di aver deviato — continua e basta. Reflexion (Shinn et al., arXiv:2303.11366) affronta questo aggiungendo un passaggio di autovalutazione verbale, e ReAct + Reflexion chiude 130 dei 134 compiti ALFWorld rispetto al solo ReAct. Quel delta ti dice quanto valore ci sia nell'aggiungere un ciclo di recupero sopra l'impalcatura di base di ReAct.
Cosa leggere dopo
- Reflexion: Language Agents with Verbal Reinforcement Learning (Shinn et al., 2023, arXiv:2303.11366) — aggiunge un passaggio di autoriflessione che consente a un agente ReAct di rivedere la propria strategia tra episodi; l'estensione più diretta per agenti di libri mastri che devono recuperare da errori a metà traiettoria.
- FireAct: Toward Language Agent Fine-tuning (Chen et al., 2023, arXiv:2310.05915) — esegue il fine-tuning di modelli specificamente su traiettorie ReAct attraverso più strumenti; rilevante per addestrare un agente specifico per Beancount su chiamate a strumenti di libri mastri reali.
- Tree of Thoughts: Deliberate Problem Solving with Large Language Models (Yao et al., 2023, arXiv:2305.10601) — esplora la ricerca su percorsi di ragionamento anziché impegnarsi in un'unica catena; importante per i casi in cui la prima traiettoria ReAct è sbagliata e necessita di un backtracking sistematico.