So there is no "correct" definition even to this day - and that vagueness makes the term difficult to have useful conversations around.
I've settled on "LLM making tool calls in a loop to achieve a goal", which I think is broad enough to cover what many people are talking about these days while being narrow enough to be useful.
On that basis Claude Code and OpenClaw are both examples of agents - they run tools and can loop until they've achieved the goal set for them by their user.
So there is no "correct" definition even to this day - and that vagueness makes the term difficult to have useful conversations around.
I've settled on "LLM making tool calls in a loop to achieve a goal", which I think is broad enough to cover what many people are talking about these days while being narrow enough to be useful.
On that basis Claude Code and OpenClaw are both examples of agents - they run tools and can loop until they've achieved the goal set for them by their user.