ReAct : Synergie du raisonnement et de l'action dans les modèles de langage
ReAct (Yao et al., ICLR 2023) est l'article à l'origine de la boucle raisonnement-action que la plupart des agents financiers modernes utilisent désormais comme structure par défaut. J'ai retardé sa lecture car cela semblait être de l'infrastructure — le genre de chose que tout le monde connaît déjà — mais après avoir passé du temps sur l'écriture en retour (write-back) autonome dans les registres, je voulais comprendre les modes de défaillance à la source, et non à partir du folklore en aval.
L'article
Shunyu Yao, Jeffrey Zhao, Dian Yu, Nan Du, Izhak Shafran, Karthik Narasimhan et Yuan Cao proposent une idée d'une simplicité trompeuse : au lieu de demander à un modèle de langage soit de raisonner (chaîne de pensée), soit d'agir (invoquer des outils), laissez-le faire les deux dans un flux entrelacé. Chaque étape de la trajectoire est soit une Pensée (raisonnement libre sur ce qu'il faut faire ensuite), soit une paire Action/Obs (une action et son observation issue de l'environnement). L'affirmation est que cet entrelacement est synergique : le raisonnement oriente les actions à entreprendre, et les observations remodèlent le raisonnement.
Ils testent cela sur quatre benchmarks : HotpotQA et Fever (QA à forte intensité de connaissances et vérification des faits, utilisant une API de recherche Wikipedia comme espace d'action), ainsi que ALFWorld et WebShop (environnements de commerce électronique incarnés et simulés nécessitant une prise de décision en plusieurs étapes). Toutes les expériences utilisent PaLM-540B et GPT-3 (text-davinci-002) sous un prompting à quelques exemples (few-shot) avec seulement un ou deux exemples en contexte.
Idées clés
- Sur ALFWorld, ReAct surpasse les lignes de base d'apprentissage par imitation et d'apprentissage par renforcement de 34 points de pourcentage absolus en taux de réussite des tâches ; sur WebShop, le gain est de 10 points de pourcentage absolus.
- Sur Fever (vérification des faits), ReAct surpasse la chaîne de pensée. Sur HotpotQA (QA multi-sauts), la CoT bat en réalité ReAct — l'article le reconnaît directement au lieu de le dissimuler.
- Les cas d'échec se divisent en deux types : erreurs de raisonnement (le modèle juge mal les informations dont il dispose) et erreurs de recherche (un résultat Wikipedia non informatif fait dérailler la chaîne de raisonnement suivante). Celles-ci sont qualitativement différentes et nécessitent des mesures d'atténuation différentes.
- Le format lui-même est interprétable : un humain peut lire la trace de la Pensée, trouver l'erreur et la corriger en modifiant une seule ligne. Ceci est explicitement présenté comme une propriété de sécurité.
- Le réglage fin (fine-tuning) de modèles plus petits sur des trajectoires ReAct leur permet de surpasser des modèles plus grands utilisant le prompting — suggérant que le format entrelacé est apprenable, et non seulement une astuce de prompting.
Ce qui tient la route — et ce qui ne la tient pas
Les résultats sur la prise de décision interactive (ALFWorld, WebShop) sont la partie la plus solide de l'article. L'écart par rapport à l'apprentissage par imitation pur est suffisamment important pour qu'il soit difficile de l'attribuer à la chance des hyperparamètres. Les traces de raisonnement sont véritablement lisibles, et l'analyse des erreurs distinguant les échecs de recherche des échecs de raisonnement est honnête et utile.
Les résultats de la QA à forte intensité de connaissances sont plus faibles et les auteurs en sont conscients. Le fait que ReAct perde face à la CoT sur HotpotQA est un point de donnée réel : lorsque la réponse peut être atteinte en enchaînant les connaissances internes du modèle, la friction des invocations d'outils est en fait nuisible. Le modèle récupère parfois un passage Wikipedia qui n'est que marginalement lié, s'y ancre, puis produit un raisonnement pire que s'il était resté "dans sa tête". L'article appelle cela la "distraction induite par la recherche" et ce n'est pas corrigé par l'architecture — c'est un problème de qualité de récupération déguisé en problème d'agent.
Il existe également un problème d'évaluation fondamental que l'article hérite des benchmarks eux-mêmes : ALFWorld et WebShop ont tous deux des espaces d'action relativement restreints par rapport à ce dont un agent du monde réel a besoin. L'amélioration de 34 % sur ALFWorld est impressionnante dans le cadre du jeu, mais ALFWorld est un environnement domestique simulé avec un petit vocabulaire fixe d'actions. Généraliser cela à, disons, un registre Beancount avec un schéma de transaction ouvert nécessite une extrapolation que l'article ne justifie pas.
La configuration few-shot est à la fois une force et une faiblesse. Un ou deux exemples en contexte, c'est impressionnant, mais cela signifie aussi que les résultats sont très sensibles aux exemples choisis. Je n'ai pas trouvé d'ablations sur la sélection des exemples dans l'article, ce qui aurait été utile.
Pourquoi c'est important pour l'IA financière
Le problème de la sécurité de l'écriture en retour pour les agents Beancount autonomes est exactement le régime de défaillance que ReAct met en lumière. Si un agent raisonne sur une décision de catégorisation de transaction et récupère une entrée de registre ambiguë — une entrée qui pourrait correspondre soit à Expenses:Food, soit à Expenses:Entertainment — le modèle ReAct s'ancrera sur l'interprétation suggérée par la première entrée récupérée. C'est l'analogue financier de la "distraction induite par la recherche", et cela ne disparaît pas en promptant plus soigneusement.
L'argument de l'interprétabilité est ici plus important que ce que l'article prévoyait probablement. En comptabilité, un auditeur n'a pas seulement besoin de la bonne réponse — il a besoin d'une chaîne de raisonnement traçable qu'il peut valider. Les traces de Pensée de ReAct vous donnent cette chaîne, et l'observation selon laquelle un humain peut corriger une trajectoire en modifiant une seule Pensée est directement applicable à une étape de révision avec intervention humaine avant que toute écriture comptable ne soit validée dans le registre.
Le mode de défaillance qui m'importe le plus, cependant, est celui des erreurs cumulatives sur les tâches à long horizon. Un travail de rapprochement portant sur cinquante transactions offre beaucoup plus d'occasions pour qu'une Pensée tourne mal qu'une simple recherche Wikipedia en un seul saut. ReAct ne fournit aucun mécanisme natif permettant à l'agent de détecter qu'il a dérivé — il continue simplement. Reflexion (Shinn et al., arXiv:2303.11366) répond à cela en ajoutant une étape d'auto-évaluation verbale, et ReAct + Reflexion résout 130 des 134 tâches ALFWorld contre ReAct seul. Ce delta vous montre toute la valeur qu'il y a à ajouter une boucle de récupération au-dessus de la structure ReAct de base.
Ce qu'il faut lire ensuite
- Reflexion: Language Agents with Verbal Reinforcement Learning (Shinn et al., 2023, arXiv:2303.11366) — ajoute une étape d'auto-réflexion qui permet à un agent ReAct de réviser sa stratégie au fil des épisodes ; l'extension la plus directe pour les agents de registre qui doivent se remettre d'erreurs en milieu de trajectoire.
- FireAct: Toward Language Agent Fine-tuning (Chen et al., 2023, arXiv:2310.05915) — affine les modèles spécifiquement sur les trajectoires ReAct à travers plusieurs outils ; pertinent pour entraîner un agent spécifique à Beancount sur des appels d'outils de registre réels.
- Tree of Thoughts: Deliberate Problem Solving with Large Language Models (Yao et al., 2023, arXiv:2305.10601) — explore la recherche sur plusieurs chemins de raisonnement plutôt que de s'engager dans une seule chaîne ; important pour les cas où la première trajectoire ReAct est erronée et nécessite un retour en arrière systématique.
