A language model placed in a loop and given tools. It looks at the state of the task, picks an action, sees the result, and goes again until it judges the goal met or a stopping rule ends the run; the field's one-sentence version is that an agent runs tools in a loop to achieve a goal (Chapter 1). The defining property, distinguishing it from a workflow: the model, and no flowchart of yours, decides what happens next.