What actually makes something an agent

"Agentic" gets applied loosely, but the useful definition is narrow: a system is agentic when something in the loop provides genuine runtime judgment -- deciding what to do next based on the current state, not just executing a fixed sequence of steps written in advance. That judgment doesn't have to come from an LLM. A search algorithm, a rules engine whose rules change independently of the code, or a scheduler reacting to live capacity can all be "agentic" in this sense. Calling a fixed, deterministic pipeline agentic just because it happens to call an LLM somewhere inside it adds vocabulary without adding capability.

This distinction matters practically because agentic systems are harder to test, debug, and bound in cost -- an agent's total spend is steps × tokens × price-per-token, and all three multiply rather than add, so a small increase in average steps-per-task can blow up a budget in a way a fixed pipeline never would. Reach for agentic architecture because the task genuinely requires runtime decisions that can't be enumerated in advance, not because it demos well.