Skip to main content

Overview

The skydiscover-run command is the primary entry point for running AI-driven scientific and algorithmic discovery using SkyDiscover. It executes the evolutionary search process to generate, evaluate, and evolve programs toward optimal solutions.

Basic Syntax

Positional Arguments

string
Path to the initial program file to start the search from. If omitted, the search starts from scratch (no seed program).Example: solutions/baseline.py
string
required
Path to the evaluation file that defines how to score generated programs. Must contain an evaluate function.Example: evaluators/math_eval.py

Options

Configuration

string
default:"None"
Path to a YAML configuration file. See Configuration for details.Alias: -cExample:
string
default:"Auto-generated"
Output directory for results, checkpoints, and logs. If not specified, SkyDiscover creates a directory based on the search algorithm and timestamp.Alias: -oExample:

Search Parameters

integer
default:"From config or 100"
Maximum number of search iterations to run. Overrides the value in the configuration file.Alias: -iExample:
Search algorithm to use for evolutionary discovery.Alias: -sChoices:
  • evox - Built-in evolutionary search
  • adaevolve - Adaptive evolutionary algorithm
  • best_of_n - Simple best-of-N sampling
  • beam_search - Beam search strategy
  • topk - Top-K selection
  • openevolve_native - Native OpenEvolve integration
  • openevolve - OpenEvolve with custom wrapper
  • shinkaevolve - Shinka evolutionary search
  • gepa - GEPA algorithm
  • gepa_native - Native GEPA integration
Example:

Model Configuration

string
default:"From config or gpt-5"
LLM model(s) to use for solution generation. Supports comma-separated list for multiple models with automatic load balancing.Alias: -mFormat: model_name or provider/model_name or model1,model2,model3Examples:
string
default:"From config or provider default"
Base URL for the LLM API. Useful for using local models or custom API endpoints.Example:

Advanced Options

boolean
default:"false"
Enable agentic mode, which allows the LLM to make multi-file edits and interact with a codebase. The codebase root is automatically derived from the initial program’s directory.Example:
When enabled:
  • Codebase root: dirname(initial_program)
  • LLM can read and edit multiple files
  • Best for complex refactoring tasks
string
default:"None"
Path to a checkpoint directory to resume from. Loads the saved state and continues the search.Example:

Logging

string
default:"WARNING"
Set the logging verbosity level.Alias: -lChoices: DEBUG, INFO, WARNING, ERROR, CRITICALExample:

Examples

Basic Usage

Start a discovery run with an initial program and evaluator:

With Configuration File

Use a custom configuration:

Custom Output Directory and Iterations

Run 1000 iterations and save results to a specific location:
Use multiple LLMs with beam search:

Agentic Mode for Multi-File Editing

Enable agentic mode for complex codebase evolution:

Resume from Checkpoint

Continue a previous run:

Local Model with Custom API

Use a locally hosted LLM:

Verbose Logging for Debugging

Run with detailed logs:

Output

When the run completes successfully, you’ll see:

Output Directory Structure

The output directory contains:

Error Handling

File Not Found

Solution: Check the file path and ensure the file exists.

Invalid Checkpoint

Solution: Verify the checkpoint path. Use the path shown in the completion message from a previous run.

Missing External Package

Solution: Install the required package as indicated.

Invalid Model Specification

Solution: Check the model name format. Use provider/model-name or just model-name for OpenAI models.

See Also

Configuration

Learn about YAML configuration files

Evaluators

How to write evaluation functions

Search Algorithms

Available search strategies

CLI Flags Reference

Complete flag reference