SwarmRSI lets a swarm of scientific coding agents improve by evolving a shared graph of hypotheses, programs, and feedback, so a failed run becomes a repair request and a losing program can still donate components to another agent’s winner.
Picture an AI agent trying to solve a scientific coding task: propose a hypothesis (“a graph neural net will predict this property better”), write code, run it, score it. The score comes back bad. Now what? Was the hypothesis wrong, or was the implementation buggy? Standard agents cannot tell, so they often throw out the hypothesis. Worse, a program that scored poorly overall might contain one subroutine that would help a different agent’s work, but nobody looks because the aggregate score was low.
Two research lines try to help. Program-evolution agents like AIDE mutate code based on execution feedback. Hypothesis-evolution agents like Arbor iterate on ideas in a tree. Both run inside one trajectory. Neither lets agents trade partial results, and neither distinguishes a bad idea from a bad implementation of a good idea.
SwarmRSI treats the thing being evolved as the shared research state itself: a graph of past hypotheses, programs, execution evidence, and unresolved needs that any agent can draw from when picking its next move. Three mechanisms update it.
Feedback-Guided Swarm Mutation reads peer feedback before deciding what to change. If an implementation crashed or missed its intended intervention, the agent keeps the hypothesis and does a P-mutation (repair the code). If results differ sharply across sub-instances of a task, that signals the direction itself needs rework, so an H-mutation revises the hypothesis.
Complementary Swarm Recombination reuses parts across agents. Rebase takes a hypothesis whose implementation never got a fair test and retries it on a different, known-valid program base. Crossover looks at per-instance scores: for each sub-task, pick components from whichever program won that sub-task, keep the parent’s components elsewhere. Crucially this pulls material from programs that lost overall.
Recursive Swarm Evolution is the controller that picks the next move. It maintains a hypothesis frontier and a program frontier, and uses a bandit-style Discounted UCB score to decide whether to spend the next experiment on H or P work. Every outcome, including failures and no-gain runs, goes back into the graph.
while budget_remaining:
frontier = pick_H_or_P(discounted_ucb_score)
op = choose(mutation, rebase, crossover)
h, p = planner.form_experiment(frontier, op, shared_state)
code = coder.implement(h, p)
score, evidence = execute_and_audit(code)
requests = emit_requests(score, evidence)
# fail -> deepen; mixed -> broaden; new best -> retry retained h
shared_graph.append(h, p, score, evidence, requests)
return best_valid_program(shared_graph)
An important detail: a “scientific audit” compares parent and child source code plus submitted outputs. If the hypothesis supposedly changed but outputs are identical, the system flags it, denies hypothesis credit, and keeps the request open. This is what lets P-mutation and H-mutation stay separable.
Evaluation covers 118 tasks across three benchmarks: OpenProblems, NatureBench, and MLE-Bench-Lite. Backbones are DeepSeek-V4-Pro and Gemini 3.1-Pro-Preview.
•
On OpenProblems, SwarmRSI with Gemini reaches 76.2 average (out of 100), above TusoAI’s 67.1 and a human-expert baseline of 57.2.
•
On NatureBench, with either backbone, it hits a 44.4% Match-SOTA rate, the highest among compared systems. Against Arbor on the same backbone, the gap is +7.8 pp (McNemar p=0.016); against AIDE, +16.7 pp.
•
On MLE-Bench Lite, it earns a medal on 81.8% of 22 Kaggle-style tasks.
The ablations are where the mechanism story holds up. Removing P-mutation drops Match-SOTA by 13.3 pp; removing H-mutation drops it by 10.0 pp; removing recombination drops it by 6.7 pp and cuts Surpass-SOTA roughly in half. Removing the shared graph (so agents cannot see each other’s records) costs 7.8 pp. All ablation drops in mean improvement $g$ have 95% confidence intervals excluding zero.
In one DeepSeek seed across all 90 NatureBench tasks, ~77% of final best programs descend from at least one rebase, crossover, or feedback-triggered update. Those updates produce new bests at a 28.4% rate versus 21.9% for other updates. In a cross-task transfer test, inheriting state after three generations of six source tasks raised Match-SOTA on 12 held-out tasks from 41.7% to 86.1% compared to cold start.
Two evolved programs were reproduced by biologists and used in follow-up analyses of intestinal and splenic immune cells. One (a contrastive representation) showed higher locally-coherent MHC-II expression under helminth infection than Salmonella. The other (a spatial clustering program) produced partitions that did not reveal consistent protein-marker shifts across neighbourhoods, which the authors report as a null finding, not a win.
•
If you are building a multi-agent coding or research pipeline, the actionable idea is to separate hypothesis credit from program credit using an output-diff audit. Without it, you cannot tell whether your H-mutation actually ran. This is cheap to add and does not require SwarmRSI’s full machinery.
•
If your task has per-instance scores (multiple datasets, subtasks, or splits), crossover becomes available. If you only get an aggregate score, the paper is explicit that crossover is inactive, so expect smaller gains from recombination alone.
•
The strongest ablation signal is for P-mutation and H/P selection, suggesting that routing effort between “fix the code” and “change the idea” is where most of the lift comes from. Worth testing a lightweight version: a two-armed bandit over repair-vs-rethink, scored by recent improvement per token.
•
Cross-task transfer worked on 12 held-out NatureBench tasks with one backbone over six source tasks. Treat this as suggestive, not a general claim. Generations are confounded with how many source tasks the state has seen.
•
The paper does not mention a public code release in the supplied text.
SwarmRSI needs an executable evaluator; tasks without automated scoring are out of scope. The audit catches whether outputs changed, not whether they changed for the scientifically right reason. The biological case studies are reproductions and interpretations of two programs on existing datasets; they do not establish causal biology. Benchmark numbers come from three seeds, and the authors note that no task crossed the Match-SOTA or Surpass-SOTA threshold between seeds, so the thresholded rates are stable but continuous scores do vary. Comparisons to published leaderboard entries are descriptive rather than paired-significance tested.