Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Evolution

The evolution subsystem optimizes agent system prompts using APO (Automatic Prompt Optimization) during GPU idle periods. It generates candidate prompts, evaluates them against held-out tasks, and promotes winners.

Evolution Cycle

1. Wait for GPU idle (<30% utilization)
2. Select next agent (round-robin)
3. Generate candidate prompts
4. Evaluate against held-out tasks
5. Promote best if improved
6. Record lineage

Optimization Methods

MethodDescription
APOAutomatic Prompt Optimization (Zhou et al., 2023)
GEPAGenetic Evolution of Prompt Architectures

Model Merging

Agent versions can be combined using parameter-space merging:

MethodDescription
LinearWeighted average of parameters
TIESResolves sign conflicts between models
DAREDrop and rescale for sparse merging

Agent Versioning

Each evolution cycle produces a new agent version with tracked lineage:

# Check evolution status
uv run gaius-cli --cmd "/evolve status" --format json

# View agent versions
uv run gaius-cli --cmd "/evolve versions leader" --format json

# Promote a specific version
uv run gaius-cli --cmd "/evolve promote leader v3" --format json

Configuration

evolution {
    enabled = true
    idle_threshold = 60    # seconds of GPU idle before triggering
    cycle_interval = 3600  # minimum seconds between cycles
}

The daemon runs in the engine process and activates only during GPU idle periods to avoid competing with interactive inference.