An agent is anything that can be viewed as perceiving its environment through sensors and acting upon that environment through effectors.
A human agent has eyes, ears, and other organs for sensors, and hands, legs, mouth, and other body parts for effectors.
A robotic agent substitutes cameras and infrared range finders for the sensors and various motors for the effectors.
A software agent has encoded bit strings as its percepts and actions.
Our aim in this section 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.