This article describes the state-of-the-art research on the pedagogical agent technology as a vehicle to advance theories of how people learn. We review different types of pedagogical agents and their roles. In this article, we are particularly interested in an interactive pedagogical agent, called a teachable agent. We provide detailed explanations about different types of teachable agents with some pointers to actual implementations. We discuss how different types of teachable agents works and the advantages and disadvantages of each type. We then discuss how teachable agents help advance learning science research. We introduce SimStudent as an instance of a teachable agent and how it has been used in various research projects. We conclude the article with future research issues.