Plan & Execute (Agent Pattern)

ReAct thinks before every single action — flexible, but it can wander and burn many LLM calls on complex tasks. Plan & Execute takes a different approach: plan the whole task upfront, then execute the steps. Separating planning from execution makes agents more efficient and keeps them on-goal for long, structured tasks.

💡 In one line: Plan & Execute makes a complete plan upfront, then carries out each step — separating the planner from the executor.

What is Plan & Execute?

It's a pattern that separates planning from execution. A Planner produces a full multi-step plan in one go; an Executor then carries out each step (calling tools as needed). If reality diverges from the plan, an optional re-planner revises the remaining steps.

vs. ReAct

ReActPlan & Execute
When it reasonsBefore every actionOnce upfront
StyleDynamic, reactiveStructured, deliberate
LLM callsMany (per step)Fewer planning calls
RiskWanders on long tasksRigid if it can't re-plan

Architecture & Components

  • Planner — produces the full plan (ordered steps).
  • Plan — the list of steps to execute.
  • Executor — carries out each step (may use tools, or even ReAct within a step).
  • Re-planner (optional) — revises the remaining steps.

The Flow

Whiteboard
Whiteboard diagram


Why Use It

  • Complex, multi-step, structured tasks with a knowable shape.
  • Less wandering — the plan keeps the agent on track.
  • Fewer planning calls — it plans once instead of re-thinking every step.
  • More predictable on long tasks.

Re-planning

Upfront plans meet reality — a step may fail or new information may appear. Allowing the agent to revise the remaining steps turns a brittle plan into a robust one. The common hybrid is plan → execute → re-plan.

Trade-offs

  • The upfront plan may be wrong or incomplete.
  • Less adaptive than pure ReAct in the moment.
  • Planner quality is critical, and it's rigid without re-planning.

When to Use It (vs. ReAct)

  • Known-structure, complex, long tasks → Plan & Execute.
  • Dynamic, exploratory, simple tasks → ReAct.
  • Often combined: the executor runs ReAct inside each step.

Best Practices

  • Allow re-planning on failure or new info.
  • Keep steps verifiable.
  • Use ReAct within steps for local adaptivity.
  • Validate the plan before executing.

Summary

  • Plan & Execute plans the whole task upfront, then executes step by step.
  • It separates the Planner from the Executor (with optional re-planner).
  • It's efficient and on-goal for complex, structured tasks — where ReAct may wander.
  • Its risk is a wrong upfront plan, so re-planning is key.
  • Use it for structured tasks; use ReAct for dynamic ones — or combine them. EOF echo created