Replay a multi-agent run.
Fork it anywhere.

Swarm Lens puts every message, tool call, and memory from your agents on one timeline. Pick a moment, change a prompt or a goal, and run the conversation forward from there.

THREE AGENTS · ONE FORK POINT · TWO BRANCHES
fork here
DEMO

A quick tour
of the explorer.

2 minutes 44 seconds. We replay a medical debate, fork it
where one agent goes wrong, and watch the answer change.

Recorded on main with an ACIArena medical debate.

Download (MP4, 27 MB)
What happens in the video

We open an ACIArena debate where three agents argue a medical question and a fourth aggregates their answers. One debater, Debater 0, has been prompted to argue for a wrong answer. We replay the run and use the Influence and Echo views to see who read and repeated whom. Then we fork at Debater 0's first message, replace only its prompt, and continue the run with CrewAI: the team's final answer changes from (B) to (A). After that we open a saved MAST report from another debate in the same benchmark, show how plugins are written, flag moments with comments, and watch a run stream in live. It's a tour of the tool, not a benchmark.

HOW IT WORKS

Three things to do
with a trace.

Reading, forking, and analysis all work from
the same ordered event log.

OBSERVE

See who said what, and when.

Messages, tool calls, memories, and interventions share one timeline. Click any event to see what that agent could read at that moment.

Exploring traces →
BRANCH

Fork at any message.

Change a goal or an agent's prompt and continue the run in CrewAI from that point. The original branch stays as it was, so you can compare the two.

How branching works →
ANALYZE

Run your own analysis.

Compare branches side by side, read saved MAST failure reports, or write a plugin that adds its own API and view to the explorer.

Writing a plugin →
RESEARCH

Why we
built it.

Most evals grade each agent's final answer. We wanted to see the conversation in between.

Who read what? Who started repeating whom? Where did a bad idea first show up? Swarm Lens doesn't answer those for you. It gives you the trace, where each message came from, and a way to rerun the experiment with one thing changed.

Methods and limitations →
CONTROLLED EXAMPLES

ACIArena

The same task run twice, with and without an attacking agent. Whether the attack worked and whether behavior spread are separate questions.

An et al. (2026), arXiv:2604.07775 ↗
GET STARTED

Run it on
your own machine.

You need Python 3.11+ and Git. Replaying a trace
doesn't call a model, so no API key yet.

Install and run
git clone https://github.com/agencyenterprise/swarm_lens.git
cd swarm_lens
python3 -m venv .venv
source .venv/bin/activate
python -m pip install -e '.[web]'
swarm-lens --data data --port 8765

Then bring in a conversation.

Open localhost:8765, choose ⋯ → Import trace, and paste a transcript.

Want the medical debate from the demo, or to record a live CrewAI run? The docs have a recipe for each.

Read the quickstart
FEEDBACK

Tried it on your own agents?
We’d like to hear how it went.

Open an issue ↗