"Agent" is the most overloaded word in AI right now. Stripped of hype, an agent is simple to understand as a developer — and knowing when not to build one is half the skill.
The plain definition
An agent is a large language model running in a loop, able to use tools, keep memory, and decide the next step until a task is done. That is it. The intelligence is in the loop and the tools, not in magic.
Agent vs workflow
- A workflow has fixed steps you control: do A, then B, then C.
- An agent decides the steps itself at runtime based on results.
Agents are powerful but harder to make reliable. Most "agent" problems are solved better by a workflow with one or two LLM calls. Reach for a full agent only when the path genuinely can't be predetermined.
The core components
- Tools — functions the model can call (search, database, code execution).
- Memory — short-term (the current task) and long-term (across sessions).
- Control — the loop, plus guardrails, retries, and stopping conditions.
- Evals — because autonomous systems fail in more ways, you must measure them.
A minimal mental model
loop:
thought = llm(context + tools)
if thought.wants_tool: result = run_tool(thought.tool)
else: return thought.answer
context += result
When it's worth it
Use agentic patterns for open-ended research, multi-step tool use, and tasks with branching decisions. Keep it a workflow for anything you can script. Either way, add evals and observability before you trust it.
Ready to build? Start with a production RAG service, then layer tools on top. The full path is on the roadmap.