Le framework ReAgent
Introduction : L’irréversibilité du raisonnement
La plupart des modèles de langage actuels utilisent le Chain-of-Thought (CoT), une méthode où l’IA avance étape par étape pour résoudre un problème. Le défaut majeur est que ce processus est linéaire et irréversible :
- Si le modèle fait une petite erreur au début (une mauvaise interprétation d’un fait), cette erreur se propage et corrompt tout le reste du raisonnement.
- Les modèles classiques n’ont pas de mécanisme natif pour dire : « Attends, ce que je viens de trouver contredit une étape précédente, je dois revenir en arrière ».
Les systèmes multi-agents présentent aussi le même défaut.
Le framework Re-Agent est développé pour répondre à cette problématique: Il introduit un mécanisme explicite de « backtracking » (retour en arrière). Au lieu de simplement avancer, le système peut reculer vers un état valide antérieur s’il détecte une erreur ou une contradiction. Dans cet article, on va voir introduire les concepts clés de ce modèle et on va également montrer ses performances sur un use-case : multi-hop QA.
Mais c’est quoi le multi-hop QA ?: Il s’agit des questions complexes où l’IA doit composer la question pour trouver une réponse. Par exemple: Pour la question: Quelle est la capitale du pays de naissance de l’épouse de l’actuel roi d’Espagne ? l’IA doit décomposer cette question en une suite logique:
- Hop 1- Identifier qui est l’épouse du roi d’Espagne (Laetizia Ortiz)
- Hop 2- Trouver son lieu de naissance (Oviedo, en Espagne)
- Hop 3- Identifier le pays (Espagne) et trouver sa capitale (Madrid).

1. Concept de Re-Agent:
Le système reagent repose sur trois principes:
- Multi-Agents spécialisés : Différents agents collaborent (recherche d’informations, agrégation, vérification, …).
- Détection de conflits : Le modèle surveille constamment la cohérence entre les nouvelles informations trouvées (via des recherches textuelles ou des graphes de connaissances) et les étapes de raisonnement déjà effectuées.
- Backtracking (retour en arrière) :
- Locale : Si une recherche d’information échoue, l’agent ajuste immédiatement sa requête.
- Globale : Si une contradiction majeure est trouvée tardivement, le système entier peut « remonter le temps » jusqu’à l’étape pivot où l’erreur a été commise pour explorer une autre piste.
La figure suivante représente l’architecture d’un système reagent:

On peut voir que ce système est divisé en trois couches :
- La couche d’exécution (en bleu) : Elle s’occupe de découper la question de départ en plusieurs petites questions simples. Elle recherche ensuite les preuves pour chaque partie, vérifie les résultats intermédiaires et les rassemble pour donner la réponse finale.
- La couche de supervision (en violet, à droite) : Elle assure le contrôle de haut niveau. Elle sert à régler les conflits (quand les informations ne sont pas d’accord) et gère le « retour en arrière » si une erreur est détectée de manière globale.
- La couche d’interaction (en blanc, en bas) : Elle s’occupe de la communication et de la gestion des tâches qui tournent en même temps.
Comme déjà évoqué: Le cœur de cette architecture repose sur un système de backtracking (retour en arrière) à deux niveaux : le niveau local (pour corriger les erreurs à l’intérieur d’un seul agent) et le niveau global (pour gérer les contradictions entre plusieurs agents).
Pour faire fonctionner ce système de backtracking: , à chaque instant t du process, le système ReAgent maintient un ensemble de connaissances:
- Connaissance locale : Chaque agent possède ses propres connaissances contenant ses propres idées, les preuves qu’il a trouvées et ses conclusions temporaires.
- Connaissance globale : C’est la fusion de toutes les connaissances de tous les agents. Ceci représente la vision d’ensemble du système à un instant t.
Ce système est conçu pour permettre des mises à jour réversibles: une affirmation nouvelle peut être annulée si elle provoque un conflit logique ou si elle est remplacée par une preuve contraire plus solide.
Pour mieux comprendre, on va visiter les agents un par un pour comprendre leurs fonctionnements
Les agents de la couche d’exécution:
- Question-Decomposer Agent (AQ): Lorsqu’il reçoit une question complexe, cet agent divise celle-ci en plusieurs sous-questions. Ce découpage est ensuite partagé avec tous les autres agents du niveau de base. Voici un exemple de prompt pour cet agent:
Role Description:
You are the Question-Decomposer Agent, specializing in breaking down the user’s complex query into smaller, manageable sub-questions or sub-tasks. This decomposition is crucial for multi-hop question answering and will be consumed by downstream agents (Retriever, Verifier, etc.) in the pipeline.
Your Goals:
1. Parse the original query into logically independent or sequential sub-questions.
2. Preserve all necessary context so that other agents can retrieve relevant evidence and validate partial answers.
3. Output your decomposition in a structured JSON format.
Example Usage:
• Original Query: “Which U.S. state has a capital city whose population is smaller than the state’s largest city, given that this state hosted the 1984 Summer Olympics?”
• Decomposition:
– q1: Identify which U.S. state hosted the 1984 Summer Olympics.
– q2: Find the capital city and the largest city of that state.
– q3: Compare population sizes of the capital and largest city.
– q4: Return the state if the capital is indeed smaller.
-
Retrieval agent (AR): Dès qu’il reçoit une sous-question, cet agent lance plusieurs recherches en parallèle dans la base de données puis ne garde que les M meilleurs passages pour constituer son ensemble de preuves E. Si le système décide d’annuler une preuve à cause d’une erreur, seule la sous-question concernée est relancée ; le reste des résultats n’est pas modifié. Voici un exemple de prompt pour cet agent:
Role Description:
You are the Retriever Agent, responsible for fetching relevant evidence from external sources (a text corpus, a knowledge graph, or both) based on sub-questions provided by the Question-Decomposer Agent. This includes documents, passages, knowledge graph triples, and any other data needed for multi-hop QA.
Your Goals:
1. Given a sub-question, retrieve the most relevant facts or passages.
2. Include confidence scores or other metadata if available.
3. Return your findings in a standardized JSON structure so that the Verifier and Answer-Assembler Agents can process them.
Example Usage:
• Input Sub-question: “Which U.S. state hosted the 1984 Summer Olympics?”
• Retrieved Evidence (text-based): { "document": "History of the Olympics", "passage": "The 1984 Summer Olympics were held primarily in Los Angeles, California." }
- Verifier Agent (AV): Cet agent effectue des vérifications de cohérence locale et effectue le backtracking local si nécessaire. Lorsqu’il reçoit un nouvel ensemble de preuves E de l’agent retriever, il vérifie si elles sont en accord avec ses connaissances actuelles. Si des contradictions apparaissent, il déclenche un « retour en arrière local » pour revenir à un état cohérent. Voici un exemple de prompt pour cet agent:
Role Description:
You are the Verifier Agent, focusing on assessing consistency and correctness of the newly retrieved evidence or intermediate inferences. You detect contradictions or conflicts either within the new data or against the previously verified knowledge. If necessary, you trigger local backtracking to remove or adjust statements causing inconsistency.
Your Goals:
1. Validate whether new information is consistent with existing verified knowledge.
2. Identify contradictions and either correct them or escalate them to a higher-level supervisor if unresolved.
3. Produce a final set of verified facts or a signal indicating a conflict.
Example Usage:
• Incoming Evidence: "Sacramento population: 508,000" and "Sacramento population: 1,500,000"
• Detected Inconsistency: "Sacramento cannot have two drastically different population values." • Local Backtracking Action: "Discard the erroneous or lower-confidence figure (1,500,000)."
- Answer-Assembler Agent (AA): Cet agent rassemble les morceaux de réponses (et les preuves vérifiées) pour construire la réponse finale. En utilisant les déductions provenant des agents AQ, AR et AV, il les combine pour générer la réponse définitive. Voici un exemple de prompt pour cet agent:
Role Description:
You are the Answer-Assembler Agent. You gather verified facts from the Verifier Agent and partial answers from the Decomposer and Retriever Agents. You then synthesize a coherent, contextually relevant response, producing a final or intermediate answer for the user. If you detect a major conflict among partial answers, you escalate to the Supervisor Agent.
Your Goals:
1. Aggregate partial answers logically.
2. Compose a natural-language (or structured) final answer to the user’s multi-hop query.
3. Escalate unresolvable contradictions to the Supervisor Agent if needed.
Example Usage:
• Partial Answers and Verified Facts: {"hosted_1984_olympics": "California"} {"capital": "Sacramento"}, {"largest_city": "Los Angeles"} {"pop_sacramento": 508000}, {"pop_los_angeles": 3900000}
• Composed Final Answer: "The state is California, since its capital city (Sacramento) has a population smaller than that of Los Angeles."
Les agents de la couche de supervision:
La couche de supervision supervise les stratégies de l’ensemble du système. Elle intervient surtout lorsque des objectifs contradictoires ou des incohérences apparaissent entre plusieurs agents, et que ces problèmes ne peuvent pas être résolus par un agent tout seul.
- Controller Agent (AC): c’est l’agent gendarme qui surveille que tout le monde suit les bonnes règles. Si une règle est jugée risquée, cet agent peut l’annuler ou lancer un « défi » pour examiner une affirmation importante sous l’angle de plusieurs agents, ou annuler des décisions locales si elles mettent en péril la cohérence globale du système. Voici un exemple de prompt pour cet agent:
Role Description:
You are the Controller Agent, providing high-level strategic oversight. You may override local decisions, impose extra checks, or challenge specific assumptions if repeated conflicts persist. You also maintain meta-information such as agent reliability scores or fallback strategies.
Your Goals:
1. Intervene in situations where standard local or global backtracking repeatedly fails.
2. Challenge or confirm critical assumptions by requesting additional evidence or verification from subordinate agents.
3. Log meta-data about agent reliability and final decision paths for interpretability.
Example Usage:
• Conflict Re-emerges: Repeated contradictory statements about a single piece of evidence.
• Your Action: Issue a "challenge" directive to the Verifier Agent or the Retriever Agent, requesting additional sources or alternative cross-checks.
-
Supervisor Agent (AS): Cet agent coordonne la résolution des conflits qui touchent plusieurs ensembles de connaissances ou des hypothèses partagées importantes. Si un conflit persiste malgré les corrections locales et le signalement de l’agent de synthèse (AA), cet agent (AS) décide s’il faut annuler une petite partie du travail ou tout recommencer. Concrètement, lorsqu’une contradiction globale est trouvée, l’agent AS identifie l’ensemble minimal de faits contradictoires. Cet ensemble est tel qu’il est impossible d’être vrai dans sa globalité, même si chaque élément pris séparément semble correct. Le superviseur déclenche alors un retour en arrière pour supprimer ou modifier cet ensemble problématique.
Role Description: You are the Supervisor Agent, responsible for orchestrating global conflict resolution and global backtracking if needed. When partial answers or verified facts across multiple agents yield irreconcilable contradictions, you identify a minimal conflict set and roll back the entire system’s state to a previously consistent checkpoint if local fixes fail.
Your Goals:
1. Collect escalation signals from the Answer-Assembler or Verifier Agents.
2. If local backtracking does not resolve the conflict, execute system-wide or multiagent rollback.
3. Provide a summary of changes, indicating which statements or partial answers are discarded or revised.
Example Usage:
• Received Escalation: “Capital(California, Sacramento) conflicts with Capital(California, Los Angeles).”
• Global Backtracking Action: “Rollback to a state before the second capital claim was introduced. Discard that erroneous claim from the knowledge base.”
Couche d’interaction:
Cette couche est responsable du stockage des connaissances accumulées à chaque tour, ainsi que de la gestion du modèle de travail en parallèle (concurrence) et des protocoles de communication.
- Persistent Log: Il archive toutes les connaissances (locales et globales) de chaque étape. Cela sert de « mémoire historique » pour permettre les retours en arrière (backtracking) et retrouver des preuves passées
- Temporal Tracker: Il enregistre l’ordre chronologique des messages et des actions. Cela permet aux agents de se référer précisément au passé
- Messaging Channel: C’est le moyen de communication entre les agents pour échanger des mises à jour, signaler des conflits ou partager des conclusions. Les messages sont classés par types : affirmer, informer, rejeter ou défier. Le système est capable de gérer plusieurs messages envoyés en même temps et de les fusionner. Si des actions simultanées se contredisent, le problème est automatiquement transmis à la couche de supervision.
2. Evaluation:
Cet agent a été évalué sur trois jeux de données: HotpotQA, 2WikiMultiHopQA, Musique. Ces performances ont été comparées avec:
- Modèles classiques de non-raisonnement comme Llama-4 2 , Qwen-2.5, DeepSeek-V3-2024-03, Genmini-1.5-Flash-2024-09, Gemini-2.0-flash-2025-02
- Modèles de raisonnement comme Qwen-3- Thinking, DeepSeek-R1, Gemini-2.5- pro
- Modèles agentiques comme Chain-of-Agents (CoA), Hypprag, Kag
PS: Pour les modèles agentiques, et notre système de reagent, nous avons utilisé GPT-4o

Les résultats des expériences démontrent que ReAgent surpasse en moyenne tous les autres modèles de référence. Il se montre particulièrement efficace pour résoudre les tâches qui nécessitent un raisonnement corrigé de manière itérative (le dataset HotpotQA).
Et si on isole l’effet du backtracking ? Pour analyser plus profondément l’effet du backtracking, on a re-testé le reagent avec trois configurations supplémentaires:
- sans backtracking
- avec juste le backtracking global
- avec juste le backtracking local
Ce test a été fait sur le dataset Hotspot QA avec deux modèles: GPT-4o et DeepSeek-V3.

On constate un saut net de performances avec le backtracking local par rapport au backtracking global. Donc si on veut être pragmatique et avoir un système simple et efficace, il vaut mieux miser uniquement sur le backtracking local.
Exemple de fonctionnement:
Pour le moment, tout ça reste théorique, comme j’ai dit dans l’introduction de ce blog, on comprend toujours mieux avec des exemples. Donc prenons un exemple: On va poser la question suivante à notre système:
“Which U.S. state has a capital city whose population is smaller than the state’s largest city, given that this state hosted the 1984 Summer Olympics?”
Etape 1: L’agent de décomposition va la décomposer en quatre sous questions:
- q1: Which U.S. state hosted the 1984 Summer Olympics?
- q2: What is the capital city of that state? Also, what is the largest city of that state?
- q3: Compare the population of the capital city to that of the largest city.
- q4: Return the state if the capital’s population is smaller.
Etape 2: Les agents retrievers reçoivent les sous questions et essaient d’extraire quelques informations utiles pour y répondre:
- Pour q1: « The 1984 Summer Olympics were primarily hosted in Los Angeles, California. »
- Pour q2:
- D1: Capital of California is Sacramento
- D2: Largest city is Los Angeles
- D3: Sacramento population is ~508,000 (from official records)
- D4: Los Angeles population is ~ 3,900,000
- D5: Sacramento population is 1,600,000 (from non-official records)
Etape 3: L’agent vérificateur détecte une incohérence entre D3 et D5 => Cet agent va utiliser ses connaissances internes pour trouver la bonne information: Sacramento a bien une population 508K habitants => D5 est écarté
Etape 4: Assemblage partiel: Pour le moment, à la lumière des informations qu’on a: on peut constituer la vérité suivante:
- the state that hosted the 1984 Olympics is California
- The capital is Sacramento (population: ∼ 508, 000).
- The largest city is Los Angeles (population: ∼ 3, 900, 000)
Donc la réponse pour le moment est “California”
Apparition d’un conflit: Supposons qu’un autre retriever a ajouté l’information suivante: La capitale de la Californie est Los Angeles => Ceci contredit l’information globale “La capitale de la Californie est Sacramento”
- L’agent AV ne peut pas réconcilier les deux vérités contradictoires car elles proviennent de deux threads différents: puisque là, on a deux agents qui donnent des informations contradictoires, cette contradiction remonte à l’agent supervisor (AS)
- L’agent AS va faire un rollback à un état de connaissance minimal où cette contradiction n’existe pas :Donc on revient à un état où c’est bien Sacramento la capitale et l’information qui dit que Los Angeles est la capitale n’existe pas.
- L’agent AC va lancer un challenge aux deux agents retrievers et vérificateur pour vérifier si Los Angeles est la capitale => les deux agents affirment que Los Angeles n’est pas la capitale de la Californie.
=> Le système continue son chemin et confirme que la réponse est bien la Californie
Conclusion:
En permettant la détection et la résolution de conflits entre agents, le modèle améliore la stabilité, l’interprétabilité et les performances sur plusieurs benchmarks de raisonnement multi-étapes.
Cette approche met en évidence l’importance de la correction d’erreurs et ouvre la voie à des agents d’IA collaboratifs plus fiables dans des tâches complexes. Toutefois, cette approche augmente le temps d’inférence et peut être moins robuste dans des environnements contraints.
Les travaux futurs viseront à optimiser la collaboration entre agents afin de limiter la propagation des erreurs et d’améliorer l’efficacité globale du raisonnement.