Software Agent
From
Wikipedia:
In computer science, a software agent is a computer program that acts for a user or other program in a relationship of agency, which derives from the Latinagere (to do): an agreement to act on one's behalf. Such "action on behalf of" implies the authority to decide which, if any, action is appropriate.[1][2]
Related and derived concepts include intelligent agents (in particular exhibiting some aspect of artificial intelligence, such as learning and reasoning),autonomous agents (capable of modifying the way in which they achieve their objectives), distributed agents (being executed on physically distinct computers),multi-agent systems (distributed agents that do not have the capabilities to achieve an objective alone and thus must communicate), and mobile agents (agents that can relocate their execution onto different processors).