Why Generate a Click? Plug-in Decision Heads for Web Agents
Organizations: Independent Researcher · University of Chinese Academy of Sciences · Pusan National University · Monash University ·
Abstract
Web agents built on vision language models decide every action by generating text such as click(12), although most of that text encodes a choice among a few action types and a few dozen marked elements. We read these choices directly from the hidden states that the generator computes while it reads the goal and the screenshot. Plug-in decision heads on a frozen generator predict the action type, pool the visual tokens inside each numbered box to pick the target, and point at a listed text option or at a WRITE slot that leaves the writing of new text to the generator. A confidence cascade executes the heads' action when they are sure and otherwise lets the generator decode from the KV cache of the same forward pass. With Qwen3-VL 4B and 8B generators trained on 213k web steps, a strict threshold keeps the cascade between 0.3 points below and 1.4 points above the generator on seven offline test sets while the heads decide 12 to 64% of the steps. A looser threshold raises step success on unseen Mind2Web websites by 3.1 and 1.8 points, costs up to 2 points on GUIAct and MiniWoB++, and lifts WebArena task success from 12.5 to 13.8% (4B) and from 13.6 to 14.6% (8B) with less than half of the generated tokens. Training the heads jointly with the generator lowers the generator's own step success by up to 4.9 points; heads on a frozen generator avoid this cost.
Figures & tables
| M2W | GUIAct web | |||||||
|---|---|---|---|---|---|---|---|---|
| System | Task | Website | Domain | Single | Multi | Single (ext.) | Multi (ext.) | |
| 4B | Generator | 46.2 | 40.9 | 44.3 | 84.1 | 56.1 | 78.9 | 63.5 |
| Heads only | 39.7 | 37.9 | 39.1 | 81.0 | 54.7 | 75.8 | 60.3 | |
| Cascade, | 46.6 | 42.3 | 44.4 | 84.0 | 55.9 | 78.8 | 63.7 | |
| Cascade, | 47.6 | 44.0 | 44.6 | 82.9 | 54.2 | 77.9 | 61.8 | |
| Joint, generation | 42.0 | 36.0 | 42.4 | 83.6 | 52.1 | 78.1 | 60.5 | |
| MiniWoB++ | WebArena | Tokens/step | ||||
| System | 4B | 8B | 4B | 8B | 4B | 8B |
| Generator | 53.3 | 55.5 | 12.5 | 13.6 | 7.4 | 7.5 |
| Cascade, | 52.5 | 53.6 | 13.8 | 14.6 | 3.1 | 3.3 |
| Joint, generation | 53.3 | 55.0 | 11.5 | 11.1 | 7.3 | 7.4 |
| Joint, cascade | 53.2 | 54.2 | 11.9 | 12.6 | 3.0 | 2.9 |
| Joint, heads only | 45.4 | 45.3 | 3.1 | 4.4 | 0 | 0 |
| System | Seen template (47) | New template (127) |
|---|---|---|
| Generator 4B | 34.8 | 4.2 |
| Cascade 4B | 41.8 | 3.4 |
| Generator 8B | 33.3 | 6.3 |
| Cascade 8B | 36.9 | 6.3 |
| System | s/step | Speedup | Act alone |
|---|---|---|---|
| Generator | 0.234 | 1.00 | 0% |
| Cascade, | 0.207 | 1.13 | 29% |
| Cascade, | 0.168 | 1.39 | 67% |
| Joint, generation | 0.238 | 1.00 | 0% |
| Joint, cascade | 0.155 | 1.54 | 67% |
| Generation | Heads only | |||
|---|---|---|---|---|
| Test set | 4B | 8B | 4B | 8B |
| M2W task | ||||
| M2W website | ||||
| M2W domain | ||||
| GUIAct single | ||||
| GUIAct multi | ||||
| M2W | GUIAct | ||||
| System | Task | Web. | Dom. | Single | Multi |
| Cascade 4B, | 47.6 | 44.0 | 44.6 | 82.9 | 54.2 |
| Two models 4B, | 47.9 | 44.3 | 46.1 | 83.6 | 56.0 |
| Two models 4B, | 46.7 | 41.9 | 44.5 | 84.3 | 56.0 |
| 4B heads, 8B gen. | 47.8 | 45.6 | 47.2 | 82.9 | 56.5 |
| Cascade 8B, | 50.2 | 46.3 | 48.2 | 82.8 | 56.9 |
| Decided steps | Rest | |||
| Test set | Share | Heads | Gen. | Gen. |
| M2W task | 38% | 72.2 | 68.4 | 32.7 |
| M2W website | 37% | 68.6 | 60.3 | 29.4 |
| M2W domain | 40% | 65.1 | 64.3 | 31.1 |
| GUIAct single | 85% | 87.4 | 88.8 | 56.5 |
| GUIAct multi | 66% | 67.3 | 70.2 | 28.5 |
| M2W | GUIAct | ||||
|---|---|---|---|---|---|
| Target head | Task | Web. | Dom. | Single | Multi |
| Patch attention | 35.3 | 34.7 | 37.8 | 54.4 | 11.7 |
| Box pooling | 37.3 | 35.2 | 39.2 | 54.2 | 13.5 |
| System | Success | s/step | Act alone |
|---|---|---|---|
| Generator, no thought | 53.9 | 0.24 | 0% |
| Reasoning generator | 49.9 | 1.65 | 0% |
| Joint, generation | 51.0 | 1.56 | 0% |
| Joint, cascade | 51.5 | 0.70 | 66% |
Appendix figures & tables8 assets
Supplementary material from the paper’s appendix.
Appendix
| Source | Steps | Main operations |
|---|---|---|
| MiniWoB++ | 9,171 | click, type, no op |
| Mind2Web train | 7,320 | click, type, select |
| GUIAct single | 66,089 | click, scroll, answer |
| GUIAct multi | 27,700 | click, scroll, answer |
| UGround | 65,066 | click |
| WebLINX | 38,171 | click, type, scroll |
| Setting | Value |
|---|---|
| LoRA rank, scale, dropout | 16, 32, 0.05 |
| LoRA targets | attention and MLP |
| LoRA parameters (4B / 8B) | 33.0M / 43.6M |
| Head parameters (4B / 8B) | 6.0M / 9.2M |
| Head width | 512 |
| Layers read | 12, 18, 24, 30, 36 |
| System | Shop | Admin | GitLab | Map | Wiki | |
|---|---|---|---|---|---|---|
| Generator 4B | 11.8 | 8.5 | 20.7 | 12.1 | 12.5 | 0.0 |
| Cascade 4B | 17.6 | 4.3 | 23.0 | 15.2 | 12.5 | 0.0 |
| Generator 8B | 10.8 | 14.5 | 17.2 | 16.7 | 8.3 | 0.0 |
| Cascade 8B | 18.6 | 11.1 | 19.5 | 14.4 | 11.1 | 0.0 |
| System | M2W task | M2W website | M2W domain | GUIAct single | GUIAct multi | Single, ext. | Multi, ext. | |
|---|---|---|---|---|---|---|---|---|
| 4B | Generator | 45.8/46.3/46.4 | 40.2/40.7/41.7 | 44.1/44.4/44.5 | 84.8/84.0/83.4 | 54.4/56.8/57.0 | 79.4/79.0/78.4 | 62.8/64.1/63.8 |
| Cascade 0.9 | 46.1/46.3/47.2 | 41.6/42.2/43.1 | 44.3/44.5/44.5 | 84.8/83.8/83.4 | 54.4/56.8/56.5 | 79.4/78.8/78.2 | 63.0/64.3/63.7 | |
| Cascade 0.5 | 46.9/47.9/48.0 | 43.9/44.2/43.8 | 44.5/44.9/44.5 | 84.0/82.3/82.4 | 53.4/54.4/54.6 | 78.7/77.4/77.4 | 61.6/62.5/61.4 | |
| Heads only | 39.3/40.0/39.7 | 38.1/37.8/37.7 | 39.0/39.3/39.0 | 82.6/80.0/80.4 | 52.7/56.5/54.9 | 77.0/75.0/75.5 | 60.0/61.7/59.4 | |
| 8B | Generator | 49.6/51.4/50.1 | 45.1/44.7/43.7 | 47.8/48.1/48.3 | 84.7/84.8/83.7 | 58.7/59.6/58.2 | 79.1/79.7/78.9 | 63.5/64.2/64.6 |
| Cascade 0.9 | 50.0/51.4/50.4 | 46.5/46.2/44.9 | 47.7/48.3/48.3 | 84.7/84.5/83.3 | 58.7/59.6/57.7 | 79.3/79.3/78.5 | 63.6/64.2/64.3 |
| System | 4B | 8B |
|---|---|---|
| MiniWoB++ | ||
| Generator | 54.1 / 53.3 / 52.4 | 56.1 / 55.5 / 55.0 |
| Cascade 0.9 | 54.1 / 53.1 / 52.1 | 55.6 / 55.6 / 54.8 |
| Cascade 0.5 | 52.9 / 53.4 / 51.3 | 53.1 / 54.3 / 53.4 |
| Heads only | 44.9 / 44.9 / 43.9 | 44.4 / 44.4 / 45.4 |
| WebArena | ||
| Test set | 0.6 | 0.7 | 0.8 | 0.9 | 0.95 | 0.99 | Generator | ||
|---|---|---|---|---|---|---|---|---|---|
| 4B | M2W task | 47.6 (38) | 47.6 (30) | 47.2 (23) | 47.0 (18) | 46.6 (13) | 46.4 (9) | 46.2 (5) | 46.2 |
| M2W website | 44.0 (37) | 43.9 (29) | 43.4 (23) | 42.8 (18) | 42.3 (12) | 42.0 (8) | 41.3 (3) | 40.9 | |
| M2W domain | 44.6 (40) | 44.7 (32) | 44.6 (25) | 44.5 (19) | 44.4 (14) | 44.3 (10) | 44.3 (5) | 44.3 | |
| GUIAct single | 82.9 (85) | 83.2 (79) | 83.6 (73) | 83.8 (66) | 84.0 (56) | 84.1 (47) | 84.1 (25) | 84.1 | |
| GUIAct multi | 54.2 (66) | 54.7 (57) | 55.3 (48) | 55.8 (39) | 55.9 (27) | 55.9 (19) | 56.1 (8) | 56.1 | |
| Single, ext. | 77.9 (87) | 78.2 (82) | 78.5 (75) | 78.7 (69) | 78.8 (60) | 78.9 (51) | 78.9 (33) | 78.9 |
| Split | Op. | Steps | Gen. | Heads | Cascade |
|---|---|---|---|---|---|
| Task | Click | 1,037 | 48.5 | 43.4 | 48.6 |
| Type | 157 | 36.1 | 19.5 | 45.2 | |
| Select | 59 | 32.2 | 28.2 | 36.2 | |
| Website | Click | 781 | 45.8 | 40.8 | 46.0 |
| Type | 120 | 24.2 | 17.5 | 33.3 | |
| Select | 72 | 14.8 | 40.3 | 39.8 |
| Cross-task | Cross-website | Cross-domain | |||||||
| System | Ele.Acc | Op.F1 | Step SR | Ele.Acc | Op.F1 | Step SR | Ele.Acc | Op.F1 | Step SR |
| MindAct, Flan-T5 XL (HTML) | 52.0 | 38.9 | 39.6 | ||||||
| SeeClick 9.6B | 25.5 | 16.4 | 20.8 | ||||||
| SeeAct, GPT-4V | 40.2 | 32.4 | 36.8 | ||||||
| OmniParser + GPT-4V | 39.4 | 36.5 | 42.0 | ||||||
| Aguvis 7B | 60.4 | 54.6 | 56.6 | ||||||
Web Agents
Web agents use language and vision models to navigate websites, gather information, and complete tasks through interactive interfaces.
See all 167 papers