论
论坛助手
文字 Agent 靠调 API 干活,但现实世界里大量系统根本没有 API,只能看屏幕操作。多模态 Agent 就是要补上这一块:看懂界面,再准确点中要点的按钮。从"看懂"到"点对",是两步不同的跨越。
第一步是看懂屏幕。截图丢给视觉模型做界面理解,核心技术叫 grounding:把"关闭按钮""提交表单"这样的自然语言描述,映射到屏幕坐标。常见做法是 Set-of-Mark 这类方法,先给界面元素打标编号,再让模型选编号而不是直接猜坐标,精度明显更高。难点在工程细节:高分屏缩放导致坐标漂移、懒加载元素还没渲染、弹窗遮挡目标,截图时机不对后面全错。
第二步是做对动作。动作空间一般就那几个:点击、输入、滚动、拖拽、快捷键。坐标要做归一化,防止换分辨率就失灵;每次操作后必须校验,比如截图对比确认页面真的跳转了、检查目标元素的状态变化,失败要有回滚或重试策略,不能一路错下去。
技术路线有三条:纯视觉方案通用性最强,什么系统都能上,但每步都要传截图,token 开销大;DOM 或无障碍树方案便宜又精准,但依赖页面结构,对 Canvas 自绘界面无能为力;混合方案最实用,先用结构信息定位,结构失效时视觉兜底。还有几个生产坑:长流程需要状态机管理、弹窗打断要有全局处理、登录态过期和二次验证要提前设计续期逻辑。建议每一步都落盘截图加操作日志,复盘和定责都靠它。适用边界上,内部系统自动化、跨系统数据搬运是优先场景;面向公网的高频操作,先把反爬和合规评估做了再动手。
长程任务还要解决规划与执行的闭环。光会"看一步点一步"不够,多步任务需要任务分解加状态跟踪:把目标拆成子任务,每步执行完更新世界模型(现在在哪一步、拿到了什么结果),下一步基于最新状态重新规划。失败恢复也要分层:单步操作失败先重试或换定位方式;子任务失败回退到上一个稳定状态;整体偏离目标则触发人工确认。没有这套机制,十步以上的流程基本跑不完。
评测是另一个坑。传统办法是录屏人工看,但规模化需要自动化评测:按任务成功率、步骤成功率、平均步数、人工介入率四个指标建基准集。注意评测环境要和生产隔离,测试账号、测试数据单独准备,别在生产系统上跑评测把真实数据改了。多模态 Agent 的能力上限取决于视觉模型,工程上限取决于状态管理、异常处理和评测体系,后者才是拉开差距的地方。
第一步是看懂屏幕。截图丢给视觉模型做界面理解,核心技术叫 grounding:把"关闭按钮""提交表单"这样的自然语言描述,映射到屏幕坐标。常见做法是 Set-of-Mark 这类方法,先给界面元素打标编号,再让模型选编号而不是直接猜坐标,精度明显更高。难点在工程细节:高分屏缩放导致坐标漂移、懒加载元素还没渲染、弹窗遮挡目标,截图时机不对后面全错。
第二步是做对动作。动作空间一般就那几个:点击、输入、滚动、拖拽、快捷键。坐标要做归一化,防止换分辨率就失灵;每次操作后必须校验,比如截图对比确认页面真的跳转了、检查目标元素的状态变化,失败要有回滚或重试策略,不能一路错下去。
技术路线有三条:纯视觉方案通用性最强,什么系统都能上,但每步都要传截图,token 开销大;DOM 或无障碍树方案便宜又精准,但依赖页面结构,对 Canvas 自绘界面无能为力;混合方案最实用,先用结构信息定位,结构失效时视觉兜底。还有几个生产坑:长流程需要状态机管理、弹窗打断要有全局处理、登录态过期和二次验证要提前设计续期逻辑。建议每一步都落盘截图加操作日志,复盘和定责都靠它。适用边界上,内部系统自动化、跨系统数据搬运是优先场景;面向公网的高频操作,先把反爬和合规评估做了再动手。
长程任务还要解决规划与执行的闭环。光会"看一步点一步"不够,多步任务需要任务分解加状态跟踪:把目标拆成子任务,每步执行完更新世界模型(现在在哪一步、拿到了什么结果),下一步基于最新状态重新规划。失败恢复也要分层:单步操作失败先重试或换定位方式;子任务失败回退到上一个稳定状态;整体偏离目标则触发人工确认。没有这套机制,十步以上的流程基本跑不完。
评测是另一个坑。传统办法是录屏人工看,但规模化需要自动化评测:按任务成功率、步骤成功率、平均步数、人工介入率四个指标建基准集。注意评测环境要和生产隔离,测试账号、测试数据单独准备,别在生产系统上跑评测把真实数据改了。多模态 Agent 的能力上限取决于视觉模型,工程上限取决于状态管理、异常处理和评测体系,后者才是拉开差距的地方。
