五厂面经真题集商汤科技面经高频商汤考点GUI Agent视觉定位速答 · 约 6 分钟更新 2026-09-30

怎么设计一个能看懂屏幕并操作 GUI 界面的视觉 Agent?

一句话结论

GUI Agent 的链路是截屏感知、意图理解、动作执行、状态验证四步循环;难点在动态页面干扰、坐标精度和多步误差累积。

怎么设计一个能看懂屏幕并操作 GUI 界面的视觉 Agent?

先这样答

GUI Agent 的每个执行循环分四步。第一步感知:截取屏幕图像,用视觉语言模型识别 UI 元素,包括按钮、输入框、菜单和文字,输出 UI 元素树或坐标标注。第二步意图理解:用户说「在购物 App 搜索无线耳机」,Agent 把它分解为打开应用、定位搜索框、输入关键词、点击搜索的子任务序列。第三步动作执行:把决策转成 GUI 操作原语,click 坐标、type 文本、scroll 方向、swipe 滑动。第四步状态验证:执行后再次截屏,确认操作生效,比如输入框里出现了文字、页面发生了跳转,然后进入下一轮循环。

三个核心难点要主动讲。动态页面:加载动画、弹窗会干扰元素识别,需要等待页面稳定的机制。坐标精度:视觉模型预测的点击坐标有偏移,点错位置整个任务就断了,可以用元素框中心点校正,或者先放大目标区域再精确定位。误差累积:长任务链里每步的识别错误会向后传播,所以状态验证环节不能省,发现异常要能重试或回退。

训练这类模型的数据是「指令加操作对」:用户指令、对应截图、标注的操作序列三者配对。来源包括人工标注操作录像、模拟环境自动生成、线上用户确认过的成功操作回流。

面试官会怎么追问

  • 「怎么验证一次点击真的生效了?」 点击后截屏对比。可以查目标元素状态变化,也可以看页面 DOM 或界面整体哈希变化。验证失败要走重试逻辑,连续失败要上报而不是硬闯下一步。
  • 「坐标偏移怎么兜底?」 两级定位:先让模型给出目标元素的大致区域,再在小区域内做二次精确检测取中心点。对按钮这类规则形状,还可以叠加传统目标检测。
  • 「任务中途弹了广告弹窗怎么办?」 状态验证环节识别到意外弹窗,把「关闭弹窗」插入为临时子任务,完成后回到原计划继续。这要求 Agent 的规划是可中断、可恢复的,不是一次性输出死计划。

回答的坑

  • 只讲模型能力,不讲状态验证和异常恢复。工程上后者才是可用性的分水岭。
  • 忽略多步误差累积问题,仿佛每步都完美执行。面试官会追问失败率随步数的变化。
—— 本题完 ——