Research
WebFovea: When the Model Is Right but the Click Is Wrong -- Reliable Round Trips for Vision-Based Web Agents on Live Websites
Overview Research area: Vision-based web agents and the design of the agent harness (the code between a multimodal language model and the browser) on live websites. Technical level: Intermediate. The

- arXiv
- 2610.03036
- Published
- 2026-10-02
- Authors
- Jiangang Han
AI summary
Overview
Research area: Vision-based web agents and the design of the agent harness (the code between a multimodal language model and the browser) on live websites.
Technical level: Intermediate. The paper presents a new conceptual framework and engineering results rather than new model architectures or training methods, and it explains each mechanism in plain terms.
Scope (one sentence): The paper argues that failures of vision-based web agents on live sites often occur in the four stages that carry a model's decision to the page and back — parsing, execution, feedback, and observation — and documents how hardening those stages raised one agent's WebRetriever Challenge 2026 score from 31.0 to 57.0 out of 100 with the model held fixed.
What This Paper Is About
Capable multimodal models are necessary for web agents but not sufficient: on live websites, a model can decide the right action and still fail because its decision never reaches the page correctly, or because the page's reaction never reaches the model. The paper builds WebFovea, an agent that treats every step as a round trip through four stages (parsing, execution, feedback, observation), surrounded by guardrails, and shows that repairing those stages — not changing the model — accounted for its score improvements on the WebRetriever Challenge 2026, where it placed 2nd.
Key Contributions
-
A four-stage diagnostic framework. Each step is described as a round trip: the model's reply is parsed into an action, the action is executed on the page, the page's reaction is reported back as feedback, and the next view shows the model what it needs as observation. Guardrails bound the loop and decide which round trips are allowed and how many. The authors present this as a model-agnostic checklist for locating where a failure actually broke.
-
WebFovea, an agent built on that view, which placed 2nd in the WebRetriever Challenge 2026 with a final score of 57.0 out of 100. Across four official submissions, harness changes raised its hidden-set score from 31.0 to 57.0, and the organizers' manual review deducted no points from the final submission.
-
Evidence for each stage, including paired evaluations, case studies, and explicit negative results — components that were tried, found not to help, and reverted or capped.
-
Design principles, limitations, and a roadmap, including per-step routing to different models and the addition of classical computer-vision tools. The code is publicly available at https://github.com/jianganghan/WebFovea.
Main Findings
-
A coordinate-space mismatch moved every click. In the first full run, across 1,312 clicks, no click fell to the right of x=1440 or below y=810, and on two tasks the ratio between intended and clicked position was 4/3. A calibration experiment with six known markers showed the API downscaled the image before the model saw it: a 1920×1080 screenshot needed a correction factor of 1.324/1.350 in x/y, consistent with downscaling to about 1440×810, while a 1440×810 screenshot needed 1.010/0.993. After downscaling screenshots to at most 1440×810 and mapping by the runtime ratio of sent image to actual viewport, three targets previously missed by 122–189 px were hit within 1–5 px.
-
The coordinate fix produced the largest single paired gain reported. On a paired set of 24 dev tasks, success rose from 8/24 to 20/24 (12 fixed, 0 broken), and the share of tasks hitting the step limit fell from 67% to 4%. The authors note this version also included other changes, that the baseline could still take the
gotoshortcut (which inflated its score), and that the true gain is, if anything, larger. -
Self-generated chat-template tokens contaminated 4.9% of episodes. Of 305 task episodes run locally, 15 (4.9%) were contaminated; 12 of the 13 scorable contaminated episodes failed, with success at 7.7% for contaminated episodes versus 41.7% for clean ones. The comparison is observational, but an offline replay of all 7,705 recorded steps showed the stripping fix changed all 551 contaminated steps and none of the 7,154 clean ones.
-
Several actions failed silently for structural reasons. The reference prompt told the model to end a
typewith\nto submit, but its executor never pressed Enter — 79 of 356typecalls (22%) had that form. In 15 of the dev70 tasks the model re-entered the same input at least once. On one task the model clicked the same native dropdown nine times and gave up, because a native<select>popup is drawn outside the page and never appears in the screenshot. -
Iframe clicks were swallowed, and feedback initially hid this. A scripted probe with no model calls showed three physical clicks on a cross-origin iframe near the bottom of the viewport had no effect, while one DOM-level click worked. The feedback fingerprint originally covered only the main frame, so a successful iframe click was reported as "no detectable change" and the model abandoned an action that had worked.
-
Accurate feedback alone did not change model behavior. Adding "no detectable change" notes left 10 idle-looping tasks at 0/10 with the same 400 total steps; the notes reached the model and its thoughts acknowledged them, yet it kept repeating the action. This is why budgets are enforced by the executor rather than the prompt.
-
Rule-based triggers changed tool use; using a tool is not the same as benefiting from it. On six targeted tasks, rewriting the
find_texttrigger as a rule raised its use from 2 tasks to 3;read_text, written as a rule from the start, was used in 5.read_textfixed none of those tasks but broke none, so it was kept, capped at five calls per task. The model looked up short, ambiguous labels — one label matched 124 elements. -
Budget and robustness changes mattered. Raising the step limit from 40 to 80 on 8 tasks increased the number solved from 0–1 to 4, and 2 of those 4 needed more than 40 steps. An earlier 40→65 test had shown no gain because it ran on an outdated version. The
reloadbudget was used in 5 tasks: it recovered 2 stuck on loading pages, saved budget in 2 others, and hurt none. The scroll breaker was changed to end a task only if the page has also stopped changing, because the reference rule (end after 10 consecutive scrolls) had terminated a task legitimately reading a long table. Model calls are retried on 403/429/5xx errors and timeouts up to 6 attempts within 240 s; previously repeated 403s or connection errors ended 4 of 305 task episodes (1.3%) at step 0. -
Guardrails required removing shortcuts, not asking the model to behave. An audit of an early dev70 run found 692
gotocalls: 18 of 70 tasks queried data APIs directly and 21 visited search engines, and 58% of its correct answers came from such shortcuts. WebFovea's action set is closed — no URL navigation, JavaScript, or HTTP access — withgotoand browser-level shortcuts parsed only so the executor can reject them with an explanation. Fourteen hard constraints cover what the action set cannot. -
Official score trajectory. Four hidden-set submissions scored 31.0 (Aug 29), 41.0 (Aug 31), 46.0 (Sep 1), and 57.0 (Sep 2). Each bundled several changes. The +10 at the second submission came mostly from finishing more tasks: the first run finished only 79 of 100 tasks when it reached its time limit, and at its own accuracy (31 of 79, 39.2%), finishing 97 tasks would have scored about 38 — so roughly 7 of the 10 points came from completing more tasks and about 3 from answering more accurately.
-
Failure analysis on the 100 public tasks. Best-across-runs outcomes were approximately 55 answered correctly, 13 with a reference answer that is outdated or defined differently (for example, 100-year versus 20-year global warming potential), 16 with sites unreachable from the authors' network, 6 structural (image-grid CAPTCHA, canvas-only UI, answers needing a typed URL or spanning several pages), about 4 capability gaps, and 3 path-not-found or wrong-decision errors.
-
Cost. The average step consumed about 10.6k input and 127 output tokens, with input exceeding output 83-fold, almost entirely because the five most recent screenshots are re-sent every step. A 100-task run cost about $170–230, and prompt caching was unavailable through the mandated OpenAI-compatible endpoint.
Methodology in Plain English
The agent keeps the standard observe–think–act loop. At each step the model receives the task, a description of the action space and hard constraints, the full text history of its earlier thoughts and actions, the five most recent screenshots, and, when relevant, a one-sentence feedback note about the previous action. It is vision-based: it receives no DOM or accessibility tree and acts through pixel coordinates, with DOM access confined to the executor and two narrow text channels (feedback notes and read_text). A single executor function is the only place where the agent can affect the browser.
The authors worked on the 100 publicly released Protocol III tasks, split into a 70-task development set (dev70) and a 30-task holdout set (holdout30). Because a 100-task evaluation cost about $170–230 and returned only an aggregate score, they evaluated components on small targeted sets of 1–24 tasks, always including tasks that were already passing so regressions would show up. Paired comparisons and offline replays isolated individual fixes; several candidate fixes were reverted after failing their tests.
On the challenge itself, teams submit code to a private repository and the organizers run it on 100 hidden tasks in a designated sandbox, with at most one evaluation per day over a seven-day window and only an aggregate score returned. Models must come from an approved list and are called through an OpenAI-compatible API. The agent drives Chrome over the Chrome DevTools Protocol at a 1920×1080 viewport. The same model, claude-opus-4-6, was used throughout, so score changes reflect harness changes, up to run-to-run variance on live sites.
Why This Matters
Impact on research. The paper reframes a class of web-agent failures that are routinely read as reasoning errors — clicking empty space, retyping text that never arrived, abandoning an action that worked — as failures of the interface between model and environment. The authors draw the parallel to SWE-agent, which showed the agent–computer interface strongly shapes performance on software-engineering tasks. If the four-stage view holds, improvements to harnesses should transfer across models, and ablations should be repeated after upstream fixes, since the authors' own earlier step-limit test was invalidated by running on an outdated version.
Real-world applications.
- Automating retrieval from public statistical portals, regulatory filings, rankings, and dashboards, where the answer must be read off the authoritative page through the site's own interface.
- Extracting values from embedded chart and document viewers such as Flourish, Tableau, and SEC's inline XBRL viewer, where DOM-level event dispatch is needed because physical clicks are swallowed.
- Building audit trails for retrieved answers: the paper's guardrails require that the answer be visible on the current screenshot with filters still applied, and the authors recommend that live-site benchmarks record each reference answer together with a timestamped evidence screenshot.
- Verifying automated data collection, since the trajectory and final on-screen evidence are what show whether an answer was actually grounded rather than recalled or invented.
Industry relevance. The cost figures are concrete: about $170–230 per 100-task run, driven by re-sending five screenshots every step, and input tokens exceeding output 83-fold. The paper estimates that a native API with prompt caching and tool-use actions would cut cost by an estimated 55–70% and remove free-text parsing, and with it most parsing failures. Scale also matters operationally: shared-queue dispatch means a crashed worker loses one task rather than all its remaining assigned tasks. Any organization deploying agents against live third-party sites faces the same questions about rule compliance, budget enforcement, and distinguishing model error from harness error.
Future Directions
-
Per-step model routing. Steps differ in what they need — locating a control, reading a dense table, deciding when to stop — so each step could go to a large or small multimodal model, a rule, or a classical vision routine, while the four stages and guardrails stay the same.
-
Classical computer vision for feedback and observation. OCR to cross-check values read from screenshots, perceptual-hash change detection to catch canvas and image updates invisible to the DOM fingerprint, and template matching for recurring widgets.
-
An independent verifier and hybrid observation. Before
finished, a separate model call with a fresh context seeing only the task, the final screenshot, and the candidate answer would target wrong-row and wrong-table errors; a list of interactive elements with coordinates alongside the screenshot should be A/B-tested, since SeeAct shows hybrids are not automatically better. -
Cost reduction and cheaper data. A native API with prompt caching and tool-use actions, download-and-parse for PDF and spreadsheet sources, task-type skills (per-category checklists and per-site operating notes), and synthetic tasks with programmatic ground truth whose teacher trajectories could be distilled into a smaller open model.
Open questions the paper leaves explicit: the authors never submitted the reference implementation itself to the hidden set, so there is no same-model baseline; component evidence comes from sets of 1–24 tasks and shows direction rather than statistical significance; all results use one model, and some fixes (coordinate alignment, token stripping) address problems specific to that model and its API.
Target Audience
Engineers and researchers building or evaluating web agents, particularly those working on browser automation, GUI grounding, and agent harness design rather than model training. It is also directly useful to benchmark designers and maintainers of live-site evaluations, and to teams that need a concrete, evidence-backed checklist for diagnosing why an agent that appears to reason correctly still fails in production. The paper assumes no specialized background beyond familiarity with how agents call tools and control browsers.
Authors’ abstract
We present WebFovea, a vision-based web agent that placed 2nd in the WebRetriever Challenge 2026 with a final score of 57.0 out of 100. The challenge evaluates agents end to end on Protocol III of the WebRetriever benchmark (arXiv:2607.06118): starting from an entry URL on a live website, the agent must operate the site's own interface and return a verifiable answer. A capable multimodal large language model (LLM) is necessary for this, but not sufficient. The model's decisions reach the browser through the harness, the code between the model and the page. At every step, four things must go right: the model's reply must be parsed into the intended action, the action must take effect on the page, the result must be reported back accurately, and the model must be shown the information it needs. On real websites, many of the failures we observed occurred at one of these four stages rather than in the model's reasoning. A coordinate-space mismatch placed every click at 3/4 of its intended coordinates; actions on native dropdowns, inside iframes, and in text boxes failed silently; and self-generated chat-template tokens contaminated 4.9% of task episodes. WebFovea hardens each stage and surrounds the loop with guardrails that keep the agent within the rules and its budget. The four-stage view does not depend on the model, although some individual fixes do. Because we used the same model in all four submissions, the rise of our official hidden-set score from 31.0 to 57.0 reflects changes to the harness, up to run-to-run variance on live sites. We describe the design, the evidence for each component (including negative results), a failure analysis, the limitations, and a roadmap that includes routing different steps to different models.