Skip to content

What is Galapagos?

Galapagos is an open-source platform for LLM-driven evolutionary search on scientific-discovery and optimization tasks. It expresses every published method as the same six-component loop, scores them all with the same verifiable evaluators, and ranks the results on one leaderboard — so the numbers are finally comparable.

Install

pip install open-galapagos — see Installation

Ships today

13 runnable scaffolds, 1,274 task cards (1,269 runnable).

A method is

a choice of what fills six slots — Population, SelectionPolicy, PromptBuilder, Proposer, Evaluator, Memory — over one Genome.

A task is

a seed program plus a deterministic scorer. It owns its own Docker image and is scored inside it by default.

A run produces

the best solution, plus an ETIF trajectory — every candidate and evolutionary behavior in one causal record.

What qualifies as a discovery task?

Every research-grade Galapagos task must pass the same three-part admission gate:

Requirement Meaning
Unsolved No known reproducible solution has achieved the documented perfect score under the task's fixed protocol and resource budget.
Open-ended The task rewards ongoing research or optimization through continuous or finely graded feedback, with multiple meaningful ways to improve.
Verifiable A trusted, deterministic evaluator independently recomputes the score from candidate output using pinned fixtures, seeds, dependencies, budgets, and tolerances.

All three are required. Saturated benchmarks, pass/fail-only exercises, subjective-only judges, and candidate-reported scores are not research tasks. Read the complete task eligibility policy.

from galapagos import GalapagosModel, GalapagosConfig, GalapagosScaffold, GalapagosTask

model    = GalapagosModel.from_card(name="openai/gpt-5.5", host="openrouter")
config   = GalapagosConfig.from_config(scaffold_name="openevolve")
scaffold = GalapagosScaffold.from_card(name="openevolve", config=config, model=model)
task     = GalapagosTask.from_card(name="circle_packing")
result   = scaffold.run(task=task)

print(result.best_score)

The loop

Every method in Galapagos — a plain mutate-and-select loop, an adaptive bandit, an autonomous CLI agent — is this one loop. Only the implementation filling each slot changes.

Memory — free-form knowledge carried across candidates: notes, skills, scratchpad, tactics (optional)
read ↓↑ write
Populationthe store
SelectionPolicypicks parents
PromptBuilderrenders the prompt
Proposerthe LLM varies
Evaluatorthe task scores
← the scored Genome goes back into the Population

Iterate until general.max_iterations; a finite-frontier method may finish earlier when no state remains expandable.

What it gives you

One loop, many methods A method is a card naming six components. Porting one means writing the slots that differ, not a new harness. → Components
One schema for tasks A task declares its seed, scorer, and requirements, and normally owns its container image. Runnable, environment-compatible task/scaffold pairs use the same task evaluator. → Task environments
Agents are not a special case claude_code hands the whole loop to a Claude Code CLI session, while algotune_agent exposes a command-driven optimization workspace. Both still map onto the same component slots. → Scaffolds
Every run tells its story A finished run exports to ETIF — a causal timeline of candidates, evaluations, failures, migrations, crossovers, adaptations, agents, and tools. → Trajectories
Cards are the protocol Task and scaffold YAML cards load locally and mirror to the Hub; model cards are local, while discovery bundles use the Hub API/browser flow. → Cards
Visible review state Discovery and leaderboard rows expose pending, accepted, or rejected. Acceptance currently promotes a row; automatic evaluator replay is not implemented. → The Hub

The two kinds of method

Tier Who drives the search Scaffolds
search The scaffold does. A frozen LLM is just the variation operator; the scaffold owns selection and prompting. openevolve, adaevolve, evox, gepa, ale_agent, algotune_agent, meta_harness, best_of_n, best_of_n_attempts, topk, beam_search
agent The agent does. An autonomous CLI agent edits the solution and runs the evaluator itself; the framework scores its checkpoints. claude_code
  • Quickstart

    Your first evolutionary search, in five lines.

  • Use & contribute

    Run Galapagos or choose the correct task, scaffold, and upstream-review submission path.

  • Why Galapagos

    An explosion of methods, no fair way to compare them. The case for one leaderboard.

  • Concepts

    The loop, the six components, the Genome, cards, trajectories.

  • Architecture

    The production Hub, the discovery pipeline, and the leaderboard.

  • ShinkaEvolve example

    A runnable, review-visible method port mapped onto all six Galapagos components.