Skip to main content
A Restate AI application has two main components:
  • Restate Server: Sits in front of your agents and takes care of orchestration and resiliency
  • Agent Services: Your agent logic using the Restate SDK for durability
Application Structure Your agent is a regular function, a handler, that makes LLM calls, executes tools, and coordinates work. Restate wraps this handler in durable execution: every step is recorded in a journal, so if the process crashes, the agent picks up exactly where it left off. You can use the Restate SDK alone or in combination with an Agent SDK. Select your SDK:

Creating a durable agent

Follow the Agent Quickstart to run a durable agent end-to-end. A Restate agent has three building blocks:
  1. The handler: An HTTP handler containing your agent logic, exposed in a Restate service
  2. LLM calls: Persisted so responses are not re-fetched on recovery
  3. Tool executions: Wrapped in durable steps so side effects are not duplicated

Observing your agent

The Restate UI shows the step-by-step execution trace of your agent, with detailed traces of every LLM call, tool execution, and state change: Learn more.

How durable execution works

When your agent runs, Restate records each step’s result in a journal. If the process crashes mid-execution:
  1. Restate detects the failure and restarts the handler
  2. Completed steps are replayed from the journal (no re-execution)
  3. Execution resumes from the first incomplete step
This means:
  • LLM calls are not repeated (saving cost and time)
  • Tool side effects are not duplicated (no double bookings, no duplicate emails)
  • Multi-step workflows recover their full progress automatically
Durable AI Agent Execution
Try it yourself: follow the Agent Quickstart to run a durable agent and see how it recovers from a failure.