AI Agents Explained: Types, Uses & How to Build One