ReAct Pattern
Reason → Act → Observe loop where the LLM verbalizes its reasoning before each tool call.
Last updated: April 26, 2026
Definition
ReAct (Reasoning + Acting) is the most common agent loop pattern. The LLM produces a thought ("I need to check the user's order status"), then an action (tool call), then observes the result, then thinks again. The verbalized reasoning serves three purposes: it helps the model plan, it makes debugging tractable, and it produces audit logs that humans can read. Most modern frameworks (LangChain agents, OpenAI Assistants, Anthropic's tool use) implement some flavor of ReAct.
Code Example
Thought: The user wants to know shipping status.
I should look up their order by email.
Action: search_orders(email="alice@example.com")
Observation: Found order #4821. Shipped Mon, due Thu.
Thought: I have the info. I can answer now.
Final Answer: Your order #4821 shipped Monday and arrives Thursday.Each ReAct iteration is a Thought → Action → Observation triple. The model writes the trace itself.
When To Use
Default pattern for any tool-using agent. The reasoning trace is invaluable for debugging. Skip it only when latency is critical and the task is one-shot.
Building with ReAct Pattern?
I've shipped this pattern in real production systems. If you want a second pair of eyes on your architecture, that's what I do.