Back to Blog

Improving the state of the art in agentic browsing

TL;DR: Browser Agent is a new, open source harness to automate any task on the web, and scores state of the art results on browser benchmarks.

If you want to automate tasks on the web with browser agents, there exists two types:

  1. The “dedicated harness” approach (browser-use)
  2. The “thin coding agent wrapper” approach (e.g. using the Browser plugin in Codex, or Browser Code)

Approach number 1 implements an agent from the ground up, using custom tool calls that wrap Chrome DevTools Protocol (CDP) functionality. Browser-use is the most popular example of that – 100k+ stars on github – but scores really low on BU Bench v1 (31% with GPT 5.6 luna).

Approach number 2 leverages the models’ RL training by treating web browsing as a coding problem. BrowserCode scores 78% on Bu Bench v1 but consumes 100M input tokens and costs $8.34 to complete 100 tasks. It was also pretty slow: the aggregate benchmark duration was ~13 hours.

That seemed really inefficient, so Denis and I built a dedicated browser agent harness called Browser Agent, that outperforms BrowserCode and BrowserUse on their own benchmark (BU Bench v1), as well as our own (BrowseWebApp bench):

Browser Agent and Browser Code benchmark comparison
BU Bench v1BrowseWebApp bench
HarnessBrowser Agent (ours)Browser CodeBrowser Agent (ours)Browser Code
Success rate88%78%76%64%
Duration (seconds)32,69447,97015,65332,036
Cost$5.37$8.34$3.73$7.45
Successful tasks / $16.409.3618.778.86

The key was to:

  • Include a compact representation of the current browser’s full page at every step, unlike in BrowserCode where the model has to discover the page blindly with native CDP calls
  • Expose a set of browsing primitives as tools that cover a majority of browsing cases
  • Encouraging the model to keep on working through checklists and verifier loops
  • Construct compact trajectories on every step to save on input tokens while maximising caching

For browser agents to become ubiquitous, they need to be faster, cheaper, and more reliable. There are two paths forward:

  • Wait for frontier labs to deliver stronger models with better token economics
  • Fine-tune smaller, open models specifically for browser automation

Our BrowserAgent harness produces higher quality trajectories, while using up to 91% fewer tokens, substantially lowering VRAM and compute requirements at training time.

Tokens used by Browser Agent and Browser Code
HarnessNumber of tokens used on BU Bench v1Number of tokens used on BrowseWebApp bench
Browser Agent36M20M
Browser Code208M226M

Shorter trajectories also reduce the risk of context rot, which smaller models are particularly susceptible to. This makes our well-optimized harness a compelling foundation for fine-tuning efficient models that can run on consumer devices or inexpensive GPUs.

But why bother training a model when future models by frontier labs are almost guaranteed to offer better performance on all axes that matter?

In contrast to long running coding agents, browser agents generate in bursts, and the model spends little time generating reasoning/output tokens:

Browser Agent median tokens per step
MetricBrowser Agent
Median reasoning tokens per step30
Median non-reasoning output tokens per step48

Because browser agent inference is brief and intermittent, small specialized models could serve each step with low latency and minimal GPU utilization time. This makes per-task pricing viable, offering users cheaper, more predictable costs and giving the operator a counter-positioning advantage over frontier labs pricing their models by token usage.

We encourage anyone with a GPU infrastructure to use our harness to fine tune small models, and push the frontier of agentic browsing.