Agents are all the rage - and for good reason. While the concept of agents has existed for decades in traditional software engineering, the latest developments and breakthroughs in AI, with chatbots capable of complex and dynamic behaviors that don't require explicit programming, have pushed them back into the spotlight. But what exactly are agents?