In the EvoX open decoupled foundation,the workflow moduleorchestrates the stages of evolutionary iteration, their execution order, and how they connect to each other,the monitoring modulecollects states and metrics in real time during execution. Together, they turn the "unknown black-box evolution loop" into a controlled process that is observable, judgeable, intervenable, and reproducible. In a nutshell: the workflow answers "in what order to run," while monitoring answers "where it is now, how well it's doing, and whether to intervene."
Workflow: Orchestrating Order and Stage Boundaries
The workflow orchestratessteps and dependencies, not the algorithm logic itself. It defines the order, back-edges, and stage boundaries of "Initialization → Evaluation → Selection → Mutation/Crossover → State Update → Termination Check," connecting the algorithm module and the problem module through a unified interface. The key to orchestration lies ingranularity and boundaries: treating "one batch evaluation" as a stage that can be scheduled as a whole, rather than advancing individual by individual; a stage boundary is simultaneously a monitoring sampling point and a scheduling switch point.
- Order: determines the sequence of stages and when to return to "Evaluation" to form the main loop.
- Back-edges: clarifies which conditions trigger the next iteration and which conditions exit the loop.
- Stage boundary: serves as both a workflow switch point and a natural sampling point for monitoring.
Monitoring: Collect States, Expose Metrics, Drive Decisions
The monitoring module is the runtime state'scollection and exposure layer: continuously tracking population size, evaluation count, objective/fitness distribution, convergence and diversity, per-generation time, and resource metrics such as VRAM/throughput. But the purpose of observation is not to record, but tomake decisions— metrics are used to trigger termination, early stopping, restart, or parameter/strategy switching, forming a "Monitoring → Judgment → Intervention" closed loop—this is exactly where the controllability of the evolutionary process comes into play.
Controllability also requires that state beserializable: checkpoint saving and restoring enable long-running evolution to be interrupted and resumed, failures to be located, and experiments to be reproduced, which is a prerequisite for engineering trustworthiness. Meanwhile, decoupling requires that monitoring be attached viacallbacks/hooks, without intruding into the algorithm and problem modules; therefore, different monitoring backends such as consoles, logs, and curve panels can be swapped, while the core algorithm requires no changes.
Back to the example: in GPU tensorized evolution, the workflow schedules "batch evaluation" as a whole stage, and the monitoring module records the best/average fitness, population diversity, and per-generation time within the same stage, generation by generation. When metrics stall for N consecutive generations, it triggers the termination check or switches to a strategy with larger perturbation, and simultaneously persists a checkpoint, so that this evolution is both reproducible and able to resume from an interruption.
