资讯详情

GUI-Critic-R1 实战指南:为 GUI 自动化构建术前错误诊断模型并在 GUI-Critic-Test 上完成评测(Mobile-Agent 家族)

📅 2026/9/16 20:03:46 | 华诺云谱 👁 阅读
GUI-Critic-R1 实战指南:为 GUI 自动化构建术前错误诊断模型并在 GUI-Critic-Test 上完成评测(Mobile-Agent 家族)
GUI-Critic-R1 实战指南为 GUI 自动化构建术前错误诊断模型并在 GUI-Critic-Test 上完成评测Mobile-Agent 家族【免费下载链接】MobileAgentMobile-Agent: The Powerful GUI Agent Family项目地址: https://gitcode.com/GitHub_Trending/mo/MobileAgentGUI-Critic-R1 是 Mobile-Agent 家族中专门面向GUI 自动化术前错误诊断的预操作评价模型本文以其官方文档 GUI-Critic-R1/README_zh.md 为核心骨架结合仓库内 test.py、statistic.py 与 test_files 数据系统讲解模型原理S-GRPO 训练策略、建议奖励机制、GUI-Critic-Test 数据集结构与标注格式并给出可复现的完整评测流程与源码级实现解读。读完本文你将掌握如何安装依赖、配置建议有效性评估所需的 Qwen-72B API、运行python test.py完成模型在 GUI-I / GUI-S / GUI-W 三个测试集上的评估以及批评准确率Critic Accuracy与建议得分Suggestion Score两类指标的底层计算方法。为什么 GUI 自动化需要术前错误诊断与一般的离线多模态任务不同GUI 自动化是在在线交互环境中执行的Agent 需要根据环境的实时状态逐步做出决策。这类任务对每一步决策错误的容忍度较低——任何单步错误都可能累积起来扰乱整个流程甚至导致不可逆转的后果例如误删除、误付款等。这正是 GUI-Critic-R1 的出发点在实际执行操作之前先对 Agent 本轮决策进行术前诊断。官方将其定义为预操作评价模型pre-operative critic model它通过推理当前操作的可能结果与正确性在实际执行前提供有效反馈从而拦截错误操作、修正执行路径。从项目定位看GUI-Critic-R1 属于 Mobile-Agent 这一强大的 GUI Agent 家族仓库中还包含 Mobile-Agent-v1/v2/v3/v3.5、Mobile-Agent-E、PC-Agent、UI-S1 等成员其扮演的正是决策质检员角色执行 Agent 负责做事批评模型负责把关。英文版 README.md 显示该工作已被 NeurIPS 2025 接收论文为 arXiv 2506.04614《Look Before You Leap: A GUI-Critic-R1 Model for Pre-Operative Error Diagnosis in GUI Automation》。核心技术S-GRPO 训练策略与建议奖励机制围绕术前错误诊断这一目标GUI-Critic-R1 在 README 中阐述了三大技术支柱预操作评价模型模型输入包括用户指令、历史操作序列、Agent 本步决策以及执行前的截图含交互区域标注输出对该决策正确/错误的判断并给出修正建议或动作复述。S-GRPOSuggestion-aware Gradient Relative Policy Optimization建议感知的梯度相对策略优化在 GRPO 强化学习框架基础上针对批评任务的特殊性提出了建议感知的变体用于训练构建 GUI-Critic-R1。建议奖励机制suggestion reward结合新颖的建议奖励来增强模型反馈的可靠性——即不仅要求模型判得对还要求模型建议得好建议质量会以奖励形式反馈到训练中。此外作者还开发了一套基于推理引导的数据收集流程reasoning-bootstrapping based data collection pipeline用于创建GUI-Critic-Train和GUI-Critic-Test两个数据集填补了此前 GUI 批评critic评价数据的空白。README 指出在覆盖移动与 Web 两大领域的 GUI-Critic-Test 静态实验上GUI-Critic-R1 相比当前主流 MLLM 在Critic 准确率上具有显著优势在 GUI 自动化基准上的动态评估进一步体现了其在任务成功率与运行效率上的提升。说明以上结论为项目 README 中自述的实验发现具体数值与消融细节建议结合论文原文查阅仓库当前提供的是可在 GUI-Critic-Test 上复现评测流程的官方代码。数据与任务定义GUI-Critic-Test 的结构与标注格式三个测试子集评测数据位于 GUI-Critic-R1/test_files包含三个 JSONL 文件文件数据集行数实测数据特征gui_i.jsonlGUI-I656 行移动端 GUI截图路径以amex/开头覆盖机票、酒店、电商等真实 App 任务gui_s.jsonlGUI-S114 行移动端 GUI截图路径以odyssey/开头额外带有chinese_solusion与chinese_info中文字段gui_web.jsonlGUI-W428 行Web 端 GUI截图路径以guiact/开头决策为computer_use工具调用格式从数据内容看可以推断GUI-I 与 GUI-S 对应移动端批评样本、GUI-W 对应 Web 端批评样本三者在任务来源与决策动作描述格式上存在差异正好构成跨端域的评估集。JSONL 字段解析每个 JSON 对象包含三个核心字段images截图文件路径列表相对data_dir的路径如[amex/correct/f47267cffa1a4c7393fdd20ab8219bb6step12.png]。路径中correct/与incorrect/子目录同时隐含了样本的真实类别标签。problem完整的批评任务提示词prompt包含四部分信息用户指令User instruction历史操作History此前各步骤的动作文本序列本步决策Decision如{action: click, coordinate: [1271, 1715]}截图Image执行该动作前的屏幕状态带坐标参数的动作会用半透明红色圆圈或红色箭头标注交互区域。solution标准答案格式为Correct \n 建议或Incorrect \n 更优动作第一行是正确性标签第二行是单步建议20 词以内。批评任务的输入输出格式problem字段中完整定义了批评任务的工作流是理解模型能力边界的关键决策分析Decision Analysis三步骤Observation观察不参考用户指令仅分析截图状态关注与操作决策相关的可操作元素或信息元素Possible Result可能结果推测执行该决策后最可能的界面变化判断是否推进核心任务进度Critique批评结合历史操作与前述分析判断该决策是否正确、是否支持完成指令。附加的推理规则内置提示约束只执行指令中指定的动作切换 App 时 Home 按钮是正确的选择搜索时点击搜索建议与按 Enter 都是正确的。输出格式为三段式标签thinking **Observation**: ... **Possible Result**: ... **Critique**: ... /thinking score Correct or Incorrect /score suggestion 如果正确则简要复述动作如果错误则给出更优的 20 词内单步建议 /suggestion这段标注格式同时是 S-GRPO 训练与推理阶段共享的任务模板score标签供批评准确率计算使用suggestion标签供建议有效性Suggestion Score计算使用。快速开始在 GUI-Critic-Test 上运行评测按照 README_zh.md 的步骤只需三步即可完成评测。第一步安装依赖仓库依赖清单见 GUI-Critic-R1/requirement.txt注意文件名是单数requirement.txtpip install -r requirements.txt依赖包括requests、tqdm、Pillow、numpy、dashscopeQwen-72B 建议评估 API、transformersQwen2.5-VL 模型加载、torch、scikit-learn指标计算、modelscope模型下载、qwen_vl_utils视觉输入处理。第二步配置 Qwen-72B API在 statistic.py 中配置 Qwen-72B 的 API。脚本顶部定义了一个全局变量API sk-04507fb92f4249c480095126bc662828该 API Key 用于建议有效性计算Suggestion Score评测需要调用qwen2.5-72b-instruct通过 dashscope 的Generation.call来判断模型生成的建议与标准建议是否语义等价。运行前请替换为你自己的API Key 并确认可访问的端点。第三步运行主评测脚本python test.py --model_dir model_directory \ --test_file test_file_path \ --save_dir output_directory \ --data_dir dataset_directory参数说明如下参数作用默认值源码 test.py--model_dir包含待评测模型的目录Qwen2.5-VL 架构models/--test_file测试文件的路径即三个 JSONL 之一test.jsonl--save_dir保存结果的目录output/--data_dir包含数据集的目录images字段引用的截图位于其下dataset/示例评测 GUI-I 数据集python test.py --model_dir ./GUI-Critic-R1-model \ --test_file GUI-Critic-R1/test_files/gui_i.jsonl \ --save_dir ./output \ --data_dir ./gui_data运行结束后会在--save_dir下生成与测试文件同名的输出文件命名规则为{原名}_output.jsonl源码见 test.py例如gui_i_output.jsonl。终端会打印完整指标与Suggestion score。⚠️ 运行前提test_files中的 JSONL 仅包含问题文本与标注images字段指向的截图不在仓库内。中文 README 的 TODO 中发布测试数据图像尚未勾选英文 README.md 的更新信息显示 GUI-Critic-Test 数据集与模型检查点已上传至 Hugging Face。本地复现时请确保data_dir下存在images字段对应的截图目录结构。源码级解读test.py 的评测主流程test.py 是评测入口其执行链路可拆分为五个阶段。1. 数据读取。read_json逐行解析 JSONL 得到data_listtest.pysave_list_to_jsonl负责将带评测结果的数据回写test.py。2. 模型与处理器加载。使用Qwen2_5_VLForConditionalGeneration.from_pretrained(model_dir, torch_dtypeauto, device_mapcuda)加载模型并用AutoProcessor.from_pretrained(model_dir, max_pixels602112)构建处理器——max_pixels602112限制输入图像的最大像素数控制显存占用与推理耗时test.py。3. 推理调用链。critic_inferencetest.py内部组装消息系统提示为You are a helpful critic agent for GUI operation.用户消息为data[problem]文本 data[images][0]对应的截图通过processor.apply_chat_template生成对话模板再由process_vision_info提取图像输入调用model.generate(**inputs, max_new_tokens2048, top_k1)解码top_k1近似贪心保证评测可复现内置失败重试异常时打印错误并sleep(10)最多重试 1 次第 2 次失败直接抛出。4. 答案解析与逐条记录。从模型输出中截取score与/score之间的内容作为critic_result并做去空格、去换行处理随后将critic_response完整输出、critic_result、accuracy_value写回数据条目test.py。5. 汇总指标。循环结束后调用statistic.py的get_result(data_list)计算最终指标见下节最后将带结果的数据落盘为*_output.jsonltest.py。源码级解读statistic.py 的两类指标计算statistic.py 承担全部评估函数与指标计算核心是批评准确率与**建议有效性Suggestion Score**两大指标。批评准确率二分类指标体系get_resultstatistic.py先做标签归一化真实标签solution中包含Incorrect记为 0否则记为 1模型预测critic_result含Incorrect记为 0、含Correct记为 1其余记为 2视为无效输出。随后calculate_metrics_binarystatistic.py基于混淆矩阵输出全套指标指标含义Overall Accuracy整体批评准确率正确数 / 总数Precision / Recall / F1 Score针对正确Correct类别 1的精确率、召回率与 F1Accuracy Class 0 / Class 1各类别的分别准确率Format Error格式错误率预测值非 0/1 时被计为格式错误并按1 - gt计入错误预测get_result会按metric * 100保留两位打印并输出Test_Num样本总数。建议有效性Suggestion Score 与 Qwen-72B 相似度判断批评模型的建议质量无法用字符串精确匹配衡量因此采用语义等价判断用 Qwen-72B 判断模型生成建议与标准建议是否描述同一动作。calculate_suggestion_accstatistic.py从solution第一行取正确性标签、第二行取标准建议从模型响应中解析score与suggestionion两个标签注意源码中建议标签的解析写法为suggestionion与提示模板中的suggestion存在拼写差异若要适配自己模型的输出请核对此处解析标签是否与输出格式一致。similarity_measurestatistic.py调用qwen2.5-72b-instruct使用如下模板判断两条动作描述的相似性The following two sentences describe actions on a mobile: 1. {ground_truth} 2. {prediction} Determine whether these two sentences describe a similar action? If yes, answer **Yes**, if not **No**, no explanation required.响应含Yes记 1否则记 0调用失败时最多重试 3 次Attempt_Num 3每次间隔 10 秒。最终get_result通过ThreadPoolExecutorMAX_WORKERS 5并发处理全部样本的建议得分累加后输出Suggestion score百分比形式。并发设计显著缩短了大规模样本下调用外部 API 的总耗时。结果解读、运行注意与后续路线结果解读。评测输出中Overall Accuracy直接反映模型的批评判断能力这是 README 强调的核心指标Suggestion score反映其建议质量——对应 S-GRPO 中建议奖励所优化的维度Format Error可用于排查模型输出格式的稳定性。README 指出除静态评测外将 GUI-Critic-R1 应用于 GUI 自动化基准的动态评估如 AndroidWorld还可带来任务成功率与运行效率的提升仓库后续计划TODO中即包含发布在 AndroidWorld 基准上应用 GUI-Critic-R1 的测试代码。运行注意基于源码实现总结。评测目标模型需为 Qwen2.5-VL 架构Qwen2_5_VLForConditionalGeneration且model_dir需包含与AutoProcessor匹配的配置statistic.py中的 API Key 必须替换否则建议有效性计算会失败单样本输入包含一张截图请为max_pixels602112对应的预处理预留足够的 GPU 显存若自训练模型的输出标签与thinking/score/suggestion三段式格式不一致需要同步调整 test.py 与 statistic.py 中的解析逻辑。后续路线。根据 README 的 TODO 列表官方计划陆续发布测试数据图像、模型检查点、GUI-Critic-Train 数据集以及 AndroidWorld 基准上的集成测试代码——这些发布后即可在更多场景下复现论文的静态与动态评估结论。引用若 GUI-Critic-R1 对你的研究与应用有帮助README 提供了官方 BibTeXarticle{wanyan2025look, title{Look Before You Leap: A GUI-Critic-R1 Model for Pre-Operative Error Diagnosis in GUI Automation}, author{Wanyan, Yuyang and Zhang, Xi and Xu, Haiyang and Liu, Haowei and Wang, Junyang and Ye, Jiabo and Kou, Yutong and Yan, Ming and Huang, Fei and Yang, Xiaoshan and others}, journal{arXiv preprint arXiv:2506.04614}, year{2025} }进一步阅读仓库内相关资料GUI-Critic-R1/README.md英文版文档与最新新闻、GUI-Critic-R1/README_zh.md本文档原文。【免费下载链接】MobileAgentMobile-Agent: The Powerful GUI Agent Family项目地址: https://gitcode.com/GitHub_Trending/mo/MobileAgent创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
📝

华诺云谱内容团队

资深建站顾问 · 行业研究员

10年+企业数字化服务经验,专注智能建站、SEO优化与品牌营销,持续输出建站技巧、行业洞察与营销干货,已帮助5000+企业实现数字化增长。

你可能需要的服务

订阅华诺云谱资讯周报

每周一封,精选建站技巧、SEO与营销干货,直达邮箱。已有 8,000+ 企业主订阅,助你少走弯路。