Introduction
SkyDiscover uses YAML configuration files to control all aspects of the evolutionary search process. Configuration files define LLM settings, search algorithms, evaluation parameters, prompts, and more.Configuration Structure
A SkyDiscover configuration file consists of several top-level sections:Loading Configuration
From File
Load a configuration file when running SkyDiscover:Programmatic Loading
Configuration Hierarchy
SkyDiscover resolves configuration values in the following order (later sources override earlier ones):1
Default Values
Built-in defaults from dataclass definitions in
skydiscover/config.py:522-5612
YAML File
Values specified in your configuration file override defaults
3
Environment Variables
Environment variables like
OPENAI_API_KEY, OPENAI_API_BASE override file settings4
CLI Arguments
Command-line flags like
--model, --search override all previous settingsEnvironment Variable Expansion
Use${VAR} syntax to reference environment variables in YAML:
General Settings
int
default:"100"
Maximum number of evolutionary iterations to run
int
default:"10"
Save checkpoint every N iterations
str
default:"INFO"
Logging verbosity:
DEBUG, INFO, WARNING, ERRORstr
default:"None"
Directory for log files. If None, logs to console only
str
default:"None"
Programming language hint (e.g.,
python, javascript)str
default:".py"
File extension for generated programs
Generation Settings
bool
default:"true"
Generate diffs instead of complete programs to improve LLM focus
int
default:"60000"
Maximum character length for generated solutions
int
default:"1"
Number of iterations to run concurrently. Set to >1 for parallel execution
Human-in-the-Loop Settings
bool
default:"false"
Enable human feedback integration
str
default:"None"
Path to file containing human feedback
str
default:"append"
How to handle feedback:
append or replaceConfiguration Files
SkyDiscover includes several preset configurations inconfigs/:
default.yaml
Basic top-k search configuration
adaevolve.yaml
Adaptive multi-island evolutionary search
openevolve_native.yaml
MAP-Elites quality-diversity search
llm_judge.yaml
LLM-as-a-judge evaluation
Example: Complete Configuration
configs/default.yaml
Next Steps
LLM Configuration
Configure models, API settings, and generation parameters
Search Configuration
Choose and configure search algorithms
Prompt Configuration
Customize system messages and prompts
Monitor Configuration
Set up the live monitoring dashboard