Latent Swarm
When a team of tool calls brings back more than the context window can hold (ten long pages, a stack of design docs), Axom has to decide how those pages enter the window. The Latent Swarm is its answer.
How it works
- One agent per page. Each page is given to its own agent, running on its own sequence of the same loaded model.
- One pass per step. The agents think together: every step of their thinking is a single decode that carries all of them at once.
- Latent positions, not text. Each agent reads its page for the question you asked and hands back a few latent positions: vectors the main model reads directly. Ten pages of about 13,800 tokens arrive as roughly 200 to 340 positions.
- Resident agents. The agents stay loaded. A follow-up question re-asks them instead of re-reading the pages.
The main model then answers from those positions, citing the pages they came from.
What it's measured to do
On X1-Ultra with the ops leaf, against the summarizing (digest) path on the same asks:
| Latent Swarm | Digest | |
|---|---|---|
| Facts recalled from ten pages | 10/10 on each of three seeds | 0/10 |
| Whole facts turn | 46 s | 90 s |
| Follow-up turn | 21 s | 141 s |
| Window used by ten pages | 197 to 335 positions (41 to 70× smaller) | a digest per page |
- No training. The swarm uses the chassis as it is, with no new weights.
- The facts ride the latents. Given pages with different numbers, the answer follows the new numbers every time.
- Gaps stay gaps. When an agent finds nothing relevant, Axom says the pages don't contain it.
An agent answers the question it was read for
Latents hold what their question needed. For a different question about the same pages, Axom re-asks the resident agents, which takes a few seconds and needs no new fetch.
Turning it on
The Latent Swarm runs on a local chassis. Set it in ~/.axom/axom.yaml and restart:
yaml
fanout_latent: overflow # off · overflow · always| Value | |
|---|---|
off | Pages that don't fit are digested: read whole by the base model and summarized. |
overflow | The swarm reads wherever a digest would have fired. The measured mode. |
always | The swarm reads every team page. |
Search result lists, failed fetches, and short results always stay as plain text.