"Agents" are the buzzword of 2026. Cutting the hype: an agent is an LLM given tools and a loop — it can decide to take actions, see the results, and continue until a goal is met.
From chatbot to agent
A plain LLM only outputs text. An agent can call functions: search the web, query a database, run code, send an email. You describe the available tools; the model chooses which to call and with what arguments.
User: "What's the weather in Chennai and should I carry an umbrella?"
Agent reasons: I need current weather → call get_weather("Chennai")
Tool returns: { rain: true, temp: 29 }
Agent reasons: It's raining → answer accordingly
Agent replies: "It's 29°C and raining in Chennai — yes, carry an umbrella."The reason–act loop (ReAct)
loop: THINK — what do I need to do next? ACT — call a tool OBSERVE— read the tool's result repeat until the goal is met, then ANSWER
Function calling — how it actually works
Modern APIs (Claude, OpenAI) support tool use: you pass JSON schemas of your functions; the model returns a structured request to call one; your code runs it and passes the result back. The model never runs code itself — your app does, which keeps it safe.
The honest take
- Great for: multi-step tasks needing live data or actions — research, coding assistants, workflow automation.
- Overkill for: single-shot tasks a plain prompt or RAG handles. Agents add latency, cost and unpredictability.
Start simple; add agentic loops only when a task genuinely needs multiple dynamic steps.