ReAct Agents

Agents that reason and call tools in a loop

ReAct agents are based on the ReAct research paper 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.

1from letta_client import Letta
2
3client = Letta(token="LETTA_API_KEY")
4
5# create the ReAct agent
6agent = client.agents.create(
7 agent_type="react_agent",
8 model="openai/gpt-4.1",
9 embedding="openai/text-embedding-3-small",
10 tools=["web_search", "run_code"]
11)