This paper presents an efficient approach to training an agent to perform a complex task through demonstration, explanation and supervision. This approach is based on an integration of techniques of multistrategy and apprenticeship learning, knowledge elicitation and programming by demonstration, in a plausible version space framework, and is implemented in Agent-Disciple. Agent-Disciple addresses the complexity of the task training problem through useragent interaction, allowing the user to specify enough knowledge and guide the agent to learn a general procedure from only a few examples. Interaction techniques allow the user to train the agent through positive or negative examples presented through the interface of the agent’s application domain. Agent- Disciple is an active participant in the interaction, suggesting possible explanations of tasks and experimenting with similar tasks. Elicitation methods are integrated to allow the end user to define new relevant terms in the representation language at any point in the training process. This approach has been used to train agents for ModSAF - a virtual military simulation environment. We describe the training of a ModSAF agent, review the problems encountered, and the lesson learned from this experience.