Skip to content

Question about Crossover Operator #411

Closed

Description

@passing2961

Just to double-check, as I understand it, OpenEvolve does not explicitly implement a crossover operator for program mutation, unlike ShinkaEvolve. Am I correct?

Activity

  1. codelion commented on Feb 18, 2026

    @codelion
    Member

    Yes, OpenEvolve does not have an explicit crossover operator. It uses an "inspirations" mechanism where the LLM is shown a parent program plus several other high-performing programs as context, and asked to improve/mutate. The LLM might implicitly draw ideas from those programs, but there is no dedicated crossover step or prompt that explicitly instructs combining multiple programs.

    ShinkaEvolve does indeed have a dedicated, explicit crossover operator. It has a separate prompts_cross.py (see https://github.com/SakanaAI/ShinkaEvolve/blob/main/shinka/prompts/prompts_cross.py) with its own system prompt that literally tells the LLM: "You are given multiple code scripts implementing the same algorithm. Perform crossover between the code scripts." The sampler in ShinkaEvolve has logic to specifically select the crossover mutation type, distinct from regular mutation.

  2. passing2961 commented on Feb 18, 2026

    @passing2961
    Author

    @codelion Thank you for your reply. Your response resolves my question :)

    I have another question. I am currently running all the examples (in the examples folder) to collect actual trajectories from the OpenEvolve agent. I am using the default configuration, but there are many stochastic factors involved, such as how to set the number of iterations, how to set the population size, which LLM to use, and so on.

    1. Is the default configuration in the examples folder the best setting you found?
    2. I assume that using more recent or stronger models could potentially lead to better results. Have you tried such experiments?
    3. Since OpenEvolve adopts a form of test-time scaling, have you tested whether performance continues to improve as the number of iterations increases?
  3. codelion commented on Feb 19, 2026

    @codelion
    Member
    1. The examples were contributed over time by various community members, so they reflect what worked at the time they were added rather than a carefully tuned baseline. Treat them as starting points rather than optimal configs. The README has guidance on how to approach tuning. The key levers are population size, the ratio of exploration vs. exploitation, and how you structure your evaluator. It does take some experimentation to find what works well for a given problem.

    2. Yes, stronger frontier models generally produce better results. I haven't done exhaustive systematic benchmarking across model generations, but the pattern holds that more capable models explore the solution space more creatively. The UC Berkeley ADRS paper ran OpenEvolve with GPT-5 and Gemini 3, and found it achieved the highest success rate across their 10 case studies (best solution in 9 out of 20 runs). Their configs are worth looking at as a reference for what good settings look like on real research problems: https://github.com/UCB-ADRS/ADRS

    3. Yes, performance generally keeps improving with more iterations, especially for open-ended optimization problems where there's no ceiling on the score. That said, there's a real risk of overfitting to the evaluator, the agent can find reward hacks that look good on your metric but don't generalize. So you need to be careful about evaluator design and it's worth validating winners on held-out workloads. The ADRS paper goes into this in detail and has good practical advice on evaluator construction to avoid this problem.

  4. codelion commented on Feb 19, 2026

    @codelion
    Member

    Also the recent ADRS blog post - https://www.sigops.org/2026/let-the-barbarians-in-how-ai-can-accelerate-systems-performance-research/ has some comparision between OpenEvolve, ShinkaEvolve, and GEPA.

  5. locked and limited conversation to collaborators on Feb 24, 2026
  6. converted this issue into a discussion #412 on Feb 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    questionFurther information is requested

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions