1
Curious builder0 XP earned · 300 to level 2
0 daysFinish a lesson to begin
Badge collection0 of 6 unlocked
51 small wins to finish your pathNext question →
Explain the ReAct pattern. Why did it matter?
30-second answerSay your answer out loud first, then reveal.
ReAct was introduced by Yao et al. (2022). Before it, there were two separate lines of work:
- Reasoning only (chain-of-thought). Good at multi-step logic, but the model can only use what it already knows, so it hallucinates facts.
- Acting only (calling tools without explicit reasoning). The model can fetch facts but plans poorly and can't explain why it did what it did.
ReAct combines them in a trace like this:
User: Which Krish Naik Academy course teaches LangGraph, and when does
its next batch start?
Thought: First I need to find which course covers LangGraph.
Action: search_courses("LangGraph")
Observation: "Agentic AI Bootcamp" covers LangGraph, MCP and multi-agent systems...
Thought: Now I need the next batch date for that course.
Action: get_batch_schedule("Agentic AI Bootcamp")
Observation: Next batch starts on ...
Thought: I have both facts, so I can answer.
Final Answer: The Agentic AI Bootcamp covers LangGraph. Its next batch starts on ...Why it still matters today: modern native tool calling (structured function calls from OpenAI, Anthropic or Gemini) is essentially ReAct built into the API. "Thoughts" may now be hidden reasoning tokens instead of text in the prompt, but the loop of reason → act → observe → repeat is the same.
Weaknesses you should mention
- It is greedy, deciding one step at a time with no global plan, so it can wander on long tasks. Plan-and-execute addresses this (Q16).
- Each step is a full LLM call, so latency and cost grow linearly with the number of steps.
- Errors early in the trace carry forward into later steps.
Common mistakes
- Confusing ReAct with chain-of-thought. CoT has no actions.
- Thinking ReAct requires a specific text format. The pattern matters, not the "Thought:" prefix.
Follow-ups to expect
- How does native function calling relate to ReAct?
- How would you stop a ReAct agent from looping?
Related
You understood something today that you didn't yesterday.