Back to Feed
Agents / Benchmarks & Evals

Scaling Web Agents With Browser Sandboxes

Original: BrowserForge: Scaling Web Episode via Parallel Browser Sandboxes

Listen to the summary

Uses a voice available on your device

Audio options
On this page 5 sections
Related concepts 6 concepts

Key Takeaways

  • The BrowserForge corpus contains 203,238 trajectories collected from distinct websites.
  • Fine-tuning a compact multimodal model on this data improves Online-Mind2Web success rates from 25.66% to 33.33%.
  • Average step accuracy on the Multimodal-Mind2Web benchmark increases to 43.8% after training on the corpus.
  • The collected data proves competitive with significantly larger open-source web agent implementations.

Summary & Methodology Analysis

BrowserForge addresses the data bottleneck in training web agents by programmatically generating a vast repository of 203,238 navigation trajectories. The system draws candidate URLs from Common Crawl, a massive public web snapshot, to ensure high diversity across many millions of hosts. By orchestrating a cluster of parallel browser sandboxes, the system manages a high throughput of concurrent web interactions, which are then processed through a synthesis loop that plan, act, reflect, and verify task completion before formalizing the result into a consistent chain-of-thought format (a prompting strategy where the model breaks down complex reasoning into intermediate logical steps).

Interactive System Flowchart

Click diagram to expand and zoom

Illustrative Implementation

A short sketch of the paper's core idea, not the authors' own code.

# Illustrative sketch (not from the paper)
import os, json, requests, multiprocessing as mp
import torch.nn as nn

def load_urls(path):
    with open(path) as f:
        return [line.strip() for line in f if line.strip()]

def filter_reachable(urls):
    reachable = []
    for u in urls:
        try:
            r = requests.head(u, timeout=2)
            if r.status_code == 200:
                reachable.append(u)
        except:
            pass
    return reachable

def run_sandbox(url):
    task = proposer(url)
    traj = solver(task)
    return clean_trajectory(traj)

class Proposer(nn.Module):
    def forward(self, url):
        return {"action": "click", "target": "#start", "url": url}

proposer = Proposer()

def solver(task):
    return {"url": task.get("url", ""), "steps": [task]}

def clean_trajectory(traj):
    if not traj["steps"]:
        return None
    traj["thought"] = "executed task"
    return traj

if __name__ == "__main__":
    urls = filter_reachable(load_urls("common_crawl_urls.txt"))
    with mp.Pool(os.cpu_count()) as pool:
        results = pool.map(run_sandbox, urls[:100])  # demo subset
    with open("browserforge_corpus.json", "w") as f:
        json.dump([r for r in results if r], f)

Cross-Examination & FAQs

A deeper dive clarifying mechanics, constraints, and baseline evaluations.

Q1. What is the primary contribution of BrowserForge?

It provides a large-scale, diverse corpus of 203,238 web interaction trajectories for training better web agents.

Q2. Does this work improve agent performance on existing benchmarks?

Yes, fine-tuning compact multimodal models on the BrowserForge corpus raises success rates on Online-Mind2Web to 33.33% and improves Multimodal-Mind2Web step accuracy to 43.8%.

Q3. What is the source of the website data used?

The team sources URLs from Common Crawl, which is a large-scale, periodically refreshed snapshot of the public web spanning many millions of hosts.

Q4. What are the common failure modes for these agents?

The primary failures are unproductive repetitions including click loops, back-navigation loops, and trailing scrolls, which collectively account for 71% of failing trajectories.

Q5. How does the system handle website access restrictions?

Access blocking occurs in 9% of cases, such as CAPTCHAs or Cloudflare interstitials, which the agent correctly identifies but still results in a failure count.

Q6. What specific models were used in the evaluation?

The researchers utilized a compact multimodal model fine-tuned on the BrowserForge corpus to test performance against Online-Mind2Web and Multimodal-Mind2Web.

Q7. Is the BrowserForge corpus limited to a small set of domains?

No, the corpus consists of 203,238 trajectories, with each trajectory originating from a distinct website.

Q8. How does BrowserForge compare to other open-source agents?

The performance achieved by fine-tuning compact models on this corpus is reported as competitive with much larger open-source web agents.

Q9. What is the exact hardware configuration required for this pipeline?

The paper does not specify the hardware requirements for the browser sandbox orchestration.

Flag an issue

What is wrong with this summary?

What is wrong?