The document discusses software agents and multi-agent systems. It describes how agents can act independently on behalf of users to satisfy objectives without being explicitly told what to do. A multi-agent system consists of multiple interacting agents that may represent different goals. For agents to successfully interact, they require abilities to cooperate, coordinate, and negotiate, similar to how humans interact. The document provides examples of autonomous systems and discusses views of the multi-agent systems field, including using agents as a paradigm for software engineering and as a tool to understand human societies.