公司有两套内部系统没有 API,只有十年历史的老后台。每个月做报表要从后台导出七八个文件再合并,同事手工操作要一个多小时。我试着让 Agent 直接操作浏览器来做,前两周全是坑,这篇把踩过的都列出来。
先给结论表。
| 环节 | 常见问题 | 解法 |
|---|---|---|
| 截图理解 | 全屏截图缩小后看不清 | 按区域裁剪,关键控件单独放大 |
| 坐标点击 | 缩放与双屏导致点偏 | 记录缩放系数,坐标按比例换算 |
| 步骤验证 | 点了没反应也算成功 | 每步操作后截图核对状态 |
| 危险动作 | 误点删除、误提交 | 危险按钮外置清单,人工确认 |
一、截图怎么给模型看
全屏 1920 乘 1080 的截图直接缩到模型输入尺寸,表格里的字全糊了,模型把导出看成导入。我的做法是先按功能区裁剪,工具栏和列表区域分开送,按钮附近再单独放大一档。
分辨率直接决定成本,图片越多每步的 token 越贵。一份两千像素宽的全屏截图按分块计算能吃掉上千 token,裁剪之后常见操作步只要三分之一。多截图和少截图的平衡点在任务类型上,表单填写看区域,图表确认看全屏。
二、点击定位的老坑
坐标换算听着简单,实际第一个坑就是显示缩放。Windows 在 125% 缩放下,截图坐标和实际点击位置差一截,点导出按钮点到了旁边的刷新。解决办法是启动时拿一张已知控件截图做标定,把缩放系数存下来,后续坐标全部换算。
双屏是第二个坑。虚拟桌面坐标可能是负的,第二块屏幕的 X 从负值开始。截图范围只覆盖第二屏时,模型给的坐标是相对截图的,点击时忘了加偏移,全点空。
三、每步验证,别信假设
第一版最要命的毛病是乐观执行。点击之后不检查结果,直接进下一步,二十步操作错在中途,后面全废。改成每步操作后截图核对关键区域,出现预期变化才进下一步。多出来的截图成本,比整段重跑便宜得多。
失败重试也有讲究。点偏了重试要有退避,连续两次在同一坐标失败就换策略,滚动一屏再找,或者放大区域重新定位。死磕同一个坐标只会烧 token。
四、危险动作要外置
老后台的删除和提交没有二次确认弹窗,点下去就生效。这类动作我列了一份清单,Agent 执行到该步骤时暂停,截图发给值班同事确认再继续,接入方式和人工审核队列篇的确认卡一致。
清单之外还有一个兜底,录制完整操作日志和截图序列,任何一步出问题可以回看现场。
五、实测账
| 指标 | 数值 | 口径 |
|---|---|---|
| 报表任务成功率 | 82% | 三十次试验 |
| 平均步数 | 26 步 | 含验证截图 |
| 单次任务耗时 | 6 分钟 | 人工约 40 分钟 |
| 单次成本 | 约 1.2 元 | 含截图 token |
口径说明。数字来自自己项目的单人单机场景,分辨率 1080P,任务类型是数据导出与合并。更复杂的界面和更长的流程,成功率会明显下降。
六、踩坑记录
坑一,缩放系数没标定。125% 缩放下所有坐标系统性偏移,排查了两个晚上才定位到显示设置。启动标定现在是固定动作。
坑二,弹窗遮挡。广告弹窗和老系统提示框会盖住按钮,点击落在弹窗上。每步验证发现状态没变化,加了弹窗检测,出现就先关闭再继续。
坑三,模型自报成功。操作完成与否让模型自己判断,它会说完成,实际表格还停在筛选条件错误的页面上。验证必须截图取证,看具体状态,不看模型的结论。
七、总结
| 环节 | 一句话 |
|---|---|
| 截图 | 按区域裁剪,控件放大 |
| 坐标 | 启动标定缩放,多屏记偏移 |
| 验证 | 每步截图核对,不采信自报 |
| 重试 | 同点失败换策略,退避重试 |
| 危险 | 清单外置,人工确认 |
结合系列。执行循环篇讲 Agent 循环的进度和停机判定,这篇是它在图形界面场景的落地。人工审核队列篇的确认卡接危险动作。结构化输出篇的坐标字段校验放在点击之前,格式不对就重新定位。
来源。电脑操作 Agent 的截图与点击方案按自己的项目实践整理,行业侧的多模态感知与端侧部署信号参考了公开文章(《让 AI 通过屏幕和机器人进入真实世界》),实测数字按自己的项目口径。
觉得有用点个关注。