ReAct vs Plan-and-Execute: Which Agent Prompt to Use
ReAct vs plan-and-execute agents: when to loop step-by-step and when to plan upfront. Two pasteable prompt skeletons and a decision rule tied to model behavior.
Two agents get the same task. One thinks for a second, runs a step, looks at the result, and decides what's next. The other writes the entire plan first, then marches through it. Same goal, very different behavior, very different cost. ReAct vs plan-and-execute agents is the first architecture choice you make when you write an agent prompt, and getting it wrong shows up as either runaway token bills or agents that can't recover from a surprise.
The trade-off is well explained in the abstract. What's missing is the part you paste: two prompt skeletons and a rule for choosing between them on a real job.
What each pattern actually does
ReAct (reason + act) is a tight loop. The agent generates a thought, takes one action, reads the observation, then generates the next thought informed by what just happened. There's no full plan. The agent navigates step by step and adapts when a tool returns something unexpected. One model call per step.
Plan-and-execute splits the work. A planner reads the goal and emits an ordered list of steps, calling no tools, only thinking. An executor then runs those steps in sequence, often as a small ReAct loop per step. The planner decides the route; the executor follows it.
ReAct makes one model call per step, and a long chain gets expensive fast because every step replays the growing history. Plan-and-execute front-loads the thinking into one planning call, then runs cheaper, shorter executor calls. On a ten-step task, that's often the difference between one big bill and one small one. The trade is adaptability.
ReAct vs plan-and-execute at a glance
The honest comparison is a table, because the patterns win on different axes. This is the part LLM answer engines tend to quote, so it's worth getting precise.
| Dimension | ReAct | Plan-and-execute |
|---|---|---|
| Model calls | One per step, grows with chain length | One plan call, then cheaper step calls |
| Adapts to surprises | Yes, every step sees the last observation | Weakly, unless it re-plans mid-run |
| Inspectable before running | No, the path emerges live | Yes, the plan is reviewable upfront |
| Cost on long tasks | High, history replays each step | Lower, planning is amortized |
| Best for | Messy, uncertain, tool-heavy tasks | Predictable, multi-step workflows |
| Failure mode | Wanders, loops, burns tokens | Follows a wrong plan to the end |
Neither is "better." A migration with a known sequence wants a plan you can read before it touches anything. A debugging session where each finding changes the next move wants ReAct. The skill is matching the pattern to how predictable the task is.
What you can do with the two skeletons
- Run a step-by-step ReAct loop when the path depends on what tools return
- Generate a reviewable plan before any action touches your system
- Cap cost by planning once instead of reasoning on every step
- Hand an ordered plan to a ReAct executor for the hybrid that most production agents use
- Pin a per-step output contract so logs stay parseable either way
- Switch patterns per job without rewriting the agent from scratch
Anatomy of the two prompts
The patterns are two different output contracts. Keep them separate.
ReAct skeleton
Variables → {{task_goal}}, {{available_tools}}, {{scratchpad}}
Output contract (per turn, locked):
thought: [ one line of reasoning ]
action: [ tool name + args, or FINISH ]
observation: [ filled by the runtime, fed back ]
Plan-and-execute skeleton
Variables → {{task_goal}}, {{available_tools}}, {{constraints}}
Output contract (plan, locked):
steps: [ ordered, each step independently verifiable ]
each step: { intent, tool, success_check }
The ReAct contract repeats every turn; the planner contract fires once. Because both lock their shape, you can log and replay either one. A planner whose steps each carry a success_check is what lets the executor know when a step is actually done, instead of guessing.
Where models differ
The patterns honor structure differently across models. Claude holds a multi-turn ReAct contract well and rarely drops the thought line, which keeps traces readable. GPT-4o is strong at the planning call but tends to pad plans with extra steps unless you cap the count in {{constraints}}; it also wants the output shape restated on the final line. Gemini plans concisely but is more likely to start acting during a planning prompt, so the "call no tools" instruction has to be explicit and near the end. Pick your model and test the skeleton against it before you ship.
An opinionated take: most teams default to ReAct because it's the famous pattern, then act surprised when a long task costs a fortune and loops. If your workflow is even roughly predictable, plan first. A reviewable plan you can reject before execution is worth more than the adaptability you're rarely using. The free Agent Step Planner gives you the planning skeleton with a {{task_goal}} variable and an ordered-step contract, so you can try plan-first without writing it yourself.
Step-by-step: choosing and wiring the pattern
1. Rate the task's predictability
If you could write the steps before starting, lean plan-and-execute. If each step depends on the last result, lean ReAct.
2. Pick the skeleton
Copy the matching contract. Don't try to merge them. A prompt that does both does neither cleanly.
3. Set the budget guard
For ReAct, cap the loop count so a wandering agent can't run forever. For plan-and-execute, cap the step count in {{constraints}}.
4. Add a success check per step
Every step needs a way to know it's done. Without it, the executor either stops early or never stops.
5. Consider the hybrid
Plan at the top, run a short ReAct loop inside each step. This is what most resilient agents actually do, and it pairs a reviewable plan with local adaptability.
Variables you'll set
| Variable | Required | What it is |
|---|---|---|
{{task_goal}} | Yes | The outcome the agent is working toward |
{{available_tools}} | Yes | The tools the agent may call, named |
{{scratchpad}} | ReAct only | Running thought-action-observation history |
{{constraints}} | Plan only | Step cap, budget, and hard rules for the plan |
The failure mode each pattern hides
ReAct's hidden failure is the loop: the agent retries the same failing action with slightly different wording until the budget runs out. A loop counter and a "if a step fails twice, stop and report" rule catch most of it. Plan-and-execute's hidden failure is the opposite: a confident but wrong plan that the executor follows all the way to a broken result, because nothing re-checks the plan against reality. Build a re-plan trigger for when a step's success_check fails. And remember a plan that worked on one model version can drift after an update, so pin the version for anything load-bearing.
The strongest default for non-trivial tasks isn't pure ReAct or pure plan-and-execute. Plan once, then let each step run a short adaptive loop. You get a plan you can inspect and reject, plus the ability to recover inside a step when a tool surprises you. Pure ReAct is for genuinely open-ended exploration.
For turning a single goal into the ordered steps a planner needs, see task decomposition prompt for coding agents, and for keeping the {{scratchpad}} from overflowing on a long ReAct run, see agent memory design patterns that hold up.
Getting started
- Decide how predictable your task is.
- Copy the matching skeleton and lock its output contract.
- Add the loop cap or step cap.
- Give every step a
success_check. - Test the contract against your target model.
- Move to the hybrid once the basics hold.
- Start from the free Agent Step Planner for the plan-first path.
The Agent Task Decomposition System Prompt handles the planner half end-to-end: a {{task_goal}} variable produces ordered, independently-verifiable steps with a per-step success check, the exact contract a plan-and-execute agent needs. It's part of The Complete AI Prompts Bundle, a one-time lifetime license to the whole catalog plus future packs, worth it if you run more than one of these agent jobs.
Once your agent is choosing tools mid-loop, the next problem is which tools to expose — see tool selection prompt for AI agents, and browse the rest of the planning packs when you're ready to go deeper.
Common questions
What is the difference between ReAct and plan-and-execute agents?
When should you use a plan-and-execute agent instead of ReAct?
Can the same prompt do both ReAct and plan-and-execute?
Get the prompt packs this guide is built on
Ready-to-paste prompts with documented variables and usage guides for ChatGPT, Claude, and Gemini. One-time payment, own it forever.
More prompt guides

A MEDDPICC Qualification Prompt That Scores the Deal
Every rep knows MEDDPICC. Far fewer run it on a live deal without lying to themselves. The framework is eight letters; the discipline is scoring each one honestly against what was actually said on the…

A Sales Follow-Up Prompt That Turns Notes Into One Email
The follow-up email is where deals leak. The meeting went well, both sides agreed on a next step, and then the rep writes a four-paragraph recap two days later that buries the one action that mattered…

A Salesforce Pipeline Prompt That Audits Hygiene in One Pass
Most pipeline reviews die the same way. A rep opens the forecast, eyeballs forty open opportunities, nods at the ones that look healthy, and moves on. The deals that quietly rot (no logged next step,…