Where Did It Go Wrong? Process-Level Evaluation of Web Agents with Semantic State Tracking
Organizations: Yonsei University · Microsoft Research
Abstract
Web agents act through long interaction sequences, yet existing benchmarks evaluate only terminal success, discarding all process information and offering little guidance on improvement. In this work, we conduct a process-level analysis of web agents. We introduce WebStep, a benchmark of 1,800 task instances with controlled difficulty and automatic semantic state tracking. Each website exposes a deterministic semantic MDP alongside the GUI: the agent operates on the interface, while the environment records high-level states and transitions in the background, enabling fine-grained analysis without manual annotation. Based on the semantic trajectory, we first show that process metrics reveal differences invisible to outcome evaluation: three agents whose success rates cluster within 34-37% diverge in exploration reach versus execution accuracy. Then, decomposing by skill characterizes the nature of these differences, exposing opposite per-skill rankings hidden within the same website: e.g., on Q&A, Claude CUA outperforms OpenAI CUA by 30% on navigation actions yet underperforms it by 6.7% on inspection, pinpointing a concrete skill to improve even within a domain. Bifurcation analysis further localizes the decisive error that loses the task and shows that this error is agent-specific rather than shared. Finally, these differences widen as tasks grow harder: success rate is similar on easy tasks but separates sharply as exploration becomes more demanding. Our process-level analysis opens a new avenue in web agent evaluation, providing fine-grained and actionable insight into where and how each agent should be improved. Project page: https://jiwanchung.github.io/webstep
Figures & tables
| Deterministic | Tasks | Process-eval | Hard negative | |
|---|---|---|---|---|
| Online-Mind2Web ( Xue et al., 2025 ) | ✗ | 300 | ✗ | ✗ |
| WebVoyager ( He et al., 2024 ) | ✗ | 643 | ✗ | ✗ |
| WebWalkerQA ( Wu et al., 2025 ) | ✗ | 680 | ✗ | ✗ |
| AssistantBench ( Yoran et al., 2024 ) | ✗ | 214 | ✗ | ✗ |
| WebArena ( Zhou et al., 2024 ) | ✓ | 812 | ✗ | ✗ |
| VisualWebArena ( Koh et al., 2024 ) | ✓ | 910 | ✗ | ✗ |
| Agent | Success Rate (%) | Information | Steps | ||||
|---|---|---|---|---|---|---|---|
| Terminal | Exploration | Execution | Coverage (%) | GUI | Semantic | ||
| Fara-7B | 35.7 | 47.3 | 75.0 | 76.4 | 18.9 | 8.3 | 2.3 |
| GUI-Owl-1.5-8B | 34.4 | 43.3 | 78.6 | 79.5 | 28.3 | 10.4 | 2.7 |
| UI-TARS-1.5-7B | 37.1 | 49.2 | 73.9 | 80.3 | 35.0 | 14.0 | 2.5 |
| Qwen3.5-122B | 58.2 | 66.3 | 86.7 | 89.1 | 22.1 | 9.8 | 2.3 |
| OpenAI CUA | 82.7 | 89.4 | 92.4 | 96.8 | 19.7 | 10.0 | 2.0 |
Appendix figures & tables42 assets
Supplementary material from the paper’s appendix.
Appendix
| Agent | Model | Backend | Input | Action Space | Max Imgs | Temp. | Max Tokens |
|---|---|---|---|---|---|---|---|
| Fara | microsoft/Fara-7B | vLLM | Screenshot | Function call (coordinate) | 3 | 0.0 | 800 |
| UI-TARS | ByteDance-Seed/UI-TARS-1.5-7B | vLLM | Screenshot | Thought + Action (coordinate) | 5 | 0.0 | 2048 |
| GUI-Owl | mPLUG/GUI-Owl-1.5-8B | vLLM | Screenshot | Tool call (coordinate) | 4 | 0.0 | 2048 |
| Qwen3.5 | Qwen/Qwen3.5-122B-FP8 | vLLM | Screenshot | Thought + Action (coordinate) | 5 | 0.7 | 2048 |
| OpenAI CUA | GPT-5.4 | OpenAI API | Screenshot | Built-in computer tool (coordinate) | – | – | – |
| Claude CUA | claude-sonnet-4-6 | Anthropic API | Screenshot + DOM | Tool call (ref + coordinate) | 3 | – | – |
| Site | Domain | Surfaces | Actions | Templates | Tasks | Card / Detail Fields | Decision Object |
|---|---|---|---|---|---|---|---|
| Productivity | 3 | 36 | 6 | 180 | 10 / 9 | Thread | |
| Calendar | Productivity | 6 | 14 | 6 | 180 | 8 / 6 | Event |
| Team Chat | Productivity | 3 | 24 | 12 | 180 | 6 / 5 | Message |
| Shopping | E-Commerce | 6 | 23 | 6 | 180 | 12 / 12 | Product |
| Food Delivery | E-Commerce | 6 | 24 | 15 | 180 | 8 / 7 | Restaurant / Item |
| Accommodation | Discovery | 4 | 16 | 12 | 180 | 9 / 8 | Listing |
| Site | Card Surfaces | Detail Surfaces | Commit Surfaces | ||
|---|---|---|---|---|---|
| ThreadList | ThreadView | ComposeModal, ThreadList, ThreadView | 10 | 9 | |
| Calendar | WeekView, DayView, MonthView | EventDetail | EventEditor | 8 | 6 |
| Team Chat | ChannelView, SearchResults | ChannelView (thread) | ChannelView, DirectMessageView | 6 | 5 |
| Shopping | SearchResults | ProductDetail | Checkout, OrderConfirmation | 12 | 12 |
| Food Delivery | RestaurantList | RestaurantDetail, MenuItemDetail | Checkout, OrderStatus | 8 | 7 |
| Accommodation | SearchResults | ListingDetail | Checkout, Reservations | 9 | 8 |
| Category | Description |
|---|---|
| Navigate | Actions that move between surfaces or manage the current view without modifying application state. Includes pagination, folder/tab switching, back navigation, closing detail views, and temporal navigation (e.g., next/previous week). |
| Search | Actions that issue or clear search queries to change the visible entity set. Includes keyword search, people search, repository search, and clearing search context. |
| Filter | Actions that narrow or reorder the visible entities within the current result set. Includes applying categorical or range filters, sorting, and clearing filters. |
| Inspect | Actions that reveal additional information about an entity without modifying application state. Includes opening detail views, expanding hidden content, viewing profiles, and selecting entities for closer examination. |
| Commit | The task-completing action: the final step of the task’s oracle trajectory, performed on the target entity—e.g., placing the order, sending the reply, starring the target thread, or, for read-only tasks, opening the target item. State-modifying actions that are not the task’s commit (e.g., adding an item to the cart before placing the order, or filling a form before sending) form the task’s pre-commit sequence ; in trajectory analyses these steps are merged into the step that follows them rather than counted as a separate category. |
| Site | Category | Skills |
|---|---|---|
| Navigate | folder_navigation, pagination, backtrack_navigation | |
| Search | search_refinement | |
| Filter | filter_application | |
| Inspect | thread_inspection, message_expansion | |
| Commit | compose_setup, compose_field_entry, email_management, bulk_management, send_commit | |
| Calendar | Navigate | temporal_navigation, view_switching, backtrack_navigation |
| Site | Category | Skills |
|---|---|---|
| Housing | Navigate | pagination |
| Search | query_formulation | |
| Filter | price_filtering, beds_filtering, baths_filtering, sqft_filtering, type_filtering, attribute_filtering, sort_usage | |
| Inspect | property_inspection, agent_inspection, comparison | |
| Commit | save_management, tour_scheduling, agent_contact, saved_homes_review | |
| Coding Q&A | Navigate | back_navigation, pagination |
| Agent | Cal. | Shop. | Acco. | Food | Hous. | Q&A | Code | Jobs | Chat | |
|---|---|---|---|---|---|---|---|---|---|---|
| Claude CUA | 91.7 | 79.4 | 82.8 | 87.2 | 86.1 | 79.4 | 77.8 | 91.1 | 84.4 | 93.3 |
| OpenAI CUA | 89.4 | 73.3 | 78.9 | 88.3 | 81.1 | 66.7 | 79.4 | 88.3 | 91.1 | 90.0 |
| Qwen3.5-122B | 60.6 | 52.2 | 56.1 | 53.9 | 73.9 | 25.6 | 63.9 | 65.6 | 66.7 | 63.9 |
| Fara | 50.0 | 16.1 | 37.8 | 31.1 | 63.9 | 13.3 | 37.2 | 41.1 | 40.0 | 26.1 |
| GUI-Owl | 58.3 | 10.6 | 12.8 | 11.7 | 67.2 | 20.0 | 50.6 | 43.3 | 35.6 | 33.9 |
| UI-TARS | 71.1 | 18.9 | 16.7 | 8.9 | 65.6 | 27.2 | 46.1 | 36.7 | 48.3 | 31.1 |
| Agent | Cal. | Shop. | Acco. | Food | Hous. | Q&A | Code | Jobs | Chat | |
|---|---|---|---|---|---|---|---|---|---|---|
| Claude CUA | 91.7 | 79.4 | 98.9 | 93.3 | 97.8 | 82.8 | 85.6 | 91.1 | 93.3 | 93.3 |
| OpenAI CUA | 90.0 | 77.8 | 95.6 | 91.7 | 97.2 | 70.0 | 89.4 | 88.3 | 92.8 | 92.2 |
| Qwen3.5-122B | 62.8 | 58.9 | 71.1 | 70.0 | 91.7 | 27.8 | 78.9 | 65.0 | 67.8 | 66.7 |
| Fara | 53.3 | 22.2 | 47.8 | 52.2 | 82.2 | 13.9 | 52.2 | 46.1 | 43.9 | 55.6 |
| GUI-Owl | 58.9 | 13.3 | 13.3 | 47.8 | 82.2 | 22.2 | 60.0 | 50.6 | 34.4 | 47.2 |
| UI-TARS | 76.1 | 26.7 | 20.0 | 51.1 | 82.8 | 28.9 | 55.6 | 41.7 | 53.3 | 53.3 |
| Agent | Cal. | Shop. | Acco. | Food | Hous. | Q&A | Code | Jobs | Chat | |
|---|---|---|---|---|---|---|---|---|---|---|
| Claude CUA | 100.0 | 100.0 | 83.7 | 93.5 | 88.1 | 96.0 | 89.6 | 100.0 | 90.5 | 100.0 |
| OpenAI CUA | 99.4 | 94.3 | 82.6 | 96.4 | 83.4 | 95.2 | 88.8 | 100.0 | 97.6 | 97.6 |
| Qwen3.5-122B | 94.7 | 88.7 | 78.9 | 77.0 | 80.6 | 80.0 | 79.6 | 100.0 | 96.7 | 95.8 |
| Fara | 93.8 | 72.5 | 79.1 | 59.6 | 77.0 | 92.0 | 70.2 | 89.2 | 91.1 | 47.0 |
| GUI-Owl | 99.1 | 79.2 | 95.8 | 24.4 | 81.8 | 77.5 | 84.3 | 85.7 | 100.0 | 71.8 |
| UI-TARS | 93.4 | 70.8 | 83.3 | 17.4 | 77.9 | 82.7 | 82.0 | 88.0 | 87.5 | 58.3 |
| Agent | Cal. | Shop. | Acco. | Food | Hous. | Q&A | Code | Jobs | Chat | |
|---|---|---|---|---|---|---|---|---|---|---|
| Claude CUA | 91.3 | 96.7 | 100.0 | 95.5 | 97.8 | 100.0 | 93.3 | 90.9 | 98.4 | 99.1 |
| OpenAI CUA | 88.7 | 97.2 | 99.6 | 97.3 | 98.9 | 98.9 | 98.9 | 90.9 | 98.4 | 98.7 |
| Qwen3.5-122B | 83.3 | 94.4 | 97.2 | 83.7 | 93.4 | 94.4 | 88.6 | 68.8 | 92.7 | 94.1 |
| Fara | 85.0 | 80.6 | 93.0 | 76.6 | 89.2 | 62.9 | 65.3 | 53.9 | 76.1 | 81.7 |
| GUI-Owl | 93.9 | 76.4 | 74.0 | 78.5 | 80.7 | 96.2 | 80.6 | 55.8 | 72.0 | 86.8 |
| UI-TARS | 84.9 | 83.1 | 79.6 | 81.7 | 82.5 | 82.2 | 81.9 | 52.5 | 87.4 | 86.9 |
| Agent | Site | Search | Filter | Inspect | Navigate | Commit |
|---|---|---|---|---|---|---|
| Claude CUA | 94 | – | 88 | 70 | 79 | |
| Cal. | – | – | 100 | 92 | 81 | |
| Shop. | 100 | 21 | 100 | 89 | 99 | |
| Acco. | 97 | 99 | 100 | 71 | 97 | |
| Food | 70 | 85 | 100 | 63 | 76 | |
| Hous. | 99 | 100 | 91 | 69 | 98 |
| Agent | Site | Search | Filter | Inspect | Navigate | Commit |
|---|---|---|---|---|---|---|
| Fara | 97 | – | 89 | 41 | 39 | |
| Cal. | – | – | 88 | 63 | 21 | |
| Shop. | 99 | 71 | 88 | 64 | 35 | |
| Acco. | 77 | 83 | 88 | 53 | 6 | |
| Food | 63 | 81 | 96 | 40 | 23 | |
| Hous. | 69 | 81 | 71 | 43 | 21 |
| Agent | Search | Filter | Inspect | Navigate | Commit |
|---|---|---|---|---|---|
| Claude CUA | 92.9 | 87.8 | 97.1 | 80.9 | 88.3 |
| OpenAI CUA | 94.5 | 78.9 | 97.2 | 79.7 | 83.8 |
| Qwen3.5-122B | 90.9 | 87.2 | 95.5 | 76.3 | 58.5 |
| Fara | 80.4 | 70.9 | 82.8 | 60.3 | 29.4 |
| GUI-Owl | 83.3 | 94.0 | 78.6 | 58.1 | 39.7 |
| UI-TARS | 90.5 | 77.3 | 82.9 | 65.2 | 27.7 |
| Agent | HN=0 | HN=1 | HN=2 | HN=3 |
|---|---|---|---|---|
| Claude CUA | 90.6 | 98.7 | 90.3 | 89.8 |
| OpenAI CUA | 91.7 | 93.6 | 87.9 | 83.5 |
| Qwen3.5-122B | 76.4 | 78.2 | 65.2 | 51.4 |
| Fara | 60.5 | 64.1 | 41.9 | 32.8 |
| GUI-Owl | 59.4 | 43.6 | 34.5 | 32.3 |
| UI-TARS | 60.6 | 53.8 | 45.6 | 37.3 |
| Agent | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
|---|---|---|---|---|---|---|---|---|---|---|
| Claude CUA | 96.3 | 96.4 | 89.9 | 93.9 | 87.4 | 84.9 | 86.7 | 89.7 | 95.4 | 85.9 |
| OpenAI CUA | 94.4 | 96.7 | 92.9 | 94.7 | 80.7 | 82.4 | 80.3 | 87.2 | 93.1 | 73.2 |
| Qwen3.5-122B | 72.2 | 73.8 | 83.2 | 75.0 | 67.4 | 60.4 | 51.4 | 53.3 | 68.2 | 45.1 |
| Fara | 42.6 | 45.4 | 61.3 | 57.6 | 48.1 | 44.7 | 40.5 | 36.9 | 42.8 | 40.8 |
| GUI-Owl | 50.0 | 43.7 | 57.1 | 65.2 | 41.5 | 43.4 | 27.6 | 31.3 | 38.7 | 35.2 |
| UI-TARS | 50.0 | 52.3 | 54.2 | 62.9 | 58.5 | 52.2 | 40.8 | 35.4 | 43.4 | 38.0 |
| Agent | Card | Filter | Detail |
|---|---|---|---|
| Claude CUA | 95.1 | 98.2 | 88.3 |
| OpenAI CUA | 93.2 | 96.7 | 85.8 |
| Qwen3.5-122B | 70.4 | 90.1 | 59.4 |
| Fara | 58.6 | 72.8 | 38.9 |
| GUI-Owl | 60.5 | 65.0 | 35.2 |
| UI-TARS | 61.7 | 61.4 | 44.2 |
| Field | Value |
|---|---|
| Template | find_email_extract |
| Site | |
| Instruction pattern | ”{sender} has sent you several similar emails. Find the one that mentions ’{keyword}’ in its body and {action} it.” |
| Information gap | body, cc, attachments (detail-only fields) |
| Constraint count | 3 |
| Commit action | Star / Archive / Label |
| Field | Value |
|---|---|
| Template | find_product_extract |
| Site | Shopping |
| Instruction pattern | ”Search for {query} in {department}. Find the one with {detail_attr}: ’{value}’ and add it to your cart.” |
| Information gap | specifications, bullet_points, seller, shipping_cost |
| Constraint count | 1–3 |
| Commit action | AddToCart |
| Field | Value |
|---|---|
| Template | search_filter_book |
| Site | Accommodation |
| Instruction pattern | ”Book the {superlative} {property_type} in {location} that has {amenity} for {guests} guests, {dates}.” |
| Information gap | amenities, cancellation_policy, host details |
| Constraint count | 4–6 |
| Commit action | ConfirmBooking |
| Step | Oracle | Fara | UI-TARS |
|---|---|---|---|
| 0 | SearchEmails("Priya Patel") | OpenThread(THR-006) | SearchEmails("ProjectAlpha006") |
| 1 | OpenThread(THR-019) | SearchEmails("ProjectAlpha006") | Star(THR-006) |
| 2 | CloseThread() | OpenThread(THR-006) | SwitchFolder(STARRED) |
| 3 | OpenThread(THR-050) | Star(THR-006) | |
| 4 | CloseThread() | ||
| 5 | OpenThread(THR-006) |
| Step | Oracle | Fara | UI-TARS |
|---|---|---|---|
| 0 | Search("fiction") | Search("Books") | Search("Books") |
| 1 | OpenProduct(PRD-039) | ApplyFilter(dept=Books) | ApplyFilter(dept=Books) |
| 2 | AddToCart() | OpenProduct(PRD-009) | ClearFilters() |
| 3 | GoBack() | ApplyFilter(dept=Books) | |
| 4 | OpenProduct(PRD-027) | NewSearch("Leather") | |
| 5 | GoBack() | NewSearch("Leather") |