// Start simple · lesson 02
When do you actually need an agent?
Less often than the excitement suggests. A huge amount of what people reach for a multi-step agent to do is, underneath, one well-written model call with a clear instruction and maybe some retrieval. The agent is the exciting answer. It's frequently not the right one.
The moment you go from a single call to an agent, you take on a different class of thing entirely. Autonomy, loops, tool calls, state that persists across steps. Each of those is real capability and each is also failure surface, cost, and a debugging job that's an order of magnitude harder, because now the thing makes decisions between your input and its output and you have to be able to reconstruct why it made each one.
How do you tell the difference?
Ask what the task actually requires. If it's "take this input, produce that output," even a fuzzy one, that's a model call, and wrapping it in an agent buys you nothing but overhead. If it genuinely requires the system to decide its own next step based on what it finds, to loop until a condition is met, to use tools whose results it can't predict, then you have a real agent-shaped problem. Most tasks that feel agent-shaped at first are call-shaped once you look at what they truly need.
Anthropic makes exactly this point in their agent guidance: for many use cases a single optimized call with good context is the whole answer, and you should reach for an agent only when the problem's structure actually demands one. The framework is not the achievement. The working solution is.
The cost of guessing wrong
Build an agent for a call-shaped problem and you've signed up to maintain autonomy you didn't need, debug loops that only exist because you added them, and pay per-run costs for machinery that isn't earning. Build a call for an agent-shaped problem and it simply won't hold, which you'll find fast. The asymmetry favors starting with the call: it's cheaper to discover you need more than to discover you built too much.
The takeaway: most tasks that feel like they need an agent need a good model call, so start with the call and only graduate to an agent when the problem's structure genuinely demands one.