nasfai — how the system fits together
A concept‑level map: you provide the configuration (left); the
evolutionary loop turns it into a champion (center); every step is captured in a
reproducible run record (right). Four roles carry it out.
CONFIGURATION · THE EXPERIMENT
Blueprint
declarative agent + search space
Objective · fitness fn
explicit, cost‑aware
Eval dataset
synthetic · jsonl · HumanEval
Provider · model
mock · anthropic · openai · agent
Stopping criteria
target+probe · plateau · budget
Optimization method
selection + variation
seeds & configures
THE EVOLUTIONARY LOOP · ONE GENERATION
Population · genomes
candidate agents this generation
Phenotype · behavior
predictions, usage, transcript
FitnessResult · score
the scalar the loop maximizes
Parents · selection
elitism + tournament
Offspring · variation
mutate + recombine (in search space)
run by the Provider
scored by the objective
pick the fittest as parents
produce the next candidates
↻ next
generation
recorded each generation
stopping ends it
THE RUN RECORD · REPRODUCIBLE
Run · manifest pins every input
Generations · evaluated populations
Lineage · ancestry DAG
Champion · global best
Captured I/O · + transcript
Telemetry · OTel GenAI
Report · Markdown
Run store · .nasfai/runs/
Same seed + manifest ⇒ identical
champion on the mock provider.
THE FOUR ROLES · WHO DOES IT
Selector
plans the run · picks the objective
Generator
seeds & varies the population
Evolver
runs the loop · honors stopping
Recorder
telemetry · lineage · report
genome state (population / parents / offspring)
phenotype (behavior)
fitness (the score)
role (actor)
persisted record