This document provides an introduction to software agents. It discusses how agents can help overcome limitations of direct user interfaces and simplify distributed computing. Agents are described as software entities that function continuously and autonomously to help users by carrying out tasks on their behalf without needing constant guidance. Well-trained intelligent agents that learn from experience could act as "digital butlers" or "digital sisters-in-law" to handle information filtering and task automation personalized to each user.