Software agent

computer program that acts for a user or other program in a relationship of agency

A software agent is a piece of software (a computer program) that is capable of making simple decisions to solve a problem. Usually, agents solve problems by interacting with other agents, or with their environment.