What an AI Agent Is

"Agent" has become one of the most overused and least precise words in AI — applied to everything from a chatbot with a system prompt to a fully autonomous system that writes and ships code. Cutting through the hype requires a clear definition: an agent is a system where an LLM decides its own actions in a loop, using tools, until a goal is met. That one distinction — the model choosing what to do next, rather than following a fixed script — is what separates a genuine agent from a workflow, and it's where both the power and the difficulty come from.

This series is a framework-agnostic guide to AI agent design patterns — the recurring architectural patterns for building agents with LLMs, independent of any specific framework. (The blog has framework-specific series too — LangGraph, Microsoft Agent Framework, Google ADK, smolagents — this one is about the patterns beneath them all.) This first post defines what an agent actually is, distinguishes agentic from non-agentic systems, covers the core components, and — crucially — when to use agents and when not to. It sets the foundation for the patterns that follow.

What an agent is

An AI agent (in the LLM sense) is a system where an LLM decides its own actions in a loop to accomplish a goal — rather than following a fixed, pre-programmed sequence. The defining characteristic:

So an AI agent is an LLM that, in a loop, decides and takes actions (via tools) to accomplish a goal — with the model directing the control flow. This “model decides its own actions” property is the crux of what makes something an agent, and it’s what distinguishes agents from fixed workflows. That distinction is worth dwelling on, because it clarifies a lot of confused “agent” talk.

Agentic vs non-agentic

The key distinction — and a source of much confusion — is between agentic systems (the model decides the flow) and non-agentic ones (a fixed flow), often framed as agents vs workflows:

The agentic/non-agentic (agent/workflow) distinction — does the model decide the flow, or is it fixed? — is the clarifying lens for “agent” talk. It matters practically because the two have very different tradeoffs (below): agents are more flexible but less predictable, workflows more reliable but rigid. Knowing which you’re building (and which you need) is a key early decision.

The components of an agent

Beyond the loop, agents are built from a few core components — which map to the rest of the series:

   Agent = LLM (brain) + Tools (hands) + Loop (control) + Memory (state)
           [+ planning, reflection for harder tasks]
   The LLM decides, in the loop, which tools to use, using memory, until the goal is met.

These components — LLM, tools, loop, memory (plus planning and reflection) — are the building blocks of agents, and the series covers each as a design-pattern area. Understanding an agent as this composition (a deciding LLM, acting via tools, in a loop, with memory) frames the patterns that follow. But before building agents, the most important question is whether to.

When to use agents (and when not to)

A crucial, often-skipped point: agents are not always the right choice — their flexibility comes at the cost of reliability, cost, and complexity, so use them judiciously:

An AI agent is an LLM that decides its own actions in a loop, using tools, to accomplish a goal — with the model directing the flow (the agentic/workflow distinction) — built from an LLM, tools, a loop, and memory. Crucially, agents trade reliability and cost for flexibility, so use them only when that flexibility is genuinely needed (not by default). Next: the core agent loop — the fundamental reason-act-observe cycle at an agent’s heart.

Key takeaways

Further reading

Sources & References

The agent concept