Assistant
Loop lives OUTSIDE the system.
Human drives each turn
humanwrite prompt
systemrespond / call 1 tool
humanread, decide next
humanwrite next prompt
↵ human decides when to stop
Agent
Loop lives INSIDE the system.
Agent drives the loop
humangive a goal
agentplan / pick tool
agentact, observe result
agentretry / stop, self-decide
↵ agent loops until goal met