HypoEvolve: Genetic Algorithms Enable Multi-Agent LLMs to Discover Scientific Hypotheses
Jieyuan Liu, Mengzhou Hu, Jefferson Chen, JungHo Kong, Pratibha Jagannatha, Yiming Gao, Dexter Pratt, Hsin-Yuan Lee, Zhiting Hu, Trey Ideker, Wei Wang, Eric P. Xing, Zhen Wang
cs.CL, cs.CE, cs.MA, cs.NE
2026-09-15
A (μ+λ) genetic algorithm of LLM agents scores 0.171 DepMap selectivity and 0.426 Open Targets on 34 cancers, versus 0.115 and 0.329 for Tree of Thoughts.
Scientific agents can already write mechanistic hypotheses from the literature, and evolutionary search can already improve programs, equations, and molecules. Once the two are combined, it is still unclear how much of the gain comes from the model's scientific skill and how much from the collaboration rules. Co-Scientist ranks an expanding pool with an Elo tournament, so roles and search are entangled: changing a coordination rule means rewriting the agents.
HypoEvolve writes collaboration as a generational update to a hypothesis population. Scientific roles, prompts, and criteria stay fixed. Selection, crossover, mutation, and replacement become the experimental variables.
A hypothesis is a structured document: title, summary, claim, and rationale. Population size μ = 6, λ = 6 offspring per generation, horizon G = 3. A generation agent retrieves papers for the research goal and proposes μ hypotheses that span mechanisms. A pairwise scorer judges cancer specificity, target evidence, and falsifiable predictions. It never sees DepMap or Open Targets. Bradley-Terry converts the outcomes into positive latent strengths, anchored so the initial population has mean 50 and spread 60.
Parents are chosen by size-2 tournaments. Crossover probability 0.6, split between combination (merge compatible mechanisms) and inspiration (start a different explanation from both parents). Mutation probability 0.15, forced if crossover is skipped: drug substitution swaps a compound inside the allowed vocabulary, out-of-box revisits assumptions. An empty operator return copies the parent so the offspring count holds. Parents and offspring are scored together and truncated to the top μ, a (μ+λ) replacement.
The testbed is drug repurposing: name a compound and explain how its targets or pathways could affect a specified cancer. The vocabulary is 61 drugs with DepMap-covered targets. External metrics are computed after search and never enter fitness. DepMap selectivity subtracts each target's pan-cancer median dependency from its median in the matched cancer, then takes the max across annotated targets, so universally essential genes do not win. Thalidomide in AML falls from 1.0000 to +0.0040 under this correction; imatinib in CML stays at +0.9674. Open Targets association supplies genetic, literature, and clinical evidence independent of CRISPR. Thirty-four cancer types cover TCGA's 33 plus CML. Paired comparisons use the 29 types every method answered; 26 of those have matching DepMap lines. Seven types used in protocol development or interim inspection are held out of the transfer split.
Baselines share gpt-5.4-mini, retrieval, and the drug list: single-pass generation, 40-sample self-consistency, static reranking of 15 candidates, multi-agent debate, a Co-Scientist scaffold, and Tree of Thoughts. HypoEvolve ran two or three times per cancer type, 94 runs.
| Method | DepMap selectivity | Open Targets |
| HypoEvolve | 0.171 | 0.426 |
| Tree of Thoughts | 0.115 | 0.329 |
| Multi-agent debate | 0.070 | 0.193 |
| Co-Scientist scaffold | 0.042 | 0.162 |
| Single-pass | 0.039 | 0.163 |
| Static-15 | 0.036 | 0.175 |
| Self-consistency ×40 | 0.029 | 0.134 |
Against single-pass, DepMap moves +0.133 (19 wins, 7 losses) and Open Targets +0.263 (26 wins, 3 losses). On 27 held-out cancers the Open Targets margin is +0.280; on the 24 with cell lines, DepMap is +0.111. Split by Open Targets evidence channel, genetic association shows the largest gap (+0.334).
Drug-cancer matching residuals (score in the named cancer minus the mean across others) rise from generation 0 at +0.0034 / +0.0133 to generation 3 at +0.0612 / +0.0658. Mean fitness 50.0 to 112.2, best 81.2 to 125.7, up in all 94 runs. Of 94 final hypotheses, crossover produced 60 (53 inspiration), mutation 27 (23 drug swaps), and empty-operator copies 7.
Swap fitness-guided parent selection for uniform random, holding operators and hypothesis count fixed, and the weakest member drops 0.088 / 0.218, the population mean 0.075 / 0.128, the final hypotheses 0.090 / 0.156. Maxima do not move detectably. A run costs 206 model calls, 167 of them pairwise, about $0.56. Tree of Thoughts reaches 0.115 in 31 calls, the best cheaper baseline. The Co-Scientist scaffold spends 288 calls and lands within 0.007 of single-pass on DepMap.
Larger populations, five-generation horizons, and operator ablations on eight cancers do not survive multiple-testing correction.
The paper pulls "how agents collaborate" out of prompt engineering and into a search rule you can ablate. Drug repurposing is the instance; the reusable piece is a population update that feeds scientific judgments into the next generation of hypotheses. Fitness-guided parent selection lifts the mean and the floor without changing role definitions, which is evidence that coordination design has its own effect.
For anyone building AI research teams, the picture is small and usable: freeze the scientific operators, then vary selection and replacement. External evidence is applied after search, so the answer cannot leak into fitness.
Pairwise scoring grows with the square of the pool; 167 of 206 calls are comparisons, so bigger populations get expensive. Fitness is an LLM judgment and can propagate a persuasive hypothesis with weak evidence. The appendix is explicit: expert reading and experiments remain required before any therapeutic use. The metrics measure target-level biological support, not that the mechanism is true, and not clinical benefit. The vocabulary is 61 drugs, and prior exposure to those drug-cancer pairs may still contribute. Operator ablations cover eight cancers. There is no wet-lab follow-up. Token budgets are not matched across baselines.