How nicola-ibrahim/aad_llm works
aad-llm is a notebook-first research framework that evolves Python black-box optimizers with an LLM, evaluates candidates on noisy BBOB problems, and independently benchmarks selected champions against classical methods. The map follows the documented experiment workflow and preserves separate audit, statistical-analysis, and optional generalization branches. Paths come from the supplied tree; several application and analysis internals were not sampled, so their uncertain call wiring is intentionally omitted.
Main entry points: campaign/run.py Synthesis campaign · synthesis/run.py Synthesis session · runner.py LLaMEA adapter · report.py Statistical analysis
Components 25
Algorithm synthesis
- Synthesis campaign
src/evolution/application/campaign/run.py - Campaign planning
src/evolution/application/campaign/plan.py - Synthesis configuration
src/evolution/infra/storage/synthesis_config/repository.py - Synthesis session
src/evolution/application/synthesis/run.py
Candidate execution
- LLaMEA adapter
src/evolution/infra/engines/llamea/runner.py - Prompt construction
src/evolution/infra/engines/llamea/prompts/builder.py - LLM provider client
src/evolution/infra/llm/client.py - Candidate evaluator
src/evolution/infra/engines/llamea/evaluator.py - Guarded execution
src/shared/infra/execution/executor.py - BBOB problem factory
src/shared/infra/problems/factory.py - Noise model
src/shared/domain/noise_model.py
Benchmarking and audit
- Champion and baseline trials
src/benchmarking/application/evaluation/run.py - Classical optimizers
src/benchmarking/infra/solvers/baselines.py - Champion selection
src/benchmarking/application/select_champions.py - Coverage and run audit
src/benchmarking/application/evaluation/audit.py
Analysis and transfer
- Statistical analysis
src/benchmarking/application/analysis/report.py - ECDF and statistics
src/benchmarking/domain/services/ecdf.py - Noise and transfer analysis
src/benchmarking/domain/services/transfer.py - Analysis figures
notebooks/analysis/plotting/summary.py
Experiment persistence
- Candidate code store
src/evolution/infra/storage/code/repository.py - Synthesis records
src/evolution/infra/storage/synthesis/repository.py - SQLite database
src/shared/infra/database/engine.py - Benchmark traces
src/benchmarking/infra/io/trace_repository.py
Other components
- Notebook researcher
- LLM provider
Connections 25
- Notebook researcher → Synthesis campaign: starts campaign
- Notebook researcher → Champion and baseline trials: runs trials
- Notebook researcher → Coverage and run audit: audits coverage
- Notebook researcher → Statistical analysis: analyses results
- Synthesis campaign → Campaign planning: plans matrix
- Synthesis campaign → Synthesis configuration: loads settings
- Synthesis campaign → Synthesis session: dispatches sessions
- Synthesis session → LLaMEA adapter: runs synthesis
- LLaMEA adapter → Prompt construction: builds prompts
- LLaMEA adapter → LLM provider client: requests generations
- LLM provider client → LLM provider: calls provider
- LLaMEA adapter → Candidate evaluator: evaluates candidates
- Candidate evaluator → Guarded execution: executes candidate
- Candidate evaluator → BBOB problem factory: creates objective
- BBOB problem factory → Noise model: applies noise
- Synthesis session → Candidate code store: persists code
- Synthesis session → Synthesis records: records iterations
- Champion and baseline trials → Classical optimizers: runs baselines
- Champion and baseline trials → Benchmark traces: writes traces
- Champion selection → Synthesis records: reads candidates
- Coverage and run audit → Benchmark traces: checks trace coverage
- Statistical analysis → Benchmark traces: reads traces
- Statistical analysis → ECDF and statistics: computes metrics
- Statistical analysis → Analysis figures: presents results
- Noise and transfer analysis → Benchmark traces: writes isolated traces