ReAct searched Wikipedia between thoughts and still trailed chain-of-thought on HotpotQA
Yao's team prompted PaLM-540B with one or two examples, and reading a real Wikipedia line before each thought erased the invented facts that were chain-of-thought's most common failure mode.
Why this matters
You have heard that AI agents started with a paper called ReAct. An agent here means a language model put in a loop where it can take actions in the world and read the results back, instead of answering in one shot. ReAct is the 2022 paper that gave that loop its shape. This lesson reads what the paper actually did: the recipe it proposed, the four tests it ran, and the scores it got. That includes the one score where its own method came in behind the simpler technique it is usually said to beat. By the end you will be able to say what ReAct showed, on what, and how far today's agents have moved from it.
- 01
- Chain-of-thought prompting: the reasoning-in-words technique ReAct is measured against here.
- 02
- Tool use: how a model's request to call a tool actually runs, which ReAct wraps in a loop.
A thought, an action, and a look at what came back
In 2022, Shunyu Yao and six coauthors at Princeton and Google published a simple recipe for getting more out of a large language model, a model trained to predict the next word across most of the web. Call the model in a loop. Let it write a thought, a sentence of plain reasoning about what to do next. Let it emit an action, a short command such as a search query. Feed it back the observation, the text the outside world returns. Then let it think again. The authors named the method ReAct, for reasoning and acting, and ran it on PaLM-540B, a 540-billion-parameter language model from Google.12
The model was not retrained for any of this. ReAct runs by few-shot
prompting: you paste one or two worked examples into the prompt and the
model imitates the pattern, its weights untouched. For the
question-answering tests, the only tool it could reach was a Wikipedia
interface with three commands, written as
search[entity], lookup[string], and
finish[answer].1
Question: Aside from the Apple Remote, what other device can control the program the Apple Remote was originally designed to interact with?
Thought 1 I need to search Apple Remote and find the
program it was designed to interact with.
Act 1 Search[Apple Remote]
Obs 1 The Apple Remote is a remote control
introduced in October 2005, originally designed to control the Front
Row media center program.
Thought 2 I need to search Front Row next and find
what other device can control it.
Act 2 Search[Front Row]
Obs 2 Could not find [Front Row]. Similar: Front Row
Seat to Earth, Front Row Motorsports, Front Row (software).
Thought 3 I need to search Front Row (software).
Act 3 Search[Front Row software]
Obs 3 Front Row is a discontinued media center
software.
Thought 4 Front Row software is controlled by an
Apple Remote or the keyboard function keys. So the answer is keyboard
function keys.
Act 4 Finish[keyboard function keys]
1
Nothing in that run is special engine work. The model wrote the words
Thought, Act, and Obs; a wrapper program read the
Search[...] line, actually queried Wikipedia, and pasted
the result back as the next Obs line. How a model's tool call runs is
its own lesson. What ReAct
added on top was the interleaving. A thought before each action, so the
model plans, and an observation after it, so the next thought answers to
something real rather than to the model's memory.1
The search loop scored under chain-of-thought on HotpotQA
The obvious question is whether the loop helps. The paper's headline reasoning test was HotpotQA, a set of trivia questions that each need facts from more than one Wikipedia article. Its scoring is exact match: the model's answer string has to match the gold answer exactly, so the scores run low.1
On HotpotQA, ReAct scored 27.4% exact match. Plain chain-of-thought, the same model prompted to reason step by step in words with no search and no observations, scored 29.4%. Standard prompting, with no reasoning shown at all, scored 28.7%. On the benchmark it is most associated with, the reasoning-and-search loop the paper is built around came in last of the three.13
| Method | HotpotQA (EM) | FEVER (Acc) |
|---|---|---|
| Standard prompting | 28.7 | 57.1 |
| Chain-of-thought | 29.4 | 56.3 |
| ReAct | 27.4 | 60.9 |
| ReAct, then chain-of-thought fallback | 35.1 | 62.0 |
FEVER, a fact-checking test where the model labels a claim supported or refuted, went the other way. ReAct scored 60.9% there against chain-of-thought's 56.3%. The paper states the split plainly, writing that ReAct "outperforms CoT on Fever (60.9 vs. 56.3) and slightly lags behind CoT on HotpotQA (27.4 vs. 29.4)." The paper's strongest HotpotQA mark, 35.1%, came from a hybrid that ran ReAct and let the model fall back to plain reasoning when search stalled. For scale, a model trained directly on HotpotQA scored 67.5%. Few-shot ReAct was nowhere near it.1
Grounding every step drove invented facts to zero
So why did the paper matter, if its own loop lost at trivia? Because of what the loop did to hallucination, a model stating a fact that is simply false. The authors hand-labeled 50 correct and 50 incorrect runs each from ReAct and from chain-of-thought on HotpotQA, 200 in total, and sorted where the failures came from.1
Chain-of-thought's single largest failure mode was hallucination: 56% of its wrong answers came from the model inventing a fact mid-reasoning. For ReAct that figure was 0%. Among the answers each method got right, chain-of-thought reached 14% of them through reasoning that held a made-up fact but landed on the right answer anyway. For ReAct that share was 6%. Reading a real Wikipedia line before the next thought kept the model honest.1
Grounding cost something, and the paper says so. ReAct's own largest failure mode was reasoning error at 47%, well above chain-of-thought's 16%, often the model repeating the same thought and action without breaking out of the loop. Another 23% of its failures were search returning nothing useful, which left the model stuck. The loop trades some of the model's freedom to reason for a tether to the record.1
The headline gains came on chores and a shopping site
The numbers the paper is quoted for are the two interactive tests, not the question-answering scores. On these the model does not answer a question. It takes a sequence of actions toward a goal.1
ALFWorld is a text game of household tasks: the model reads a room description and issues commands to find and move objects, like putting a pepper shaker on a drawer. ReAct's best run there succeeded on 71% of tasks. The same loop with the thoughts stripped out, actions and observations only, managed 45%, and the previous published agent, BUTLER, managed 37%. Even ReAct's worst run beat both. WebShop is a simulated shopping site where the model has to buy an item matching a written request. ReAct succeeded 40% of the time against 30% for the best prior method, though expert humans hit about 60%. Those two gaps, 34 points on ALFWorld and 10 on WebShop, are the "34% and 10%" the abstract advertises, and they are what "ReAct started agents" points at.1
Today's agents call tools in JSON, not hand-written prose
The blueprint stuck. The exact method did not. ReAct's loop lives on in every AI agent that thinks, calls a tool, reads the result, and thinks again. But the paper made the model produce that loop by hand, writing the literal words Thought, Act, and Obs in a text format copied from the one or two examples, and a wrapper parsed those strings.1
Today's models are trained to emit tool calls as structured data. When a
current model calls a function, it returns a typed
tool_use block naming the tool and its arguments. The
application runs the tool and sends the answer back in a
tool_result block, and the model continues.4
OpenAI documents the same round trip as a five-step loop.5
The thought, action, and observation pattern now lives inside the model
and the API instead of being prompted in as text.
The name drifted with the method. "ReAct" today is used for almost any agent that mixes reasoning with tool calls, a general pattern rather than the paper's specific prompted format.6 What carried forward is the plainest part of what the paper tested: reason before you act, and let what you observe shape the next thought.1
The takeaway
ReAct's idea is small and it holds up: let a model reason a step, act, read what comes back, and reason again, so its next thought answers to something real. On the tasks where acting mattered, that loop beat the previous best by 34 points on the simulated household game and 10 on the shopping site. On grounding it was decisive, taking chain-of-thought's most common failure, an invented fact, from more than half of its wrong answers to none of ReAct's. On the trivia benchmark it is most cited for, it slightly lost to plain step-by-step reasoning. Today's agents trace back to this paper, and its measured result is narrower than that reputation.
- 01
- Yao et al., "ReAct" (arXiv): the original paper, with the full traces and the appendix results.
- 02
- Anthropic, "Tool use with Claude": the structured tool-call loop that replaced the paper's prompted format.
Sources
- arXiv · Yao et al., "ReAct: Synergizing Reasoning and Acting in Language Models" (2022; ICLR 2023)
- arXiv · Chowdhery et al., "PaLM: Scaling Language Modeling with Pathways"
- arXiv · Wei et al., "Chain-of-Thought Prompting Elicits Reasoning in Large Language Models"
- Anthropic · "Tool use with Claude"
- OpenAI · "Function calling"
- IBM Think · "What is a ReAct Agent?"