Agent Engineering 课程阅读
首页/课程八 · GUI Agent/复现笔记:SoM 有无消融

在 GitHub 查看原文

本页目录

复现笔记:SoM 有无消融

GUI Agent L12 最小 idea 复现。诚实记录 idea / 实现取舍 / 结果 / 与论文差异。

Idea

假设:SoM 标注(Set-of-Mark,给截图上可交互元素画框编号)让通用 VLM 的 grounding 变准——VLM 答编号不答坐标,避开「坐标飘」的命门。无 SoM 时 VLM 直接答坐标,精度低。

来源:SoM(Yang et al. 2023, arXiv:2310.11441)+ SeeAct(Zheng et al. 2024, arXiv:2401.01614)证明 GPT-4V 级 VLM 当 web agent 的瓶颈在 grounding。

实现取舍

取舍 选择 理由
VLM mock(非真实 glm-4v-plus) 最小复现原则——验证「编号 vs 坐标的精度差」机制,不依赖真实模型
坐标飘模拟 elementFromPoint + 随机偏移 比「点击后查 URL 导航」更稳——不依赖导航时序,直接查点击点下方元素
漂移量 ±12px(垂直)/±4.8px(水平) 模拟 VLM 对 y 坐标更不准(行高小),目标链接高 20px,±12 有时中有时不中
判定 命中元素是目标 <a> 且含目标文本 功能性判定「点对了没」,不评路径
试验次数 10 够看趋势,省时间

核心简化:用 mock 代替真实 VLM。这意味着验证的是「编号定位 vs 坐标定位的精度差」这个机制,不是「真实 VLM 的 grounding 能力」——真实 VLM 可能比 mock 的 ±12px 更准或更不准。

结果

路线 成功次数(10) 成功率
有 SoM(编号) 10 100%
无 SoM(坐标) 7 70%

复现成功:有 SoM 的成功率(100%)高于无 SoM(70%),支持「SoM 让 grounding 更准」的 idea。差距 30pp——合理范围(不是 100% vs 0% 的极端,更接近真实 VLM 的表现)。

与论文的差异

  1. 真实性差距:mock 的「坐标飘」用固定分布的随机偏移模拟,真实 VLM 的飘是数据驱动的(看图理解不准),分布不同。真实复现需 --real + glm-4v-plus,让 VLM 真看截图答坐标。
  2. 任务复杂度:本实验单元素单点击。真实 GUI 任务多元素多步,SoM 的价值在复杂布局下更显著(元素密集时坐标更易飘到邻元素)。
  3. 专用模型:UI-TARS 等专用模型不靠 SoM 也强(端到端学动作)。本实验的「无 SoM」模拟的是通用 VLM,不是专用模型——专用模型的坐标准度可能接近 SoM 版。

结论

核心 idea 验证成立:SoM 标注确实让定位更准(100% vs 70%)。

但这是机制验证,不是能力验证: - 真实 VLM 的 grounding 能力需 --real 跑 - 专用模型可能不需要 SoM(端到端学) - SoM 的真正价值在复杂布局/密集元素场景,单元素实验低估了它

判断(结合三轴框架):SoM 这层脚手架会被下一代通用 VLM 吃掉——当 VLM grounding 变准(< 5px 误差),SoM 的 30pp 优势消失。但安全层(allowlist/敏感确认)和评估层(mini-benchmark)不会被吃——它们是工程价值,与模型能力无关。

复现成本

  • 代码:~180 行(含消融框架)
  • 时间:约 1.5 小时(含调试 elementFromPoint 判定)
  • 依赖:playwright + 本地 L00 测试页

一句话总结

SoM 让定位更准(100% vs 70%),但这是「编号 vs 坐标」的机制优势——会被下一代 VLM 的 grounding 进步吃掉;安全层和评估层才是不会被吃掉的工程价值。