ReAct
Thought · Action · Observation — Not a message but a loop. The model reasons, calls a tool, reads what came back, and re-plans — the ancestor of every agent framework shipping today.
Two versions circulate
The loop repeats until the reasoning step can state a final answer. Always cap the number of iterations: a model that cannot resolve the task will otherwise repeat itself until it runs out of budget.
Use it for
Anything requiring lookup or action mid-task: reconciling invoices against a ledger, checking claims against a record, verifying whether a draft conflicts with something already published.
Avoid it for
A plain chat window with no tools. Without a real action channel the model narrates fake tool calls and invents the results, which is worse than a straightforward prompt.
The slots
Each letter is a question the prompt has to answer.Thought Optional process step
What do I know, and what do I need next?
One short sentence of reasoning that names the specific gap — not a restatement of the task.
Example: This invoice is for 4,180 euro but the purchase-order cap is unknown, so I need to retrieve PO-2291 before I can approve or flag it.
Action Optional process step
What tool call gets that missing piece?
A single concrete parameterised call. One fact per action, never a compound request.
Example: lookup_purchase_order("PO-2291")
Observation Optional process step
What actually came back?
The tool’s real output, verbatim, including errors. Never a paraphrase, and never a guess when the tool fails — a fabricated observation defeats the entire point.
Example: PO-2291 — approved value 3,500 euro, supplier Kestrel Ltd, status OPEN.
Strengths
- The only framework here that structurally reduces invented answers, because the observation step injects external ground truth between reasoning steps rather than after the fact.
- The trace is auditable: you can read exactly which fact drove which conclusion, which matters for anything with a compliance angle.
- It is the actual vocabulary of the tooling your team will meet, so learning it transfers directly to agent frameworks and tool-use APIs.
Weaknesses
- It needs real tool plumbing. For anyone in a consumer chat interface it is aspirational rather than usable.
- Cost and latency multiply, because each cycle is a full model call, and a stuck loop burns tokens producing nothing.
- Failure modes are ugly: the model can get trapped repeating the same thought and action, and one bad early observation poisons everything downstream.
Sources and grounding
- 1ReAct: Synergizing Reasoning and Acting in Language ModelsYao et al., ICLR 2023 (arXiv)The original paper, from Princeton University and Google Research.
- 2ReAct project pageYao et al.Author-maintained page showing how the thought, action and observation steps interleave.