There is no widely accepted definition of the term agent that I know of. However, the (weak) definition of an agent given by Wooldridge & Jennings [Wooldridge 1995] is closest to my understanding of an agent (p. 116):
Definition: An agent is software program with the following properties:
But I am even more interested in several agents interacting with each other, which leads me to the following definition:
Definition: A multi-agent system (MAS) is a set of interacting agents.
If you want to know more about agent technology in general, please refer to the following books (or some other books): [Wooldridge 2002] [Weiss 1999]