Skip to content
matthewcm.dev

    ↑ ↓ move · ↵ open · tab scopeopen graph →

    ReAct vs Plan-and-Execute

    ReAct decides one step at a time from what it just observed; plan-and-execute writes the whole plan first and then runs it. Choose per agent, not per system.

    Seedtended planted 2 min read

    🌱 A rough idea, planted recently. Expect rough edges — it will grow.

    On this page

    Once you’ve decided something should be an agent, the next question is how it loops. The two orchestration styles I reach for most are ReAct (Yao et al., 2022) and plan-and-execute. They aren’t rivals: in a multi-agent system different agents often want different styles.

    ReAct (Reason + Act)Plan-and-execute
    Loopreason → act → observe → reason …plan every step → execute every tool
    Good forOpen-ended or conversational input; you don’t know what the user will say nextPredictable, well-defined work
    StrengthAdapts to each observationPredictable, auditable, cheaper (fewer LLM turns)
    WeaknessCan wander; more LLM callsBrittle if the world changes mid-plan

    A worked example

    Take the parking system in Smart Parking Multi-Agent System - Case Study:

    • The driver-facing agent uses ReAct. It parses what the user asked for (reason), asks a manager agent for options (act), checks the results (observe), judges whether they actually fit the request (reason), then presents them. Each step depends on the last observation, and the input is whatever a human types.
    • The zone agent uses plan-and-execute. The steps are always the same: read sensors, fetch local events, fetch traffic, compute a dynamic price, rank the top three. Plan once, run the tools.
    • The reservation agent uses plan-and-execute too. It could be reactive (cancellations happen), but ordering, atomicity and rollback matter more than flexibility when money and bookings are involved. A fixed plan is easier to reason about and to undo.

    Plan-and-solve

    A variant (Wang et al., 2023) that puts more weight on a complete, detailed step-by-step plan before anything runs. The planner builds nothing itself; it writes a blueprint that task-specific worker agents follow. It’s the shape behind ChainBuddy - Two-Phase Agents and Model Tiering, and it pairs naturally with the decompose-and-specialise advice in Agentic System Design Checklist.

    How I choose

    • Is the input open-ended, or does each step depend on what came back? → ReAct.
    • Are the steps known in advance, or do ordering, atomicity and rollback have to be guaranteed? → plan-and-execute.
    • Is the task big enough that you want a human-readable blueprint someone can review before execution? → plan-and-solve.

    The same propose → act → observe rhythm is what makes Eureka work; the difference is only how much is decided up front.

    • #ai-agents
    • #agentic-systems
    • #orchestration
    • #react-prompting
    • #planning

    ↪ Links to (4)