--- title: ReAct Agents subtitle: Agents that reason and call tools in a loop slug: guides/agents/architectures/react --- ReAct agents are based on the [ReAct research paper](https://arxiv.org/abs/2210.03629) and follow a "Reason then Act" pattern. In Letta, agents using the ReAct architecture can reason and call tools in a loop (using the same heartbeat mechanism from MemGPT), but lack the **long-term memory capabilities** of MemGPT agents. ## Architecture ReAct agents maintain conversation context through summarization but cannot edit their own memory or access historical messages beyond the context window. **Key differences from MemGPT agents:** * No read-write memory blocks or memory editing tools * No access to evicted conversation history * Simple conversation summarization instead of recursive memory management * Tool calling without persistent state beyond the current session **When to use ReAct agents:** * Tool-calling tasks that don't require long-term memory * Stateless interactions where conversation summarization is sufficient ## Creating ReAct Agents To create a ReAct agent, simply use the `react_agent` agent type when creating your agent. There is no need to pass any memory blocks to the agent, since ReAct agents do not have any long-term memory. ```python title="python" from letta_client import Letta client = Letta(token="LETTA_API_KEY") # create the ReAct agent agent = client.agents.create( agent_type="react_agent", model="openai/gpt-4.1", embedding="openai/text-embedding-3-small", tools=["web_search", "run_code"] ) ``` ```typescript title="node.js" import { LettaClient } from '@letta-ai/letta-client' const client = new LettaClient({ token: "LETTA_API_KEY" }); // create the ReAct agent const agent = await client.agents.create({ agentType: "react_agent", model: "openai/gpt-4.1", embedding: "openai/text-embedding-3-small", tools: ["web_search", "run_code"] }); ``` ```bash title="curl" curl -X POST https://api.letta.com/v1/agents \ -H "Authorization: Bearer $LETTA_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "agent_type": "react_agent", "model": "openai/gpt-4.1", "embedding": "openai/text-embedding-3-small", "tools": ["web_search", "run_code"] }' ```