Definition

An agent is an LLM placed in a loop: it reasons, takes an action in an environment (call a tool, browse, run code), observes the result and decides what to do next, towards a goal. A workflow instead runs LLM calls along predefined code paths.

flowchart LR
  L["LLM: reason"] --> A["Action: tool, browser, code"] --> E["Environment: observation"] --> L

Capability arc: chain-of-thought (emergent at ~100B) → ReAct (Thought → Action → Observation) → tool use (Toolformer, ToolLLM, CodeAct) → deep research → coding agents (SWE-bench, Codex) → web and computer use (WebArena, OSWorld) → MCP and Skills. The biggest gains come from grounding in an environment with ground truth; the same loop that makes agents useful makes them exploitable.

Appears in