Peer-reviewedVerified 2026-09-01

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

  1. 1ReAct: Synergizing Reasoning and Acting in Language ModelsYao et al., ICLR 2023 (arXiv)The original paper, from Princeton University and Google Research.
  2. 2ReAct project pageYao et al.Author-maintained page showing how the thought, action and observation steps interleave.