Skip to main content

Configuration File Structure

SkyDiscover uses YAML files to configure all aspects of the discovery process:
config.yaml

General Settings

int
default:"100"
Maximum number of discovery iterations
int
default:"10"
Save checkpoint every N iterations
string
default:"INFO"
Logging level: DEBUG, INFO, WARNING, ERROR, CRITICAL
string
default:"null"
Custom directory for log files (default: output_dir/logs)
string
default:"python"
Target language: python for code, text for prompts
string
default:".py"
File extension for generated programs (.py, .txt, .cpp, etc.)
bool
default:"true"
Generate diffs instead of full programs (faster, more focused)
int
default:"60000"
Maximum characters in generated solutions
int
default:"1"
Number of iterations to run concurrently (1 = sequential)

LLM Configuration

Basic Model Setup

Multiple Models

SkyDiscover samples from multiple models based on weights:

Per-Model Configuration

Evaluator and Guide Models

If evaluator_models or guide_models are not specified, they default to the same models as the main models list.

LLM Parameters

string
default:"https://api.openai.com/v1"
Base URL for API requests
string
default:"null"
API key (defaults to environment variable)
float
default:"0.7"
Sampling temperature (0.0 = deterministic, 2.0 = very random)
float
default:"0.95"
Nucleus sampling threshold
int
default:"32000"
Maximum tokens per generation
int
default:"600"
Request timeout in seconds
int
default:"3"
Number of retry attempts on failure
int
default:"5"
Seconds to wait between retries
string
default:"null"
Reasoning effort for o1/o3 models: low, medium, high

Search Configuration

Top-K (Simple)

AdaEvolve (Adaptive Multi-Island)

Adaptive Intensity:
  • decay: EMA weight (0.9 = slow adaptation)
  • intensity_min: Min search intensity (exploitation)
  • intensity_max: Max search intensity (exploration)
Migration:
  • Every migration_interval iterations, top migration_count programs migrate to neighboring islands
Diversity Strategy:
  • code: Edit distance between solutions
  • metric: Euclidean distance in metric space
  • hybrid: Weighted combination
Paradigm Breakthrough:
  • Triggered when improvement rate drops below threshold
  • Generates high-level strategy ideas to escape local optima

Best-of-N

EvoX (Co-Evolution)

OpenEvolve Native (MAP-Elites)

GEPA Native

Prompt Configuration

System Message

External File

Template Selection

Simplification Suggestion

Evaluator Configuration

int
default:"360"
Maximum seconds for evaluation
int
default:"3"
Retry failed evaluations N times
bool
default:"true"
Enable multi-stage evaluation (requires evaluate_stage1() and evaluate_stage2() in evaluator)
array
default:"[0.3, 0.6]"
Score thresholds for cascade stages
bool
default:"false"
Enable LLM judge for qualitative feedback

Agentic Configuration

Enable codebase-aware solution generation:

Monitor Configuration

Enable live dashboard:
See the Monitoring guide for details.

Human Feedback Configuration

Write feedback in Markdown:
human_feedback.md

Environment Variable Expansion

Use ${VAR} syntax to reference environment variables:

Example Configurations

Next Steps

Model Providers

Set up different LLM providers

Writing Evaluators

Create effective scoring functions

Monitoring

Enable the live dashboard

Benchmarks

See real configuration examples