Research agents you can leave running
AI agents plan, research, write and review a cited report for you. They talk only through queues, so a crash, a rate limit or a bad answer slows a run down instead of losing it.
What every run guarantees
Nothing is lost
If a worker crashes mid-step, another picks the job up and the step still runs once.
Every quote is real
Quotes are copied from the fetched page by code. The model never writes them.
Every number is checked
A draft with a number its sources don't state goes back for a rewrite.
Spending is capped
Each run has a token budget. It stops with its best draft instead of looping.
Failures are kept
A job that fails every retry is saved with its error and replays in one click.
Infrastructure built to recover
Each tier does one thing. Scroll to take the scheduler apart and see what holds a run together when a worker dies, a model misbehaves or a rate limit hits.
01 Your request
Ask once
You write one request. The API saves it, puts a message on the planner's queue and answers in about 20 ms. The work happens elsewhere.
02 The queues
Hand off
Agents never call each other. Each passes a short message holding one run id through its own queue. A rate limit pauses only that agent's queue until it resets.
03 The actors
Work alone
Planner, Researcher, Writer and Critic run as separate processes. Kill one mid-step and another takes the job back when its lock expires, with no duplicate output.
04 The record
Remember everything
Every output, step and event is kept in one record of the run. A job that fails three times lands in the dead-letter queue with its error, ready to replay.
Built like a post office, not a phone call
Most multi-agent tools chain agents inside one long conversation. Retro runs each agent as an independent worker that only exchanges short messages, so one failure stays one failure.
A typical agent chain
Retro
Context
One long conversation carries everything between agents, so it grows, drifts and gets summarised away.
Agents pass a short note with the run's id. Each one reads the full, original record before it works.
Crashes
Every agent runs in one process. If it dies, the whole run is gone and starts over.
Each agent is its own worker. A crash pauses one step; another worker picks it up.
Rate limits
One limit stalls everything, or blind retries hammer the provider.
Only that agent's queue pauses until the limit resets. The others keep going.
Retries
A retry can repeat work and write the same output twice.
Every step is claimed once, so a retry never duplicates a draft.
Failures
A failed run leaves nothing behind to inspect.
Failed jobs are kept with their error and the model's last output, ready to replay.
Scale
Going faster means a bigger machine for the whole chain.
Add workers for just the slow step, while the rest stay as they are.
Watch a crash, recovered
A worker crashes mid-step
The Writer's process dies halfway through a draft. In a typical agent chain, the whole run dies with it.
Its messages wait
Here nothing is lost: each message sits in the Writer's queue, holding only the run's id. The other agents keep working.
A fresh worker takes over
Another Writer picks the job up and reads the run from its record, starting the step cleanly.
The work flows on, once
The step finishes exactly once, with no duplicate drafts, and the next agent gets its message as if nothing happened.
Specialists, not one long prompt
Like operators at a switchboard, no agent does another's work. Each reads the whole run from the record, does its part and passes a message on. You watch every sub-step live.
Turns your request into 2–4 research questions and the report's outline, validated against a schema before anyone else sees it.
- Structured plan, schema-checked
- A bad plan retries, it never ships
- Every question tied to the outline
Searches the web, reads the pages itself and keeps passages copied word for word, so every quote in the report exists on a real page.
- Papers and primary sources first
- Quotes copied by code, never written by the model
- Only the most relevant passages are kept
Writes the report from the findings only, citing each claim as [n]. On a rewrite it gets its last draft and every point the critic raised.
- Every number needs a citation
- No outside facts
- Rewrites from the reviewer's notes
Checks sections, citations and every number against the sources in code first, then scores the draft. A failed draft goes back to the writer.
- Code checks before any model call
- Rejects numbers not in the sources
- Thinking off: about 30× fewer output tokens

Researcher · live
working
- WebSearch: solid-state battery commercialization timelines
- Picked 12 candidate pages (2 paper, 1 primary, 9 news)
- Read 11 of 12 pages, 1 unreachable
- Kept the 18 most relevant passages
What happens when it breaks
Every one of these is a test that kills, floods or poisons the real system and checks the run still ends where it should.
A worker is killed mid-step
Another worker picks its job up, and the step still runs exactly once.
The model is rate-limited
Every worker of that agent pauses together until the limit resets, then the job retries. Other agents keep going.
The model returns junk
Output is checked against a schema. A bad plan or finding fails the attempt, and the retry starts from clean inputs.
A job fails three times
It moves to the dead-letter queue with its error, stack trace and the model's last output. Replay it with one call.
The same message arrives twice
Each step can only be claimed once. The duplicate sees the step is done and skips it.
A number is made up
The critic checks every number in the report against the sources in code, and rejects the draft if one is missing.
Your report, where you work
Open it in Google Docs
Connect your Google account once. Every report opens as a real Google Doc in your Drive, with headings, links and sources intact. Retro can only see the docs it creates.
Ask for changes
Shorter, a new section, a different angle: type it under the report. The writer revises it from the same evidence and the critic checks the change was made.
Keep every report
Artifacts collects every finished report. Open one as a clean page to share, or go back to its chat.
Nvidia Q2 FY2027 Earnings: Market Report
draft 2 · 6 sources
✓ passed · factual 1.00 · citations 1.00 · sources 1.00
Executive Summary
Revenue was $96.2 billion, up 106% from a year ago 1. Data Center revenue reached $89.0 billion 1.



