Phylo is evolutionary search over AI-agent harnesses. An "agent" here is a fixed language model wrapped in a harness — the system prompt, reasoning instructions, tools, and output rules around it. Instead of hand-tuning one agent or improving it step-by-step, Phylo treats that harness as a genome and evolves a whole population of them with genetic operators — selection, crossover, mutation, migration — scoring each by real text-to-SQL execution accuracy on held-out Spider questions. The model never changes, so every gain comes purely from the evolved scaffold. Running many lineages in parallel finds several strong, distinct agents at once and resists dead ends, and the whole search is exposed as a live 3D phylogeny — every node an agent, every edge a parent→child mutation/crossover — traced in Weave, stored in Redis, explored through a CopilotKit UI.
Built on SIA, which proved sequential self-improvement (75.8% → 95.0% over 8 generations). Phylo turns that one chain into a population.
Each generation: evaluate every harness on the same held-out Spider set (real execution accuracy, reusing SIA's verifier) → select the top performers → recombine their genome sections (crossover), mutate with Claude/GPT-5, occasionally migrate a strong agent between populations, and carry the elite forward. A harness genome has five recombinable sections: system_prompt, tool_definitions, meta_instructions, error_handling, output_format.
The evolved winner's harness vs the cold-start seed. Switch sections, switch seed/best, edit freely — this is the prompt-only scaffold that drove the climb (the model never changed).
Phylo reuses SIA's exact Spider data + execution-accuracy verifier, so it's evolving harnesses for the
SIA text-to-SQL task. The bridge export_to_sia.py takes Phylo's best genome and emits a
SIA-compatible target_agent.py + target profile, so SIA seeds its next run from the evolved
harness instead of the minimal one. Phylo searches; SIA runs the winner.