Summary
Prune4Web 把 web agent 的 DOM 处理从“让 LLM 阅读上万 token 的原始 DOM”改成“让 LLM 生成打分参数、由固定启发式程序遍历打分并剪枝候选元素”,在 grounding 前把候选元素削减约 25∼50 倍以缓解 attention dilution。配合 Planner / Programmatic Filter / Grounder 三阶段与 two-turn dialogue 训练,它在 Multimodal-Mind2Web 上取得 SOTA,low-level sub-task grounding 精度从 46.8% 提升到 88.28%。
Problem & Motivation
真实网页的 DOM 常达 10,000–100,000 tokens,直接喂给 LLM 会带来 attention dilution、高 latency 与高成本,是 LLM-based web agent 落地的核心瓶颈。现有做法要么粗暴截断 DOM(crude truncation,风险是丢掉关键交互元素),要么依赖启发式 + 单独的 ranking model(precision 与 scalability 难两全)。作者主张:把可规则化的“元素过滤”这件事交给确定性程序,而把 LLM 留给真正需要语义判断的环节。
Method
整体是 Planner → Programmatic Element Filter → Action Grounder 三阶段流水线,核心创新在中间的 “DOM Tree Pruning Programming”。
- Planning Stage:Planner 只看 screenshot(不读 HTML)把 high-level 任务拆成 low-level sub-task,为下游提供语义线索。
- Filtering Stage(核心):先用 rule-based prefilter 只保留 interactive 元素(button / link / input 等),得到一个“上下文增强、去噪”的初始候选集。然后 LLM 执行 DOM Tree Pruning Programming——注意:LLM 并不生成任意 Python 程序,而是只生成一个
keyword_weights字典(keyword 字符串 → base weight),填入一个固定的启发式打分模板(论文 Algorithm 1)。该模板对元素属性做 tiered weighted matching:Tier 1 = 可见text;Tier 2 = 不可见但高语义的aria-label/placeholder;Tier 3 =class/id等。打分后取 top-N(约 20)候选。这样“遍历 + 打分”由轻量、可解释的程序在外部执行,LLM 完全不接触原始长 DOM。 - Action Grounding Stage:Grounder 只接收两个输入——Planner 给的 low-level sub-task + Filter 剪枝后的短候选列表,输出最终可执行 action。因为候选集已从上万元素压到约 20 个,grounding 得以在小上下文中精确定位。
- 训练:一条数据标注 pipeline 用 GPT-4o 对 re-annotated MM2W 训练集(约 5,000 高质量 interaction steps)标注 low-level sub-task、keyword/weight、剪枝后的 DOM tree;并用 two-turn dialogue 策略在统一框架内联合优化 Planner / Filter / Grounder,训练含 SFT + RFT 两阶段。
机制核对:abstract 用 “generates executable Python scoring scripts” 描述,但方法节实为“LLM 只产出 keyword_weights 参数、填入固定模板”。这是参数化(learned keyword weighting)而非 program synthesis,“Programming” 的叙事有 overstatement 成分(见 Evidence Ledger C9 与 Strengths & Weaknesses)。
Key Results
- 候选削减:相较剪枝前的交互元素候选集,DOM Tree Pruning Programming 带来 25∼50× 的候选元素削减(abstract 与 Sec 3.2;论文只给比值,未给 before/after 绝对数量)。
- Low-level sub-task grounding(Table 2):无剪枝 baseline(Qwen2.5VL-3B FT,GT task + 原始 HTML)46.80% → Prune4Web 88.28%;Qwen2.5-0.5B 与 Qwen2.5VL-3B 两个变体报告的 grounding accuracy 完全相同,均为 88.28%(二者 Recall@20 略有差异 97.64 vs 97.46,故此相同值系原文如此,而非明显笔误);GPT-4o 配 Prune4Web filter 为 80.65%。
- Multimodal-Mind2Web(Table 1,Ele.Acc / Op.F1 / Step SR):
- Cross-Task:Prune4Web-3B(two-turn unified)58.4 / 84.1 / 52.4;MindAct(Flan-T5-XL)55.1 / 75.7 / 52.0;SeeAct 46.4 / 73.4 / 40.2;GPT-4o zero-shot 5.7 / 77.2 / 4.3。
- Cross-Website:Prune4Web 50.2 / 81.2 / 44.9;MindAct 42.0 / 65.2 / 38.9。
- Cross-Domain:Prune4Web 49.2 / 84.4 / 46.1;MindAct 42.1 / 66.5 / 39.6。
- Prune4Web 在 Element Accuracy 与 Step SR 上领先;Op.F1 上并非最高(SeeClick/MiniCPM 等更高)。
- 程序化 vs LLM-based filtering(Table 3,online task completion):GPT-4o:LLM Top-N 42.1% → Prune4Web 42.1%(无提升);GPT-4o-mini 26.3% → 31.6%;Qwen2.5VL-3B 0.0% → 5.2%。
- 训练策略(Table 5,Step SR):separate models SFT-only 37.9% → SFT+RFT 42.2%;two-turn dialogue unified SFT-only 46.5% → SFT+RFT 52.4%。
- 失败分析(Appendix F.2):作者自陈主要 bottleneck 是 Planner 规划错误(rottentomatoes 陷入 25 步无效探索、carmax 未把 “sales”/“Springfield” 关联到正确输入框),“下游执行模块的精度无法弥补上游规划的失败”。
Evidence Ledger
| Claim ID | Claim | Type | Source locator | Evidence excerpt | Status |
|---|---|---|---|---|---|
| C1 | grounding 前候选元素削减 25∼50 倍 | number | Abstract; Sec 3.2 | ”a 25∼50 times reduction in candidate elements for grounding” | source-verified(仅给比值,无 before/after 绝对数量) |
| C2 | low-level grounding 精度 46.8% → 88.28% | number | Table 2 | ”improves accuracy from 46.8% to 88.28%“;No-Pruning 46.80 vs Prune4Web 88.28 | source-verified |
| C3 | Qwen2.5-0.5B 与 3B 变体 grounding accuracy 均为 88.28%(相同) | number | Table 2 | 0.5B(FT)=88.28;3B(FT)=88.28(Recall@20 分别 97.64/97.46) | source-verified(原文即相同值,非明显笔误) |
| C4 | MM2W cross-task Prune4Web-3B 58.4/84.1/52.4 优于 MindAct 55.1/75.7/52.0 | comparison | Table 1 | 数值确认;Prune4Web 领先 Ele.Acc 与 Step SR | source-verified(Op.F1 非最高) |
| C5 | GPT-4o zero-shot cross-task Element Accuracy ≈5.7% | benchmark-setting | Table 1 | GPT-4o: Ele.Acc 5.7 (Op.F1 77.2, SR 4.3) | source-verified(数值);论文未解释该 setting,勿臆测原因 |
| C6 | Table 3 GPT-4o 42.1%→42.1%(无提升);mini 26.3%→31.6%;Qwen 0%→5.2% | number | Table 3 | 各格确认;GPT-4o 两列相同 42.1 | source-verified |
| C7 | two-turn SFT+RFT 52.4% Step SR vs separate SFT+RFT 42.2% | comparison | Table 5 + 正文 | ”RFT … from 46.5% to 52.4%“;separate 42.2 | source-verified |
| C8 | 论文被 AAAI 2026 接收 | venue | arXiv Comments 字段 | ”Paper accepted to AAAI 2026” | source-verified(来自 arXiv 提交 comment,非正文;正文未复述) |
| C9 | LLM 只生成 keyword_weights 参数字典填入固定启发式模板(Algorithm 1),非生成任意 Python 程序 | causal-mechanism | Method / Algorithm 1 | ”the LLM only needs to generate key parameters for this template … a Python dictionary named keyword_weights” | source-verified(据此判定 abstract “executable Python scoring scripts” 为 overstatement,此点 disputed) |
Strengths & Weaknesses
亮点
- Insight 干净且可迁移:把“可规则化的确定性过滤”从 LLM 上下文里剥离交给外部程序,LLM 只提供语义参数与最终 grounding。这对“如何把超长 observation 压缩给 agent”是通用启发,可迁移到 GUI / computer-use 的 a11y tree 处理。
- 一旦施加程序化 filtering,0.5B 与 3B grounder 精度打平(均 88.28%),提示 grounding 的真正瓶颈是 candidate 噪声而非模型容量——这是有价值的 mechanistic 观察。
- 程序可解释、可复用,并显著降低 inference latency 与 token 成本。
局限与批判
- “Programming” 名不副实:LLM 只输出
keyword_weights参数字典,填入固定模板 Algorithm 1,本质是 learned keyword weighting,而非 program synthesis。abstract 的 “executable Python scoring scripts” 属营销性 overstatement(C9)。 - 25∼50× 口径模糊:论文只给比值,无 before/after 绝对元素数;且分母是“原始 DOM”还是“rule-based prefilter 之后的交互元素集”未明确——削减很可能部分来自规则预过滤而非“programming”,把全部归因于核心方法有夸大之嫌。
- Baseline 公平性存疑:GPT-4o zero-shot Element Accuracy 仅 5.7% 异常低,论文未解释 setting(很可能未提供 candidate list、走 free-form 预测);这类“轻松打赢的 baseline”削弱了 SOTA 说服力;retrieval / LLM-read baseline 是否在同一 observation setting 下评测亦未澄清。
- 对强 LLM 增益有限:Table 3 中 GPT-4o 完全无提升(42.1%→42.1%),收益集中在小/弱模型;online 完成率绝对值仍很低(31.6%),真实网页任务远未 solved。
- 解决的是 grounding 而非端到端任务:作者自己的 failure analysis 指出 Planner 才是主 bottleneck,下游精度救不了上游规划错误——方法改善了元素定位,但端到端 web automation 的天花板在规划侧。
Mind Map
mindmap root((Prune4Web)) Problem DOM 10k-100k tokens LLM 读原始 DOM: attention dilution/高延迟 现有: 截断丢信息 / 启发式+ranking 难两全 Method Planner 看 screenshot 拆 sub-task DOM Tree Pruning Programming rule-based prefilter 交互元素 LLM 只出 keyword_weights 参数 固定模板 Algorithm1 tiered 打分 Grounder 只收 top-N(~20) 候选 数据 pipeline + two-turn dialogue(SFT+RFT) Results 候选削减 25-50x(仅比值) low-level grounding 46.8->88.28 MM2W SOTA(cross-task 58.4/84.1/52.4) Table3: GPT-4o 无提升, 收益在弱模型 Planner 是主 bottleneck
Notes
- 与本 vault 的连接:可对照
2504-OnlineMind2Web(MM2W/在线评测口径)、2411-WebRL(web agent RL 训练)、2512-WebOperator(planning 分解)。DOM/observation 压缩这一主线也与 GUI/computer-use 的 a11y tree 处理相关,值得在 CUA-Survey 里作为“observation 压缩”分支的一个数据点。 - 待验证疑点:(1) 25∼50× 的分母口径(原始 DOM vs prefilter 后);(2) baseline 是否统一 observation setting;(3) 0.5B/3B 同为 88.28% 是否触及某种 metric ceiling。若后续引用其数字,建议直接核对 Table 2/Table 3 原文。
- 路由提示:本笔记 tags 含
gui-agent,按 skill 协议 direct commit 时应触发 CUA-Survey 记账(本次 prepare-only 未写入)。