1. A method for conducting a virtual training session in a virtual laboratory, comprising: identifying a virtual training session comprising a first training objective having a first validation path and a second training objective having a second validation path; configuring, using a processor of a computer, a virtual machine in the virtual laboratory to conduct the virtual training session, wherein the virtual machine is manipulated by a student of the virtual training session to complete the first training objective; configuring, using the processor, a smart agent to execute on the virtual machine, wherein the smart agent comprises a validator specified by the first validation path; generating a result by performing a first validation check of the virtual training session, wherein the first validation check is performed by at least the validator of the smart agent to identify an event of the virtual machine; identifying, using the smart agent, completion of the first training objective based on the result; and advancing, using the processor, the virtual training session from the first training objective to the second training objective in response to identifying completion of the first training objective.