GUI智能体总是出错, 甚至是不可逆的错误。
即使是像GPT-4o这样的顶级多模态大模型,也会因为缺乏常识而在执行GUI任务时犯错。在它即将执行错误决策时,需要有人提醒它出错了。
阿里通义实验室联合中科院自动化所推出全新的GUI-Critic-R1模型,能在操作执行前对GUI智能体的决策进行诊断,以避免不必要的操作和不可挽回的错误。
GUI-Critic-R1成功纠错的3个案例如下:
指令1:在Joplin应用程序中,有多少与会者参加了名为“员工绩效评估”的会议?
智能体被要求在Joplin应用程序中查找一个文件,但遇到的界面中目标文件不可见,智能体错误地认为应该返回上一个界面。模型建议点击搜索框以找到目标文件,帮助智能体成功地完成了任务。
指令2:删除“专业费用”中所有完全重复的费用项,只保留每项费用的一个实例。
第5步时,智能体错误地决定点击“统计”按钮,这是不正确的。GUI-Critic-R1模型成功地识别了这个错误动作,分析了错误的原因,即选择此按钮会导航到显示费用统计的新界面,这与删除重复费用的要求无关。GUI-Critic-R1模型提出了一个纠正建议:点击“费用日志”以查看详细的费用记录。
指令3:拍摄一条视频。
在第7步,智能体错误地决定再次按下录制按钮,模型建议在这一步终止任务。
动机:为什么动态环境下更要提前避免错误操作?
不同于一般的离线任务,GUI自动化任务在在线交互式环境中执行,需要根据环境的实时状态进行逐步决策。
因此,一旦智能体在某一步出错,该错误将影响后续的一系列操作,从而导致任务失败。因此,在动态环境下,GUI智能体需要具备更高的单步操作准确率。
1 额外的反馈的必要性
受限于有限的反思能力,MLLM通常很难独立检测到自己的错误。
因此,为了确保GUI操作决策的准确性,有必要为基于MLLM智能体提供额外的反馈,包括对动作的正确性、潜在结果和动作建议的评估。
2 操作前反思的必要性
在动态环境中,错误操作通常需要额外的步骤来进行纠正(例如,错误支付后的退款),而一些危险的错误可能是无法弥补的(例如,删除文件)。
因此,为了防止发生这些情况,关于决策的反馈应该在实际执行动作之前提供给智能体。
在实际应用中,GUI 智能体被期望以最少步骤的最佳路径完成指令。而这些反馈也可以鼓励模型选择最优路径,从而提高完成指令的效率。
(a) 展示了GUI自动操作的一个示例。(b-c)的实例中,展示了如何通过操作前反思避免错误和冗余操作。(d) 展示了事前反思方法在AndroidWorld上的定量性能。
方法:实现操作前反思机制的GUI-Critic-R1
为了给GUI智能体提供有效的反馈,研究人员为GUI自动操作任务引入操作前反思机制,并提出一个在实际执行GUI操作前提供有效反馈的操作前反思模型GUI-Critic-R1,以及GUI-Critic数据采集链路:
1. 提出基于推理引导的数据采集链路 (Data Collection Pipeline with Reasoning Bootstrapping)。
构建了包含6k条高质量链式思维注释的 GUI-Critic-Train数据集。此外,还构建了GUI-Critic-Test benchmark,以全面评估Critic模型在mobile和web领域的表现。
2. 提出GUI-Critic-R1训练方法:
(1) 强化微调冷启动 (RFT Cold-Start) 利用采集到的GUI-Critic数据训练模型使其拥有基础的GUI推理能力。
(2) 建议感知的组内相对策略优化 (Suggestion-aware Group Relative Policy Optimization)进一步提升模型的推理与泛化能力。
3. 基于GUI-Critic-Test和AndroidWorld benchmark的实验:
证明了GUI-Critic-R1模型在为GUI操作生成可靠判断和提供改进建议方面的有效性。
上图左侧显示了推理引导的数据收集流程,包括GUI操作数据采集和GUI操作反思数据生成。采用了渐进式CoT范式和推理引导策略,以确保生成数据的质量。右侧为GUI-Critic-R1模型的训练策略。该过程包含GUI-Critic-Train数据集的RFT冷启动,以及建议感知的组内相对策略优化(S-GRPO)。
推理引导的数据采集链路
GUI操作数据采集:
从GUI操作成功轨迹中采集原始数据,每条数据包含指令、当前截图、历史操作和正确的决策。随后,在不提供正确操作信息的情况下,开源MLLM-based 智能体被用于推理这些场景下的操作。根据规则性标准进行评估这些推理结果,保留那些被认为不正确的操作作为负样本。而这样收集的数据可能并不完全可靠。于是借助GPT-4o进一步清洗数据。
GUI操作反思数据生成:
使用MLLM生成对以上收集的数据进行分析判断的推理数据。设计了一个渐进式的CoT范式,帮助MLLM进行有意识、结构化的思考。具体来说,范例包含三个部分:思考过程(think)、分数(score)和建议(suggestion)。这三部分分别对GUI操作的可行性进行逻辑推理,给出结论,并对错误的决策给出改进建议。同时提出了一种推理引导策略,即只提供给大模型环境状态和操作信息让其生成反思内容,选择正确的输出结果。这样能够避免MLLM过度依赖于预先知道的操作正确性结果以及改进建议信息,而生成表面上得到正确结果但不符合逻辑的推理过程。
GUI-Critic-R1训练
构建GUI自动操作的操作前反思模型并不容易,因为它需要对GUI知识、多模态处理和逻辑推理能力有深入的理解。在这一部分中,为了让模型拥有对复杂GUI场景的分析能力,研究人员提出了一种面向建议感知的群体相对策略优化策略(S-GRPO)用于模型训练。首先采用强化微调初始化(RFT冷启动)使模型拥有基础的GUI理解和推理能力。然后,采用S-GRPO进一步增强模型的操作前反思能力。
强化微调冷启动 (RFT Cold-Start)
使用收集到的数据对大模型进行强化微调(RFT)。此阶段,模型能够从人类注释(即正确的GUI操作)中学习到基础的GUI操作知识,并从现有的高性能MLLM蒸馏关于GUI操作推理经验(即生成的渐进式推理数据),从而为模型提供生成操作评论和有效反馈所需的基础能力。
建议感知的组内相对策略优化 (Suggestion-aware Group Relative Policy Optimization)
随后,采用GRPO训练模型,使模型具有更好的推理能力并提高泛化性。一般的GRPO算法会以格式正确性()和回答正确性()作为反馈,来计算各输出结果的组内相对优势。然而,提出的预操作反思模型除了需要输出对操作正确性的判断,还需要对错误操作给出可靠的改进建议。所以仅使用格式和答案正确性作为反馈的通用GRPO是不够的。因此,引入了一种建议感知的GRPO方法,其中包含专门为GUI-Critic设计的建议反馈(),促使模型为错误操作生成可靠的改进建议。为了保证该反馈项的有效性,采用LLM评估模型输出的改进方法是否正确:
其中,表示模型输出的改进建议,表示标注信息。
最终的反馈函数可以表示为:
和分别表示格式正确性反馈项和建议反馈项的重要性权重。
GUI-Critic-Train和GUI-Critic-Test
GUI-Critic-Train数据集是经过推理引导的数据采集链路采集的用于GUI-Critic-R1训练的数据集,包含多场景下的GUI操作数据和反思推理数据,共11K条。下图展示了训练集中使用的数据源和数据分布比例。
上图左侧展示了GUI-Critic-Train中没有Chain-of-Thought (CoT)注释与有CoT注释的数据比例。中间及右侧部分为没有/有CoT注释的数据来源,以及正确操作与错误操作的比例。
GUI-Critic-Test数据集,经过人工标注保证其标签的正确性,包含三个场景:
1. Mobile-Instruction Generalization (GUI-I) 数据源自AMEX数据集。其中指令确保与GUI-Critic-Train中的指令不同。包含656条数据。
2. Mobile-Scenario Generalization (GUI-S) 数据源为Odyssey数据集,包含114条数据。其指令包含与GUI-Critic-Train中不同的应用程序。
3. Web-Scenario Generalization (GUI-W) 包含了418条从GUICourse中随机抽取的web操作样本。尽管web环境中的操作与移动平台不同(例如,对滑动方向的限制和双击的整合),但操作逻辑基本保持一致。
实验:静态/动态环境下性能验证
在GUI-Critic-Test上,静态评估GUI-Critic-R1与闭源/开源MLLM的性能比较如下。
和开源MLLM相比,GUI-Critic-R1在不同场景下均表现出极强的竞争力,甚至在一些场景下超越了闭源模型。结果验证了提出的S-GRPO的优越性和稳健性,尤其是模型能在新环境中和跨应用程序指令的情况下展现出了良好的泛化能力。
在GUI-Critic-Test上,静态评估GUI-Critic-R1与闭源/开源MLLM的性能比较如下。
进一步在AndroidWorld基准上评估模型。结果表明模型取得了最佳的成功率,这验证了其在实际操作中的错误检测和提供改正建议方面的能力。并且模型能引导智能体用以较少的步骤完成任务。
论文链接:https://arxiv.org/abs/2506.04614
GitHub项目:https://github.com/X-PLUG/MobileAgent/tree/main/GUI-Critic-R1
文章来自公众号“量子位”,作者“GUI-Critic-R1团队”
【开源免费】Browser-use 是一个用户AI代理直接可以控制浏览器的工具。它能够让AI 自动执行浏览器中的各种任务,如比较价格、添加购物车、回复各种社交媒体等。
项目地址:https://github.com/browser-use/browser-use
【开源免费】AutoGPT是一个允许用户创建和运行智能体的(AI Agents)项目。用户创建的智能体能够自动执行各种任务,从而让AI有步骤的去解决实际问题。
项目地址:https://github.com/Significant-Gravitas/AutoGPT
【开源免费】MetaGPT是一个“软件开发公司”的智能体项目,只需要输入一句话的老板需求,MetaGPT即可输出用户故事 / 竞品分析 / 需求 / 数据结构 / APIs / 文件等软件开发的相关内容。MetaGPT内置了各种AI角色,包括产品经理 / 架构师 / 项目经理 / 工程师,MetaGPT提供了一个精心调配的软件公司研发全过程的SOP。
项目地址:https://github.com/geekan/MetaGPT/blob/main/docs/README_CN.md
【开源免费】kimi-free-api是一个提供长文本大模型逆向API的开渔免费技术。它支持高速流式输出、智能体对话、联网搜索、长文档解读、图像OCR、多轮对话,零配置部署,多路token支持,自动清理会话痕迹等原大模型支持的相关功能。
项目地址:https://github.com/LLM-Red-Team/kimi-free-api?tab=readme-ov-file
【免费】ffa.chat是一个完全免费的GPT-4o镜像站点,无需魔法付费,即可无限制使用GPT-4o等多个海外模型产品。
在线使用:https://ffa.chat/
【开源免费】XTuner 是一个高效、灵活、全能的轻量化大模型微调工具库。它帮助开发者提供一个简单易用的平台,可以对大语言模型(LLM)和多模态图文模型(VLM)进行预训练和轻量级微调。XTuner 支持多种微调算法,如 QLoRA、LoRA 和全量参数微调。
项目地址:https://github.com/InternLM/xtuner