← All questions
AgentsHard· Agent Planning & Reasoning

What's the difference between ReAct, Plan-and-Execute,...

Each trades a different pair of properties, and picking the right one is a “what does this task actually look like” question, not a “which is best” one:

  • ReAct — decides one action at a time based on the latest observation. Adaptive, since it can change course the moment a tool result is surprising, but greedy — it can commit to a locally reasonable step that turns out to be a dead end, with nothing forcing it to look further ahead. Fits exploratory tasks where the right next step genuinely depends on what just happened.
  • Plan-and-Execute — produces the full sequence of steps upfront, then executes it. This structure lets independent steps run in parallel and makes the whole run easier to audit, but it’s brittle: if reality diverges from the plan partway through, the system needs explicit replanning logic or it just keeps executing a plan that no longer fits. Better suited to well-defined tasks with predictable steps.
  • Tree-of-Thought — explores several candidate action sequences in parallel, evaluates each, and commits to the best one. The most thorough of the three at finding a genuinely good path through a complex problem, and by a wide margin the most expensive, since it multiplies the number of model calls by however many branches get explored.

In practice, most production agents default to ReAct for its adaptability and reach for Plan-and-Execute specifically when a task’s steps are predictable enough to benefit from upfront parallelization. Tree-of-Thought earns its cost rarely — mainly on problems where the optimal path is genuinely non-obvious and getting it right is worth several times the compute of a single pass.

Code playground (Python)