A plan that cannot change after contact with the world is a script.
Part 2 gave the notebook. Planning is what you do with it: turn a goal into steps, then re-plan when an observation says the world disagreed.
From Models to Agents Part 4 already drew the loop: reason → plan → tool → observe → repeat. This part is only the planning slice. Not the whole story. Not the full control. The mechanism: the agenda is a living object, not a fixed check list.
Goal to steps
The user states an outcome: “Draft refund tickets for failed payments over a thousand dollars. Do not refund.” A planner — often the same LLM, sometimes a cheaper one — decomposes that into something the runtime can attempt: find the rows, filter, draft, stop before the payment API.
Good plans are checkable. “Investigate payments” is a vibe. “Query failed payments since Monday; group by reason; open a ticket draft per group over $1,000; never call refund” is a plan you can verify in a test.
Researchers described interleaved thinking and acting as ReAct (Yao et al.): produce a thought, take an action, read an observation, continue. Google’s ReAct note is the short public explainer.
Thought: filter failed payments over $1,000; do not refund
Action: get_payments(since=Monday, status=failed)
Observation: 0 rows (or a 403)
Thought: stop or narrow — do not invent three “typical” reasons
Thought without a next action is chat. A fixed five-step list that ignores that observation is a batch job. Re-plan is the product.
Re-plan after observations
The important move is the second plan, not the first.
Observation: query returned zero rows.
Bad: invent three “typical” failure reasons and file tickets anyway.
Good: stop, ask, or try a another query you actually have a tool for.
Observation: tool says permission denied.
Bad: retry the same call until the max-step counter saves you.
Good: mark that branch blocked; proceed only on allowed tools; surface the gap.
That is why planning sits next to memory on the diagram. The new agenda is written from the notebook, not from the original user prompt alone.
Example
Goal: “Prepare a vendor shortlist and propose a meeting.”
First plan: search, score, email.
Observation: search tool returned marketing pages, not pricing.
Second plan: fetch the three URLs you do trust, extract only public facts, draft a meeting note for a human to send.
The model still writes the plan in English. The architecture is whether the orchestrator uses the new plan. Part 7 is that clock.
Conclusion
If your “agent” always executes the first outline, you built a wizard. Wizards are fine. Do not call them agents. Agents change the agenda when the world talks back.
Takeaway: Planning is goal → steps, then a new plan from observations — not a one-shot to-do list.
Sources
- Yao et al. — ReAct (arXiv:2210.03629)
- Google Research — ReAct: Synergizing Reasoning and Acting in Language Models