ReAct: Interleaving Reasoning and Action

Context

Traditional approaches treat reasoning (thinking about the problem) and action (retrieving information, executing code) as separate phases. The model reasons, then acts, or acts, then reasons.

The Problem

Separating reasoning and action creates brittle chains:

  • Reasoning without grounding leads to hallucination
  • Action without reasoning leads to irrelevant retrieval
  • Errors compound without intermediate correction

The Solution

ReAct interleaves reasoning traces and actions in a single generation stream:

Thought: I need to find when the Eiffel Tower was built.
Action: Search[Eiffel Tower construction date]
Observation: The Eiffel Tower was completed in 1889.
Thought: Now I can answer the question about its age.
Action: Finish[The Eiffel Tower is 137 years old (as of 2026)]

Each thought informs the next action. Each observation informs the next thought. The loop continues until the task completes.

Why This Works

  1. Grounding: Reasoning immediately gets tested against retrieved facts
  2. Adaptability: Plans update as new information arrives
  3. Traceability: The reasoning/action log is auditable
  4. Error recovery: Wrong paths can be detected and corrected mid-stream

Consequences

  • More token-intensive than single-shot approaches
  • Requires tool access (search, code execution, etc.)
  • Creates interpretable traces for debugging
  • Significantly reduces hallucination on knowledge-intensive tasks

Benchmark Results

  • HotpotQA: Outperforms reasoning-only and action-only baselines
  • ALFWorld (interactive decision-making): 34% success rate improvement
  • WebShop: 10% success rate improvement with minimal examples

Related: 05-molecule—chain-of-thought-prompting