What's the difference between tool calling and an agent?
Tool calling is one capability a model has; an agent is the loop built around using that capability repeatedly until a task is done. A single tool call, picking a function, filling its arguments, reading what comes back, can happen inside one request with no loop at all: a chatbot that looks up today’s weather and answers is tool calling without being an agent. An agent wraps that call in a cycle: call a tool, read the result, decide what to do next, call another tool or stop, and repeat until the task finishes or the agent gives up. What makes something an agent isn’t that it uses tools, it’s that the model itself decides what happens next, run after run, rather than code that calls the model once and moves on. A system can call tools without being agentic, and an agent could in principle reason through a task with no tools at all, though almost none worth building do.