What Makes a System 'Agentic'
An agent is an LLM given a goal, a set of tools, and the ability to run in a loop: observe the current state, decide on an action, execute it (usually via a tool call), and repeat until the goal is met or a stop condition is hit. This is different from a single-shot prompt-response call, where the model produces one output with no ability to act on the world or revise its plan based on results.
The defining architectural property is the loop — an agent's own tool outputs become part of its next input, letting it course-correct. A chatbot with function-calling that stops after one tool call is not yet agentic in the full sense; a system that keeps calling tools and reasoning over results until done is.
Assignment
Design a tool set for a single agentic task
Pick a real task you'd want an agent to handle end-to-end (e.g., 'triage and label incoming support tickets', 'review a pull request and leave comments'). List 3-5 tools you would give the agent, each with a one-line description as if writing the actual tool spec. For each tool, note whether its action is freely retryable or hard-to-reverse, and whether it should require human confirmation before executing. This exercise builds the habit of scoping tool permissions deliberately instead of defaulting to broad access.