Skip to content

Argentic and Temporal: two ways to make an agent survive a crash

Where Temporal's durable execution and our journal agree, where they differ on the loop, the prompt and the rules for your code, and why Temporal is the safer pick today.

Neil Luo ·

If you want an agent that survives a crash, Temporal is one obvious place to look, and for good reason. We build Argentic, which solves a nearby problem differently, so this is a comparison from one side. We wrote it from Temporal's public documentation and our own published results. We have never run the same agent on both.

What Temporal gives you

Temporal records every step of a program, a Workflow, in an Event History. If the worker running it dies, another worker replays the history to rebuild the program's state. A step that already finished is not run again; its recorded result is handed back. The steps that touch the outside world are called Activities, and they are retried under a policy when they fail.

That model fits agents well. Temporal now ships an integration for the OpenAI Agents SDK in Python, which became generally available in March 2026, and one for the Vercel AI SDK in TypeScript. In the OpenAI integration each model call runs as an Activity, so a completed model call is not repeated when the Workflow replays after a crash.

Where we agree

Both systems record a step so that a restart can skip it. Both also have the same awkward case. If a tool call is cut off after the outside system acted but before the result was saved, nobody can know whether it ran, so a retry may run it twice. Temporal's documentation recommends idempotent Activities because Activities may be retried and run more than once. We give each action a key that stays the same when a cut-off action is retried, which only helps when the receiving tool honours it. Neither of us can promise exactly once, and we don't say it.

Where we differ

Who runs the loop. Temporal is a platform for durable code. The agent loop is yours: you write it inside a Workflow, and Temporal keeps it alive. Argentic comes with its own agent loop, built together with the journal, the memory and the prompt rebuild, so there is no loop to write or keep alive. You send it a message and declare its tools. The two choices suit different teams. If you have a loop you have tuned, Temporal lets you keep it, as long as its model and tool calls run as Activities and its Workflow code is deterministic. If you would rather not own that part, Argentic hands you one that already knows how to resume.

What the model reads. Temporal makes the loop durable. It does not decide what goes into the prompt, so a transcript that grows is still your problem. A single Workflow is also limited: the service logs a warning after 10,240 events in its history and terminates the execution past 51,200, and the answer is Continue-As-New, which starts a fresh run with the state you choose to carry over. Argentic renders the prompt from the journal every turn and rebuilds it at checkpoints, so the prompt grows between checkpoints and stays capped across them as a run gets long. In the 12-hour shop run the median prompt was about 22,000 tokens and the largest 43,431.

Code rules. Workflow code in Temporal has to be deterministic, because replay re-runs it. That is a real constraint on how you write the loop. Argentic's loop is ours, so there is no such rule for your code. What gets replayed is the journal.

Memory. The journal in Argentic also holds what the agent decided and learned, and the engine uses it when it rebuilds the prompt. Temporal does not try to give an agent memory, so you bring your own.

Where it runs. Temporal can be self-hosted or used as a cloud service, and it has SDKs in many languages. Argentic is a hosted service with a TypeScript client and a Python one, and the engine is closed source.

How mature each is

Maturity is a big difference, and it favours Temporal. Temporal is a widely deployed system with years of production use behind it. Argentic is a beta. Our longest test is one 12-hour run on one model, and the known issues page lists what that run got wrong. If you need a vendor your security team has already approved, that matters more than anything above.

Which to pick

Use Temporal if you already run it, if your agents are one part of larger workflows, or if you need to self-host. Look at Argentic if the agent is the product, its history will outgrow the model's window, and you want a prompt that stays bounded and a record you can check afterwards.

Nothing stops you calling an Argentic agent from inside a Temporal Activity. We haven't tried that pairing, so we can't tell you how it behaves.

What we haven't measured

We have no head-to-head run against Temporal, and we don't publish a price comparison. The cost of either depends on how many model calls a real run makes. We have measured model calls and cost on benchmarks and one simulated 12-hour shop run, not on real customer workloads. The 12-hour run shows what Argentic does on its own, and every call, kill, action and graded event is downloadable. The downloadable rows for the crash test are its 22 October rerun, not the 21 October run behind its headline numbers.

Sources for the Temporal side: its pages on Event History, Activities, and the OpenAI Agents SDK announcement.

Sources and method: 11 hours 59 minutes on shift: what the agent remembered.

More posts.

  1. A plain transcript loop or a journal: when each is the right call

    What the plain loop does well, where it runs out, and what the journal costs you.

  2. Why your agent forgets things from a long history

    On Gemma 4 31B, with histories of about 1.2 million tokens, a loop that keeps only about the newest 100,000 tokens got 5 of 60 right and the engine got 38. What we ran and what it doesn't show.

  3. Does summarizing old context lose details? We measured it

    On Gemma 4 31B, with histories of about 1.2 million tokens, our own note-rewriting loop got 17 of 60 and the engine got 38 of 60. Most of the loop's misses were answers saying the detail wasn't in its notes (29 of 43).

  4. Resuming an agent after a crash without repeating a finished action

    We killed a real server mid-run with SIGKILL and finished the work from another process. What was not repeated, and the one case that is.

  5. Checking what your agent was shown on each turn

    Replay rebuilds every prompt from the journal and checks it against what was recorded: 1,754 of 1,754 turns matched. It checks the prompt side only.

  6. Run your first agent

    Sign in to the Argentic dashboard, make an API key and run an agent that remembers. What you get, what we've measured and what isn't there yet.

  7. Undoing what a bad source caused, from the journal alone

    When a source was flagged after the run, the engine undid what it could have caused, using undo functions the host supplies, and finished without it, in 156 of 156 runs: 120 scripted, and 36 live Haiku 5.5 runs, 24 of them with the compromise forced. The live runs were rerun after an engine fix; the first 12 had 2 worlds missing benign effects.

  8. Why we rebuild an agent's context instead of appending to it

    What re-projecting context from a journal changes, in plain terms, and the limits of what we have measured so far.