The model decides, the agent acts
Each step of a run is a loop. The model looks at the page, picks the element and the action that move the goal forward, and the agent performs that action in the browser. The page changes, and the model reads it again.
The split exists because operating a website is an execution job, not a reasoning job. A general-purpose model can plan almost anything, but on a live site the hard part is narrower and repeats every step: find the right control on a page that changed last week, act on it, check what happened, and do it again dozens of times without losing track. The model inside TinyAgent is built only for that job. It reads the page as meaning, not as raw HTML or pixels, so each step carries what that step needs instead of the whole page.
TinyAgent isn’t a general-purpose chatbot with a browser attached. Keep using the assistant or agent you already have for conversation and planning, and hand TinyAgent the work that has to happen on a website: logging in, filling forms, paging through results, and extracting data.
One run, step by step
The quick start sends TinyAgent tohttps://scrapeme.live/shop with the goal “Extract the first 2 product names and prices.” When you stream the run, each event maps to part of the loop above.
To see the decisions as they happen, print each
PROGRESS event’s purpose:
Python
linear.app/pricing with the goal “Extract all pricing plan details from this page including plan name, monthly price, and what’s included” and an output schema. It took 5 steps and 47 seconds.
The model named every step itself, from what it saw on the page at that moment. Nothing in the goal told it to navigate first or to extract twice.
How it connects
Everything else in TinyAgent shapes this loop: what the model works toward, how long it may keep going, and what comes back.Related
Runs
Run lifecycle, statuses, and what COMPLETED means
Agent Mode, Max Steps, and Max Duration
Default vs Strict mode, step and time limits
Configure Agent Mode and Max Steps
Set the limits that bound the loop
Endpoints
Request schema and stream event types