Our aim in this book is to design agents that do a good job of acting on their environment.
First, we will be a little more precise about what we mean by a good job. Then we will talk about
different designs for successful agents—filling in the question mark in Figure 2.1. We discuss
some of the general principles used in the design of agents throughout the book, chief among
which is the principle that agents should know things. Finally, we show how to couple an agent
to an environment and describe several kinds of environments.