molmoweb-eval
MolmoWeb: Open Visual Web Agent and Open Data for the Open Web — Gupta et al. (2026) (arXiv:2604.08516, 2026)
What this evaluates
Evaluates the capability of vision-language web agents to navigate live websites and complete complex, multi-step tasks using only screenshot inputs. It probes GUI perception, action grounding, and long-horizon planning under real-world web constraints.
Datasets
- WebVoyager — total ?; splits: test (-1)
- Online-Mind2Web — total ?; splits: test (-1)
- DeepShop — total ?; splits: test (-1)
- WebTailBench — total ?; splits: test (-1)
- ScreenSpot — total ?; splits: test (-1)
- ScreenSpot v2 — total ?; splits: test (-1)
Metrics
pass@k accuracy (primary) — range: [0, 1]
- Estimates the probability that at least one of k independent rollouts succeeds. Computed as 1 - binom(m-c, k) / binom(m, k), where m is the number of collected rollouts per task and c is the number of successful rollouts.
task success rate — range: [0, 1]
- Binary success indicator per task (1 if completed within max steps and retry budget, 0 otherwise). Reported as average across 3-5 runs.
Input / output format
Input: Screenshot of the current webpage state and the natural language task instruction.
Output: Sequential actions (e.g., click coordinates, scroll commands, text input) or final answer text.
Scoring recipe
def compute_pass_k(successes, k, m=5):
c = sum(successes)
if c == m:
return 1.0
if m - c >= k:
return 0.0
from math import comb
return 1.0 - comb(m - c, k) / comb(m, k)
# Per task
successes = [judge.evaluate(rollout) for rollout in rollouts]
pass_k = compute_pass_k(successes, k)
# Aggregate
mean_pass_k = sum(pass_k for task in tasks) / len(tasks)
Common pitfalls
- Time-sensitive tasks require date patching to avoid failures; unpatched dates cause immediate task failure.
- LLM-as-a-judge variability affects cross-benchmark comparability, especially when judges differ across benchmarks.
- Step limits (30 vs 100) and retry budgets (10) significantly impact reported scores and must be strictly enforced.
Evidence (verbatim from paper)
Because some tasks are time-sensitive, we change dates in outdated requests (e.g., find a flight on August 5, 2025) to be meaningful for the task across all benchmarks. For each benchmark and model, we run 3-5 evaluations up to 100 steps and report the average score across runs. If a model does not complete the task by the maximum number of steps, it is considered a failure. As environment errors occasionally occur, we allow up to 10 retries per trajectory; tasks that do not complete within this budget are also marked as failures. ... To get an unbiased, low variance estimate of pass@k, we collect m>k rollouts per task and compute the estimate: pass@k = 1 - binom(m-c, k)/binom(m, k), where c is the number of successful rollouts among the m attempts.
Citation
@misc{gupta2026molmoweb,
title={MolmoWeb: Open Visual Web Agent and Open Data for the Open Web},
author={Gupta et al. (2026)},
year={2026},
note={arXiv:2604.08516}
}
1---2name: molmoweb-eval3description: Evaluates the capability of vision-language web agents to navigate live websites and complete complex, multi-step tasks using only screenshot inputs. It probes GUI perception, action grounding, and long-horizon planning under real-world web constraints. Use when the user wants to benchmark on WebVoyager, Online-Mind2Web, DeepShop, WebTailBench, ScreenSpot, ScreenSpot v2, or asks about evaluating this task. Reports pass@k accuracy.4---56# molmoweb-eval78> MolmoWeb: Open Visual Web Agent and Open Data for the Open Web — Gupta et al. (2026) (arXiv:2604.08516, 2026)910## What this evaluates1112Evaluates the capability of vision-language web agents to navigate live websites and complete complex, multi-step tasks using only screenshot inputs. It probes GUI perception, action grounding, and long-horizon planning under real-world web constraints.1314## Datasets1516- **WebVoyager** — total ?; splits: test (-1)17- **Online-Mind2Web** — total ?; splits: test (-1)18- **DeepShop** — total ?; splits: test (-1)19- **WebTailBench** — total ?; splits: test (-1)20- **ScreenSpot** — total ?; splits: test (-1)21- **ScreenSpot v2** — total ?; splits: test (-1)2223## Metrics2425- `pass@k accuracy` **(primary)** — range: [0, 1]26 - Estimates the probability that at least one of k independent rollouts succeeds. Computed as 1 - binom(m-c, k) / binom(m, k), where m is the number of collected rollouts per task and c is the number of successful rollouts.27- `task success rate` — range: [0, 1]28 - Binary success indicator per task (1 if completed within max steps and retry budget, 0 otherwise). Reported as average across 3-5 runs.2930## Input / output format3132**Input**: Screenshot of the current webpage state and the natural language task instruction.3334**Output**: Sequential actions (e.g., click coordinates, scroll commands, text input) or final answer text.3536## Scoring recipe3738```python39def compute_pass_k(successes, k, m=5):40 c = sum(successes)41 if c == m:42 return 1.043 if m - c >= k:44 return 0.045 from math import comb46 return 1.0 - comb(m - c, k) / comb(m, k)4748# Per task49successes = [judge.evaluate(rollout) for rollout in rollouts]50pass_k = compute_pass_k(successes, k)51# Aggregate52mean_pass_k = sum(pass_k for task in tasks) / len(tasks)53```5455## Common pitfalls5657- Time-sensitive tasks require date patching to avoid failures; unpatched dates cause immediate task failure.58- LLM-as-a-judge variability affects cross-benchmark comparability, especially when judges differ across benchmarks.59- Step limits (30 vs 100) and retry budgets (10) significantly impact reported scores and must be strictly enforced.6061## Evidence (verbatim from paper)6263> Because some tasks are time-sensitive, we change dates in outdated requests (e.g., find a flight on August 5, 2025) to be meaningful for the task across all benchmarks. For each benchmark and model, we run 3-5 evaluations up to 100 steps and report the average score across runs. If a model does not complete the task by the maximum number of steps, it is considered a failure. As environment errors occasionally occur, we allow up to 10 retries per trajectory; tasks that do not complete within this budget are also marked as failures. ... To get an unbiased, low variance estimate of pass@k, we collect m>k rollouts per task and compute the estimate: pass@k = 1 - binom(m-c, k)/binom(m, k), where c is the number of successful rollouts among the m attempts.6465## Citation6667```bibtex68@misc{gupta2026molmoweb,69 title={MolmoWeb: Open Visual Web Agent and Open Data for the Open Web},70 author={Gupta et al. (2026)},71 year={2026},72 note={arXiv:2604.08516}73}74```7576- arXiv: 2604.08516