尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
GUI智能体可见性约束评测与优化
最近在折腾 GUI 智能体说白了就是让 AI 看屏幕截图、自己点按钮、填表单那种东西。我手上有个小工具链拿它跑一些重复的网页操作。跑着跑着就发现一个问题明明按钮就在截图里模型却说找不到元素有时候它又对着一个不可见的浮层猛点点了半天没反应。这就引出一个词可见性约束。简单讲就是智能体只能操作它看得见的东西看不见的、被遮挡的、在视口外的都不该碰。听着像废话但真做起来评测和优化都挺费劲。这篇就聊聊我用 AI 帮我做这块的经历。一、我具体干了什么我手上有一批历史操作轨迹每条轨迹是一串截图加动作。我想知道模型在这些轨迹里有多少次动作是针对实际不可见元素的。人工看太慢我就让 AI 帮我写评测脚本顺带让它帮我分析失败样本。场景很具体给定一张截图和模型预测的点击坐标判断这个坐标落点的元素在截图里到底可不可见——有没有被别的元素挡住、是不是透明度接近 0、是不是在滚动容器外面。二、怎么用的工具用的是 Claude配一个能读图的本地脚本。分三步走。第一步让 AI 帮我把可见性拆成可判定的规则。我给的提示词是这样的可以直接复制你是前端测试工程师。我要评测 GUI 智能体点击的元素是否可见。 请把元素可见拆成若干条可程序化判定的规则每条规则给出 1、判定条件用 DOM 属性或几何信息描述 2、需要读取哪些字段 3、容易误判的边界情况 不要写代码只给规则清单。它返回的清单里有几条我觉得挺实用元素自身 display 不为 none、visibility 不为 hidden、opacity 大于 0.1元素的中心点没有被同层级更高 z-index 的元素覆盖元素矩形与视口矩形有交集。还有一条边界情况提醒得好父元素被隐藏时子元素 computed style 可能仍是 visible得往上遍历祖先。第二步让它生成评测脚本的骨架。提示词基于上面的规则用 Python 写一个函数 is_visible(element, viewport) 入参是 Playwright 的 ElementHandle 和视口尺寸。 要求 1、逐条实现上面的规则每条加注释标明对应哪条 2、覆盖边界情况祖先隐藏、被遮挡、在视口外 3、返回 (bool, reason)reason 说明是哪条规则没过生成的代码我改了两处遮挡检测原来用的是 elementFromPoint我换成了对元素中心点取样因为有些页面有透明遮罩elementFromPoint 会返回遮罩本身。这个改动是我自己踩坑后加的AI 一开始没考虑到。第三步拿失败样本喂给 AI 做归因。我把模型说找不到、但脚本判定可见的样本截图贴进去提示词这是一张网页截图以及智能体预测要点击的目标描述提交按钮。 智能体报告找不到该元素。请分析可能原因按可能性排序 每条给出你在图上观察到的依据。不要下结论说模型不行只分析页面侧原因。三、实测效果先说好的。规则拆解那一步省了我不少时间尤其是祖先隐藏这条我自己大概率会漏。脚本骨架大概七成能直接用改改就能跑。再说翻车的。第一版脚本跑出来误判率不低。有两类问题一类是懒加载。截图那一刻元素还没渲染出来脚本读 DOM 时它已经在了于是判定可见但模型看到的截图里确实没有。这说明评测的时机和截图时机必须对齐不然规则再细也白搭。这个问题 AI 没帮我发现是我对着日志一行行看出来的。另一类是 iframe。跨域 iframe 里的元素脚本读不到 computed style直接抛异常。我后来在脚本里加了降级读不到就标记为未知不计入分母。这块 AI 给的代码没做异常兜底得自己补。归因那一步AI 的分析有对有错。它指出按钮被固定底栏遮挡的那次是对的我回头一看截图确实被 cookie 提示条压住了。但它有两次把元素在折叠区域下方说成元素不存在这就跑偏了。所以归因结果我只当线索不当结论。四、适用边界说说什么时候别用这套。页面结构极度动态的比如每秒都在重排的图表页DOM 快照和截图对不上可见性判定基本没意义别硬套。纯 canvas 渲染的应用也别用。DOM 里就一个 canvas 节点所有规则都失效只能靠图像侧判断那是另一套活儿。还有如果你只是偶尔手动点几下没必要上这套评测。它是给批量轨迹分析用的单次操作人工看一眼更快。最后一句我的判断AI 在这件事里最值钱的是帮你把模糊概念拆成规则清单代码和归因都得自己把关。规则对不对还得靠真实失败样本来验。如果这篇对你有用请扫码关注。
RELATED

相关推荐

2026全球计算大会|远图深度参与算力标准共建,携手OAII社区完善开放计算生态

2026全球计算大会|远图深度参与算力标准共建,携手OAII社区完善开放计算生态

10月21日,2026全球计算大会(CGC 2026)"Open AI Infra技术论坛"在深圳成功举办,论坛由GCC-Open AI Infra社区(以下简称"OAII社区")主办,吸引了算力全产业链近400位技术专家齐…

📅 2026/10/28 10:21:01
一文理清 Excel 只读:分清类型,轻松解除

一文理清 Excel 只读:分清类型,轻松解除

Excel可以设置“只读方式”来保护文件,但是“只读方式”有好几种,如果想要取消的话,方法也不同,对症下药才能顺利解锁,下面一起来看看各种对应的方法吧。第一种,文件被标记为最终版本。打开表格后&#xff…

📅 2026/10/28 10:16:01
别只调Prompt了!大模型落地避坑指南:从Prompt→Context→Harness的进阶之路

别只调Prompt了!大模型落地避坑指南:从Prompt→Context→Harness的进阶之路

文章详解大模型工程的三次进化:从 Prompt Engineering(指令设计)到 Context Engineering(信息管理),再到 Harness Engineering(系统容错)。指出仅靠调 Prompt 无法应对复杂场景&…

📅 2026/10/28 10:16:01
MORE NEWS

更多资讯

📰

拆解 claude-mem:为 Claude Code 构建 AI 长期记忆层

你有没有遇到过这种场景:昨天刚和 AI 助手讨论完数据库选型,今天开个新会话想继续,结果它一脸茫然,连你用的是 PostgreSQL 都不记得,还要从头解释一遍。我在过去一周里被这个问题折磨得够呛,所以才认真把一…

📰

推挽电路从交越失真到直通:偏置、驱动与排障实战

做硬件这行,被问得最多的问题不是“这颗芯片怎么选”,而是“为什么我的输出一接上负载就塌了”。示波器上明明空载时波形干干净净,挂上几十欧的负载立刻变成一条被压扁的正弦,或者干脆只剩半个波。这类问题十有八九会指到同一个地…

📰

昇腾AI自定义算子开发实战:性能提升3倍的优化技巧

1. Ascend_C自定义算子开发全景解析在异构计算领域,算子开发能力直接决定了算法工程师能否充分发挥硬件性能。最近我在昇腾AI处理器上完成了一个图像超分项目的自定义算子开发,实测性能比通用算子提升了3倍以上。本文将完整分享从环境搭建到性能调优的全…

📰

Milvus not in 过滤性能爆炸:推荐系统已读去重架构改造复盘

先交代一下背景,我负责一个内容推荐服务的召回层,文档向量全量放在 Milvus 里,线上流量进来以后先做向量检索,再按用户状态做过滤。用户看完一篇内容就会被写进一个已读集合,下一次推荐时必须过滤掉。这个需求听起来人…

📰

昇腾Ascend_C自定义算子开发与性能优化指南

1. 为什么需要自定义算子开发在深度学习模型部署的实际场景中,我们经常会遇到框架原生算子库无法满足需求的情况。以华为昇腾(Ascend)平台为例,虽然其内置了丰富的算子库,但在以下场景中仍然需要开发者自行实现自定义算…

📰

WinForm中CSV转二进制序列化实战与性能优化

1. WinForm CSV转换与二进制序列化实战概述在工业控制、数据采集等传统Windows桌面应用场景中,WinForm依然是.NET开发者最常用的技术框架之一。最近在为一个设备监控系统开发数据导出功能时,我遇到了一个典型需求:将采集到的CSV格式数据高效转…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬