The concept of anagenthas become important in both artificial intelligence (AT) and mainstream computer science. Our aim in this paper is to point the reader at what we perceive to be the most important theoretical and practical issues associated with the design and construction of intelligent agents. For convenience, we divide these issues into three areas (though as the reader will see, the divisions are at times somewhat arbitrary).Agent theoryis concerned with the question of what an agent is, and the use of mathematical formalisms for representing and reasoning about the properties of agents.Agent architecturescan be thought of as software engineering models of agents; researchers in this area are primarily concerned with the problem of designing software or hardware systems that will satisfy the properties specified by agent theorists. Finally,agent languagesare software systems for programming and experimenting with agents; these languages may embody principles proposed by theorists. The paper isnotintended to serve as a tutorial introduction to all the issues mentioned; we hope instead simply to identify the most important issues, and point to work that elaborates on them. The article includes a short review of current and potential applications of agent technology.