What is an AI Agent?
Computer scientists have been studying agents based on various technologies such as control theory, rule engines, reinforcement learning, and deep learning for many years. And today we have an increased interest in LLM based agents.
Turns out that defining what an agent might be trickier than you expect. Wikipedia covers several different types of agents including intelligent agent, software agent, and autonomous agent. The article on autonomous agents includes a definition from Pattie Maes that seems appropriate "Autonomous agents are computational systems that inhabit some complex dynamic environment, sense and act autonomously in this environment, and by doing so realize a set of goals or tasks for which they are designed."
Borrowing from that, what we currently mean by an agent is a software program that has agency and exhibits advanced learning and reasoning capabilities in a complex world.
By agency we mean that it has goal directed behavior and the ability to make decisions and affect the world outside of itself. It wants to achieve a goal and has some actions it can take. But we might say that a thermostat program wants to keep a room a certain temperature and can adjust the HVAC system.
By learning we mean that it can remember various conditions and adapt to its environment. But a smart thermostat app can learn how long it takes the heat to arrive in a room so can adjust when it turns the furnace on.
And in this context reasoning typically means developing a plan, breaking a goal into subgoals, to achieve a goal. Reasoning may be the key difference. The intelligent thermostat app typically does not (yet?) develop novel plans to solve the goal of maintaining a temperature. In a sense (re)program itself to achieve a goal. Though I suppose one day we may have thermostats that need to develop strategies to manage and balance solar generation, battery charging, predicting hyper-local weather, maximizing comfort, buying and selling credits on an energy market, targeting a cost budget, etc.
More likely we'll have software agents that develop those strategies to be programmed more explicitly into thermostat software.
Coming back to text based systems we can see that LLMs have some interesting abilities when it comes to creating autonomous AI agents including, 1) their skill with language and ability to communicate with humans, 2) our ability to create short and long memory systems with semantic compression to maximize their context window, and 3) their ability to gather information and affect the outside world through tools/APIs.
I believe there will be exciting developments in this area and look forward to learning and writing about it more. Let me know what you think and are interested in.