A Concrete Definition of an AI Agent
Source: Caleb Sponheim; Nielsen Norman Group article · 2026-04-03
The word "agent" is being applied to everything. There are agents in your phone, your company Slack, your Notion, and your banking app. There are agents sending hate mail and deleting email inboxes. "Agent" has become a diffuse, ambiguous term that means everything and nothing.
This is a problem. Without a clear definition, practitioners can't evaluate what they're working with or decide whether to trust it. Marketing, sales, engineering, product, and leadership each have a separate definition of what an "AI Agent" is supposed to be. Some of these definitions are grounded in real-world use cases, but most of them float amidst hype and hope. Instead, we at NN/G offer a concrete definition that helps UX professionals design better experiences for their users.
An AI agent is a system that pursues a goal by iteratively taking actions, evaluating progress, and deciding its own next steps.
An AI agent works towards some end condition. The goal may be specific ("fix this failing test") or open-ended ("research competitors in the European market and summarize the findings"). What matters is that the agent has a target to work towards: something that shapes which actions it takes and how it evaluates progress.
Agents build on their previous work, using the result of a previous step to make progress.
Agents act on their environment. Most current AI agents perform digital actions: searching the web, writing code, creating or editing documents, and updating databases. But the capability to act is not limited to the digital world. A self-driving car acts by steering, accelerating, and braking. A humanoid robot acts by manipulating physical objects. As AI agents expand into new domains, the range of possible actions will grow: from managing files to navigating physical spaces to operating equipment. In the agentic process, these actions are considered distinct steps from "thinking" or communicating to the user.
A key aspect of an agentic process is reviewing completed and remaining work. This is often done by comparing against a plan and task list.
AI agents determine the next set of actions that are needed to make progress towards the goal they are pursuing. In this way, AI agents are self-directed, and their path towards a goal is self-determined. This is in contrast to an LLM, which follows a single or a set of predetermined, rigid steps in a process.
Some definitions of agents emphasize additional properties: the ability to perceive an environment, adapt plans in response to unexpected challenges, or maintain memory of previous steps. These are real and important capabilities, but they are not required by our definition; they follow from it.
"Evaluating progress" encompasses perception. A coding agent that reads its own error logs is perceiving its environment; so is a self-driving car processing lidar data. The mechanism of perception varies, but the function (checking the state of things before deciding what to do next) is already part of the agent loop.
This does not mean that any system capable of self-reflection is an agent. An LLM that reflects on its own output is performing a form of evaluation, but evaluation alone is not enough. A system only qualifies as an agent when it also takes actions and decides its own next steps; no single piece of the definition is sufficient on its own.
Adaptation (changing plans when something goes wrong) is implicit in "deciding its own next steps." An agent that can decide its next step can, in principle, decide on a different next step when a previous one fails. Whether it does so reliably is a question of usefulness, not of identity. (More on this below.)
Memory across steps is implicit in "iteratively." An agent that builds on previous work must, by definition, retain some record of that work. How memory is implemented (context windows, external databases, file systems) varies by system, but the capacity to carry forward state is baked into the iterative loop.
We keep these properties implicit rather than listing them separately because doing so keeps the definition lean enough to be useful as a shared vocabulary. A definition that requires perception, adaptation, memory, self-direction, the capability to act, and iteration risks becoming a checklist that generates more disagreement than clarity.
If you ask a typical AI-based chatbot a question and it responds, you're using a large language model, not an agent. The LLM received your input, generated text, and stopped. There was no iteration, no action beyond producing a reply, and no self-directed next step.
An LLM is a reasoning engine. An agent is a system built around a reasoning engine. The distinction lies in what surrounds the model: tools it can use, actions it can take, and a loop that lets it evaluate its own work and decide what to do next. When an LLM is placed inside that loop (with access to tools like web search, file creation, or code execution) it can become the core of an agent. But the LLM alone is not the agent, just as an engine alone is not a car.
To make the distinction between agent and AI chatbot concrete, consider two real responses to the same request. A user asked an AI tool to log into Algolia (a search-analytics dashboard), download the most popular searches from the past month, and export the searches that returned zero results.
The chatbot understood the request. It knew what Algolia was, what the user wanted, and how to get there. But it stopped there. It described the steps and handed them back to the user. The AI agent attempted the work itself. It navigated to the dashboard, clicked into the Analytics view, tried to change the date range, failed, adjusted its approach, and tried again. Each of those steps was a decision the agent made based on what had happened so far. That cycle of acting, evaluating, and deciding what to do next is the difference between an AI tool that tells you how and an AI agent that tries to do it for you.
Lines of inquiry this paper opens 1
Research framings built by reading the notes related to this paper — the questions it feeds into.
When do complex LLM tasks benefit from external verification or structured scaffolding?