The three ingredients, in a loop
- Thought - the model reasons about what to do next
- Action - the model picks a tool and its arguments
- Observation - the tool's result is fed back to the model
…then it loops until the model
decides it has enough information to answer. That's the whole pattern.
2022 paper vs. modern APIs
- The original paper had the model emit Thought/Action/Observation as structured text
that you parsed by hand
- Modern function-calling - Cohere's
tool_plan + tool_calls, OpenAI's
reasoning + tool_calls, Anthropic's thinking +
tool_use - bakes the same loop directly into the API
- No more text parsing. Same shape underneath.
🎯
One line to take with you: ReAct is the pattern. Function calling is the
implementation of that pattern in modern LLM APIs. Plan-and-Execute (plan all steps upfront, then
run them), Reflexion (add a self-critique pass after each action), and multi-agent setups are all
variations on the ReAct loop, not replacements for it.