Plan-and-Execute
Reasoning
Level 3 · Agentic & compositeSeparate planning the full approach from executing it and verifying the result — useful for tasks with tools or multiple steps.
Plan-and-execute separates a task into three explicit phases: first plan the full approach before doing anything, then execute the plan step by step, then verify the result against the original goal. Unlike ReAct — which interleaves reasoning and action turn by turn, reacting to each observation — plan-and-execute commits to a full plan upfront, which is often more efficient when the steps are largely predictable in advance, at the cost of being less adaptive if something unexpected happens mid-execution.
When to use it
Use it for multi-step tasks — especially agentic tasks involving tools — where the overall approach can reasonably be planned in advance; planning the full sequence upfront is often more efficient than reacting to each step individually.
When to avoid it
Avoid it for tasks where each step genuinely depends on unpredictable results from the previous one — ReAct's turn-by-turn adaptation is the better fit when the plan can't realistically be fixed in advance.
Advantages
- More efficient than ReAct for tasks whose steps are largely predictable
- Makes the full approach visible and reviewable before any action is taken
- Separates 'what's the plan' from 'did it work' as two explicit, checkable phases
Disadvantages
- Less adaptive than ReAct if an early step's result changes what should happen next
- A flawed upfront plan isn't corrected until the verification phase, potentially after several wasted steps
Examples
Goal: compile a competitor pricing comparison using the available search tool. Available tools: search_web(query) First, write out the full plan: what searches you'll run and in what order. Then execute the plan step by step. Finally, verify that the result actually answers the original goal, and note anything the plan missed.
Pairs well with
Try it
Fill in the placeholders below and see the compiled prompt update live.
What you want to achieve.
List the tools/actions the model can use, one per line (e.g. search_web(query), get_weather(city)).
- 33
- Words
- 205
- Characters
- 0/2
- Placeholders filled
- 1 min
- Reading time
- Completeness0
- Clarity0
- Context0
- Specificity0
- Constraints0
- Format0
- Output0
- Constraints note0
- Success criteria100
- Scope focus100
- Verification step0
- Negative example0
- Confidence0
- Placeholder syntax100
- Markdown structure0
- Fill in the remaining placeholders.
- Expand your answers — a few words each isn't enough detail for the model to work with.
- Add background context so the model understands the situation.