Sample β the search algorithm (search/) picks a parent solution and
any relevant context solutions from the database.
Prompt β the context builder (context_builder/) turns the parent solution,
relevant context solutions (if any), and problem spec into system + user messages.
Generate β the LLM (llm/) produces a candidate solution (code, text,
or image).
Evaluate β the evaluator (evaluation/) scores the candidate and
returns metrics.
Add β the scored candidate is stored back in the database, closing the
loop.
The DiscoveryController (search/default_discovery_controller.py) orchestrates
this loop. Search algorithms that need custom orchestration (e.g. co-evolution)
subclass it and override run_discovery().
Components
Component
Subfolder
What it does
Extend by
Context Builder
context_builder/
Assembles LLM prompts from the problem spec, prior solutions, and feedback