Vercel AI SDK 6's Agent Is Really Just a while Loop
A hands-on breakdown of how AI SDK 6's ToolLoopAgent and stopWhen actually control the agent loop, tested with a deterministic mock model.
Vercel's AI SDK 6 is marketed around an 'agent framework,' centered on a new ToolLoopAgent class. Without ever touching a real model API, the author isolates the mechanics by feeding a deterministic mock model into both generateText and ToolLoopAgent to see what 'agent' actually means as control flow. The finding is refreshingly mundane: generateText stops right after a single tool call by default, discarding the tool result and returning an empty response, unless the stopWhen option is explicitly passed to re-invoke the model with the tool's output appended to the conversation.
ToolLoopAgent simply wraps this same loop with a default cap of stepCountIs(20), meaning it will silently call the model up to twenty times even if you never configure stopWhen. That default is both a safety net against infinite loops and an implicit cost ceiling engineers should be aware of. The piece also shows that tool execution errors don't crash the loop — they're captured as a 'tool-error' and fed back to the model, which then attempts to recover on its own, a self-healing design that can also mask cost-inflating failures if left unmonitored.
The practical takeaway is that despite the 'agent' branding, AI SDK 6's core mechanism is an ordinary while loop gated by a termination condition (stopWhen). Understanding its default step limits and error-handling behavior is essential before shipping it to production, where unnoticed retries or step counts can translate directly into unexpected API costs.