Source URL: https://simonwillison.net/2025/Sep/18/agents/
Source: Simon Willison’s Weblog
Title: I think "agent" may finally have a widely enough agreed upon definition to be useful jargon now
Feedly Summary: I’ve noticed something interesting over the past few weeks: I’ve started using the term “agent" in conversations where I don’t feel the need to then define it, roll my eyes or wrap it in scare quotes.
This is a big piece of personal character development for me!
Moving forward, when I talk about agents I’m going to use this:
An LLM agent runs tools in a loop to achieve a goal.
I’ve been very hesitant to use the term "agent" for meaningful communication over the last couple of years. It felt to me like the ultimate in buzzword bingo – everyone was talking about agents, but if you quizzed them everyone seemed to hold a different mental model of what they actually were.
I even started collecting definitions in my agent-definitions tag, including crowdsourcing 211 definitions on Twitter and attempting to summarize and group them with Gemini (I got 13 groups).
Jargon terms are only useful if you can be confident that the people you are talking to share the same definition! If they don’t then communication becomes less effective – you can waste time passionately discussing entirely different concepts.
It turns out this is not a new problem. In 1994’s Intelligent Agents: Theory and Practice Michael Wooldridge wrote:
Carl Hewitt recently remarked that the question what is an agent? is embarrassing for the agent-based computing community in just the same way that the question what is intelligence? is embarrassing for the mainstream AI community. The problem is that although the term is widely used, by many people working in closely related areas, it defies attempts to produce a single universally accepted definition.
So long as agents lack a commonly shared definition, using the term reduces rather than increases the clarity of a conversation.
In the AI engineering space I think we may finally have settled on a widely enough accepted definition that we can now have productive conversations about them.
Tools in a loop to achieve a goal
An LLM agent runs tools in a loop to achieve a goal. Let’s break that down.
The "tools in a loop" definition has been popular for a while – Anthropic in particular have settled on that one. This is the pattern baked into many LLM APIs as tools or function calls – the LLM is given the ability to request actions to be executed by its harness, and the outcome of those tools is fed back into the model so it can continue to reason through and solve the given problem.
"To achieve a goal" reflects that these are not infinite loops – there is a stopping condition.
I debated whether to specify "… a goal set by a user". I decided that’s not a necessary part of this definition: we already have sub-agent patterns where another LLM sets the goal (see Claude Code and Claude Research).
There remains an almost unlimited set of alternative definitions: if you talk to people outside of the technical field of building with LLMs you’re still likely to encounter travel agent analogies or employee replacements or excitable use of the word "autonomous". In those contexts it’s important to clarify the definition they are using in order to have a productive conversation.
But from now on, if a technical implementer tells me they are building an "agent" I’m going to assume they mean they are wiring up tools to an LLM in order to achieve goals using those tools in a bounded loop.
Some people might insist that agents have a memory. The "tools in a loop" model has a fundamental form of memory baked in: those tool calls are constructed as part of a conversation with the model, and the previous steps in that conversation provide short-term memory that’s essential for achieving the current specified goal.
If you want long-term memory the most promising way to implement it is with an extra set of tools!
Agents as human replacements is my least favorite definition
If you talk to non-technical business folk you may encounter a depressingly common alternative definition: agents as replacements for human staff. This often takes the form of "customer support agents", but you’ll also see cases where people assume that there should be marketing agents, sales agents, accounting agents and more.
If someone surveys Fortune 500s about their "agent strategy" there’s a good chance that’s what is being implied. Good luck getting a clear, distinct answer from them to the question "what is an agent?" though!
This category of agent remains science fiction. If your agent strategy is to replace your human staff with some fuzzily defined AI system (most likely a system prompt and a collection of tools under the hood) you’re going to end up sorely disappointed.
That’s because there’s one key feature that remains unique to human staff: accountability. A human can take responsibility for its action and learn from its mistakes. Putting an AI agent on a performance improvement plan makes no sense at all!
Amusingly enough, humans also have agency. They can form their own goals and intentions and act autonomously to achieve them – while taking accountability for those decisions. Despite the name, AI agents can do nothing of the sort.
This legendary 1979 IBM training slide says everything we need to know:
OpenAI need to get their story straight
The single biggest source of agent definition confusion I’m aware of is OpenAI themselves.
OpenAI CEO Sam Altman is fond of calling agents "AI systems that can do work for you independently".
Back in July OpenAI launched a product feature called "ChatGPT agent" which is actually a browser automation system – toggle that option on in ChatGPT and it can launch a real web browser and use it to interact with web pages directly.
And in March OpenAI launched an Agents SDK with libraries in Python (openai-agents) and JavaScript (@openai/agents). This one is a much closer fit to the "tools in a loop" idea.
It may be too late for OpenAI to unify their definitions at this point. I’m going to ignore their various other definitions and stick with tools in a loop!
Tags: ai, generative-ai, llms, ai-agents, agent-definitions
AI Summary and Description: Yes
Summary: The text discusses the evolving understanding and usage of the term “agent” in relation to large language models (LLMs) and AI. It highlights the need for a clear and commonly accepted definition to facilitate effective communication among professionals in the AI space. The author proposes a definition of an LLM agent as one that runs tools in a loop to achieve a goal, emphasizing the importance of clarity and the potential misconceptions associated with the term.
Detailed Description:
The text delves into the concept of “agents” in the context of AI and large language models, reflecting on the author’s personal journey in defining and using this term. Here are the major points covered in the discussion:
– **Evolving Definition**:
– The author has transitioned from being skeptical of the term “agent” to a clear understanding and definition:
– **”An LLM agent runs tools in a loop to achieve a goal.”** This definition aims to delineate what constitutes an agent within AI systems.
– **Communication Challenges**:
– There is a significant challenge in the AI community regarding the varying interpretations of agents, often leading to ineffective communication.
– The author references historical insights from Michael Wooldridge’s 1994 work to illustrate the ongoing struggle for a universally accepted definition.
– **The Importance of Clarity**:
– Effective communication hinges on shared definitions; without them, discussions can lead to misunderstandings and inefficiencies.
– The author demonstrates an awareness of this issue, stating that jargon only adds clarity when uniformly understood.
– **Technical and Non-Technical Perspectives**:
– The author contrasts the technical definition of agents with commonly held misconceptions in business contexts, where agents are often viewed as human replacements.
– There’s a recognition that terms like “customer support agents” can invoke differing meanings that stray from their technical roots.
– **Accountability of Human vs. AI Agents**:
– A fundamental difference is noted: humans possess agency and accountability, whereas AI agents do not.
– This distinction is crucial, especially in discussions related to the deployment of AI within organizations.
– **OpenAI’s Role in Definition Confusion**:
– The author critiques OpenAI’s inconsistent use of the term “agent,” which has contributed to the confusion.
– Two examples are highlighted: a browser automation feature and an SDK for building agents that align more closely with the author’s definition.
– **Future Direction**:
– The author expresses a desire to solidify the definition of “agent” as “tools in a loop,” moving beyond the ambiguous and often misleading interpretations that proliferate the AI space.
Key Insights for Professionals in Security and Compliance:
– A clear and shared understanding of terms within the AI domain is vital not just for effective communication but also for articulating security and compliance needs.
– Misunderstandings around terminology can lead to misconfigured systems, compliance failures, or inadequate security measures if teams do not align on definitions.
– Professionals should advocate for standardized language within their organizations and across the industry to mitigate potential risks stemming from ambiguity in AI and agent deployment.