What is an agent really?
Agent is the buzzword of 2024.
But through that, the word has lost a lot of its meaning.
An agent can be everything nowadays. A chatbot with tools. A workflow that is using LLMs within its steps. Or a multi-chat “agent” that is trying to solve a problem.
It does not help you anymore to say “I’m building an agent”. You cannot tell a developer “Build an agent that does X”. The spectrum is too broad.
To me a true agent is something that can inspect the state, determine the best next action, execute it, and repeat it. It learns over time what works and what doesn’t and adapts its behavior.
This is very true to reinforcement learning.
A chatbot with tools is not an agent. It’s a powered up chatbot. Give Mario a Mushroom and he’s still Mario.
A workflow that is using LLMs within its steps is not an agent. It’s a workflow.
Beyond that, we get into a fuzzy area.
My favorite pattern is a workflow that uses LLMs to make control flow decisions. Is this an agent? I don’t think so. It is not taking in a feedback signal and learning over time without my intervention.
A multi-chat “agent” has the same kicker.
I think all these have levels of agency, but they are not agents. To be agents, they need to be able to learn over time without (or with minimal) human intervention.
I think chatbot with tools, workflows, and multi-chat are useful terms. But they do not have the same allure as “agent”.
I think we need to find new terms.
What terms do you think are useful but also make people dream?
More reading: