A simulated target-discovery swarm, start to finish
-
01The question
A coordinator asks one hard question
Answering it takes genetics, expression, safety and literature evidence for twelve candidate genes: about 16M tokens of reading, 80 times what one agent can hold in its 200K-token context.
coordinator
Which of these 12 genes cause coronary artery disease, and could be safely silenced in the liver?
coloc_h4- the gene and the disease share one causal variant
finemap_pip- the variant is the likely causal one
liver_tau- the gene is expressed mainly in the liver
pli- people do not tolerate losing the gene
Four kinds of evidence, each a probability or score from 0 to 1.
- PCSK91p32
- LPA6q25
- ANGPTL31p31
- APOC311q23
- HMGCR5q13
- NPC1L17p13
- CETP16q13
- LDLR19p13
- APOB2p24
- SORT11p13
- ASGR117p13
- IL6R1q21
-
02The swarm
Fifty specialist agents fan out
No single agent can read it all, so genetics, expression, safety and literature agents work in parallel. Each takes a few genes and one kind of evidence.
Why it takes a swarm
- 200K tokens one agent's context window
- ≈15M 1,500 papers to read
- ≈1M analysis tables and notebooks
The evidence is about 16M tokens, 80 times one window. Split across 50 agents, each still reads about 320K, more than its own window, so it writes what it finds to the database as it goes. Estimate, sized on a Kosmos run.
-
03Branches
Each agent writes in its own branch
A branch forks off the shared findings and copies no data. Its rows stay invisible to the other agents until they merge.
-
04Verified merge
Merges land rows in main, with their writer
Each merge is one transaction: conflict detection, then your checks, then commit. Every row keeps the agent that wrote it.
-
05A bad finding
A hallucinated score is stopped at the merge
researcher-23 records a probability of 1.40. The range check rejects the merge and rolls it back. The branch stays open, the value is fixed to 0.64, and the retry merges.
-
06A conflict
Two agents vote at once, and no vote is lost
Both vote PCSK9 up. One merges first and the other's merge conflicts, so it redoes the vote on a fresh branch and merges.
-
07The answer
One SQL query answers the question, live
The coordinator joins and filters everything merged so far. Three of the twelve genes pass every test, and each row still names the agents behind it. Sixteen million tokens of reading come back as three rows.
WITH ev AS ( SELECT target_id, count(DISTINCT _ab_writer) FILTER (WHERE evidence = 'coloc_h4' AND value >= 0.8) AS agents, avg(value) FILTER (WHERE evidence = 'coloc_h4') AS coloc_h4, avg(value) FILTER (WHERE evidence = 'liver_tau') AS liver_tau, max(value) FILTER (WHERE evidence = 'pli') AS pli FROM findings GROUP BY target_id ) SELECT t.symbol, ev.* FROM targets t JOIN ev ON ev.target_id = t.id WHERE ev.agents >= 3 -- causal, and replicated by 3+ agents AND ev.pli < 0.1 -- people tolerate losing it AND ev.liver_tau >= 0.8 -- expressed mainly in the liver ORDER BY ev.agents DESC, ev.coloc_h4 DESC;
How the query narrows twelve genes to three
12candidate genes
PCSK9ANGPTL3LPAHMGCRIL6RAPOC3ASGR1NPC1L1CETPLDLRAPOBSORT15causal, replicated by 3+ agents
coloc_h4 ≥ 0.8PCSK9ANGPTL3LPAHMGCRIL6RAPOC3ASGR1NPC1L1CETPLDLRAPOBSORT14people tolerate losing it
pli < 0.1PCSK9ANGPTL3LPAHMGCRIL6RAPOC3ASGR1NPC1L1CETPLDLRAPOBSORT1HMGCR drops out: pli 0.993expressed mainly in the liver
liver_tau ≥ 0.8PCSK9ANGPTL3LPAHMGCRIL6RAPOC3ASGR1NPC1L1CETPLDLRAPOBSORT1IL6R drops out: liver_tau 0.34
Genes that pass every test
symbol agents coloc_h4 liver_tau pli written by ( _ab_writer)PCSK9 6 0.97 0.93 0.00 050709121623 ANGPTL3 4 0.93 0.96 0.00 07091220 LPA 3 0.91 0.98 0.00 051623 Because a merge keeps each row's original writer,
count(DISTINCT _ab_writer)counts the agents that did the work.