Skip to content

How an agent navigates the web

Search, read, cross-check, start again. What a browsing agent does looks like what you do, and fails in the same places.

Advertisement
The difference from a simple search 🔍
When an AI answers by citing sources, it usually fires off one or two queries and writes from the snippets it gets back. A browsing agent does something else: it searches, reads, finds that this isn't enough, rephrases, searches elsewhere, cross-checks, and starts again until it finds something or gives up. It's a loop, not an answer.

This morning we reported on an open model beating a frontier model on this type of task. Here is what that skill covers.

The loop, step by step

Decompose. The agent turns your question into sub-questions. Finding "which city was the person born in who led such-and-such a project in 1987" first means identifying the person, then looking up their biography. This decomposition is the first skill, and it is often where everything falls apart.

Search. Each sub-question becomes a query. The wording determines what gets found, as we explained in our article on web search.

Evaluate. The agent judges whether what it received answers the question or not. This is the hardest skill, because it means recognising that you haven't found it — exactly what these systems do badly, as we set out in relation to calibration.

Persevere or give up. If it didn't work, rephrase and start again. How many times, with how much patience, before giving up: that parameter is what separates a good agent from a bad one.

Why it's difficult

Three obstacles explain the gaps between models on this type of task.

The accumulation of context. At every turn, the agent adds what it has read. After fifteen pages, its context is saturated with material most of which is useless. Managing that memory — summarising, forgetting, ranking — is a skill in itself, and it is largely the harness that provides it.

Premature giving up. An agent that quits after three attempts fails at everything that requires perseverance. An agent that never gives up consumes endlessly.

False satisfaction. The worst case isn't failure, it's the agent that finds plausible information and stops. It returns a confident, wrong answer, with nothing to signal that it didn't really search.

The cost, which you discover on the bill 💰
A browsing loop consumes an enormous amount. Every page read enters the context, every turn re-reads everything that came before. A question requiring twenty turns can cost a hundred times a simple query. This is exactly why the drop in cache pricing matters so much for this type of use, and why providers are tightening their quotas. An agent left running unsupervised is the first expense line to examine.

How to use it well

Give it a stopping criterion. Saying what would constitute a satisfactory answer — a primary source, a precise date, confirmation from two sources — avoids both premature giving up and the infinite loop.

Ask for the path taken. An agent that sets out what it searched for and what it discarded produces a verifiable answer. That is the criterion we proposed in our article on good decisions: what matters is being able to reconstruct what the result rests on.

Accept "I didn't find it". It's a good answer, and you have to authorise it explicitly, failing which the system will produce something rather than nothing.

Check the sources that matter. A displayed link doesn't guarantee that the claim comes from that page.

What to take away

A browsing agent does what a researcher does: decompose, search, evaluate, cross-check, persevere. It does so faster and without tiring, and it fails in exactly the places where a distracted human would fail — by settling for the first thing that looks like an answer.

Which is why the most useful skill to pass on to it isn't the question, it's the satisfaction criterion. Tell it what a good answer would look like, and it will search until it gets there.

Advertisement