This paper presents the current state of research in the fields of intelligent tutoring systems and intelligent agents. The architecture of intelligent tutoring systems typically consists of four major components: the domain knowledge module, the learner diagnosis module, the tutoring module, and the communication module. An agent-based approach to intelligent tutoring systems research and development is applied as the set of agents that constitute the general architecture, and as animated characters - pedagogical agents. Therefore, the paper focuses on the components of intelligent tutoring systems that can be implemented as agents, as well as on functions that these intelligent agents can perform in each intelligent tutoring system component. Also, we present the recent endeavours in the intelligent tutoring systems community that moves from standalone systems focused on a single instructional domain to adaptive instructional systems that comprise learners, intelligent tutoring systems, and external (non-adaptive) environment.