HATS: Hardness-Aware Trajectory Synthesis for GUI Agents¶
会议: CVPR 2026
arXiv: 2603.12138
代码: JiuTian-VL/HATS
领域: LLM Agent
关键词: GUI Agent, 轨迹合成, 语义歧义, Monte Carlo Tree Search, 数据对齐
一句话总结¶
提出难度感知的轨迹合成框架 HATS,通过 hardness-driven exploration 和 alignment-guided refinement 的闭环机制,专注采集和修正语义歧义动作的训练轨迹,大幅提升 GUI Agent 在复杂真实场景中的泛化能力。
研究背景与动机¶
基于大型视觉语言模型 (VLM) 的 GUI Agent 在自动化数字任务方面展现了巨大潜力。现有工作(如 OS-Genesis)通常采用轨迹合成 (trajectory synthesis) 的方式构建训练数据——让模型在模拟环境中自主探索,记录操作轨迹并配对指令。然而,这类方法训练出的 Agent 在简单交互上表现尚可,面对复杂场景时却难以泛化。
作者发现问题的根源在于语义歧义动作 (semantically ambiguous actions) 被忽视。这类动作的含义高度依赖于上下文、操作顺序或视觉线索,具体分为三种类型:
上下文依赖 (Context-dependent):同一个图标/按钮在不同页面或不同状态下触发完全不同的功能。例如"+"按钮在邮件应用中是新建邮件,在日历中是新建事件。
顺序依赖 (Order-dependent):某些操作必须在特定前置步骤完成后才能正确执行,跳过中间步骤会导致完全不同的结果。
视觉歧义 (Visually ambiguous):外观高度相似的 UI 元素实际对应不同功能,模型容易混淆。
在现有的随机探索策略下,超过 70% 的采集轨迹都是"打开菜单"、"点击返回"等简单操作,语义歧义动作严重代表性不足。更糟糕的是,即便采集到这类轨迹,单次指令生成也往往产生模糊描述,导致指令与执行之间的语义不对齐。这双重问题严重限制了合成数据的质量和多样性。
方法详解¶
整体框架¶
HATS 要解决的是 GUI Agent 训练数据的一个老毛病:随机采轨迹会让"点设置、点确定"这类简单高频动作被反复采到,而真正难学的语义歧义动作却采不到几条。HATS 用两个模块组成一个闭环来纠偏——Hardness-Driven Exploration 主动去采"难"的轨迹,Alignment-Guided Refinement 保证采到的轨迹"指令-执行"语义对齐,并把对齐失败的信号回灌给探索,让系统越跑越聚焦在难样本上。
%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
A["GUI 环境<br/>状态=节点 / 动作=边"] --> B["Hardness-Driven Exploration<br/>HD-MCTS 按 UCB 优先采高 hardness 轨迹"]
B --> C["初始指令合成<br/>从轨迹自动生成自然语言指令"]
C --> D["Alignment-Guided Refinement<br/>按指令重放,算 action-level recall R"]
D -->|"R < 0.7"| E["精炼指令<br/>注入区分线索修复歧义描述"]
E --> D
D -->|"R ≥ 0.7"| F["入库:高质量对齐轨迹<br/>→ 行为克隆微调 GUI Agent"]
E -.->|"对齐失败信号回灌 hardness(闭环)"| B
关键设计¶
0. 先讲清楚 hardness 到底是什么
整套方法围着 hardness(一个动作的语义歧义程度) 转,所以先把它定下来。直觉上,一个动作越"歧义",就越是:同一个界面状态下有多个外观/语义相近的可点目标,单看一句笼统指令无法唯一确定该点哪个。HATS 用重放可复现性来量化它——一条轨迹配上自动生成的指令后,让 Agent 按指令重新执行,用 action-level reconstruction recall \(R\)(重放出的动作序列与原轨迹逐动作匹配的召回率)衡量对齐度;\(R\) 越低,说明该动作越容易在重放时走偏,hardness 越高。于是 hardness 不是凭感觉打的标签,而是可由"重放掉了多少动作"实测出来的量。
⚠️ 笔者按:原文对 hardness 的精确计分公式未在解读素材中给出,上述"以 \(1-R\) 类比 hardness"是基于论文描述(hardness 作为 MCTS 价值估计、\(R\) 作为对齐度量)给出的自洽解释,具体定义以原文为准。
1. Hardness-Driven Exploration(HD-MCTS):把探索预算花在难处
HATS 把 GUI 探索建模成树搜索:每个 UI 状态是节点、每个动作是边,用 Monte Carlo Tree Search 框架,以 hardness 作为节点价值信号。选择下一步时用 UCB(Upper Confidence Bound)公式,在利用(已知高 hardness 的分支)和探索(访问不足的新状态)之间权衡:优先走 (a) 已知高 hardness 的动作分支、(b) 访问次数不够的新状态,并在搜索中动态更新 hardness 统计。结果是采样分布从"偏向简单高频动作"被掰向"困难歧义动作"。
2. Alignment-Guided Refinement:把笼统指令修到能复现
光采到难轨迹还不够——一条轨迹可能执行正确,但配的指令太笼统(如"点击设置"),重放时根本无法唯一确定路径。Refinement 用"重放验证 + 迭代精炼"做质量闸门:
| 步骤 | 操作 | 说明 |
|---|---|---|
| 1 | 初始指令合成 | 从探索轨迹自动生成自然语言指令 |
| 2 | 指令重放 | 在同一环境中按指令重新执行 |
| 3 | 对齐度量 | 计算 action-level reconstruction recall \(R\) |
| 4 | 指令精炼 | 注入缺失的上下文线索,修复模糊描述 |
| 5 | 迭代检查 | 重复 2–4 直到 \(R \geq 0.7\) |
只有通过对齐检查(\(R \geq 0.7\))的轨迹才进入最终训练语料。
3. 闭环:难样本越难,探索权重越高
两个模块用双向信息流接成正反馈:Exploration 把挑战性轨迹交给 Refinement 验证修复;Refinement 在重放中发现对齐失败的动作,把它们的 hardness 信号回传给搜索模块,抬高这些动作在未来探索中的优先级。于是越难对齐的动作获得越高的探索权重,系统持续往"高质量困难样本"自我聚焦。
一个完整 walkthrough(采集一条"歧义按钮"轨迹)¶
- 探索:HD-MCTS 在某设置页发现"右上角有两个外观相近的图标",该状态 hardness 高,UCB 优先展开,采到一条点击其中一个图标的轨迹。
- 初始指令:自动合成指令="点击图标"——笼统。
- 重放:Agent 按"点击图标"重放,结果点错成另一个相似图标,\(R=0.4 < 0.7\),未通过。
- 精炼:注入区分线索,指令改成"点击右上角齿轮状的设置图标(非旁边的铃铛图标)"。
- 再重放:这次唯一命中,\(R=1.0 \geq 0.7\),轨迹入库。
- 回灌:该动作的对齐失败历史抬高了它的 hardness,未来探索会在类似"多相似图标"状态上投入更多采样。
这条链展示了三件事如何环环相扣:MCTS 找到难点、重放暴露指令歧义、精炼 + 回灌把难样本变成高质量训练数据。
训练策略¶
HATS 的价值在数据合成,最终训练用标准行为克隆 (Behavior Cloning):用合成的高质量轨迹微调 VLM-based GUI Agent,目标是标准的 next-action prediction loss。关键不在训练算法,而在数据——HATS 保证了语义歧义动作被充分表示且指令正确对齐。
实验关键数据¶
主实验¶
在两个主流 GUI Agent 基准上与现有方法的对比:
| 方法 | AndroidWorld (SR%) | WebArena (SR%) |
|---|---|---|
| 基础 VLM (无微调) | ~5.0 | ~3.0 |
| Random Exploration | ~8.5 | ~4.5 |
| OS-Genesis | 11.30 | 6.53 |
| AgentTrek | ~12.5 | ~8.0 |
| DigiRL | ~14.0 | ~9.5 |
| HATS (本文) | 22.60 | 20.60 |
HATS 相比最强基线 OS-Genesis 在 AndroidWorld 上提升约 100%,在 WebArena 上提升约 215%,优势极为显著。
消融实验¶
各模块贡献的消融研究:
| 配置 | AndroidWorld (SR%) | WebArena (SR%) |
|---|---|---|
| Full HATS | 22.60 | 20.60 |
| w/o HD-MCTS (随机探索) | ~15.0 | ~12.5 |
| w/o Alignment Refinement | ~16.5 | ~13.0 |
| w/o 闭环反馈 | ~17.5 | ~14.0 |
| w/o Hardness 信号 (均匀 UCB) | ~18.0 | ~15.5 |
关键发现¶
- 两个模块缺一不可:移除 HD-MCTS 或 Alignment Refinement 都导致显著性能下降,证明探索质量和数据对齐同样重要。
- 闭环反馈是关键催化剂:单独使用两个模块(无反馈连接)也有提升,但闭环集成带来的额外增益说明自适应 hardness 更新至关重要。
- 数据效率极高:HATS 用更少的轨迹数据就能超过基线用大量数据的效果,因为每条轨迹的信息密度更高。
- 对齐阈值 \(R \geq 0.7\) 的选择:过低的阈值引入噪声数据,过高则过度过滤导致数据量不足,0.7 是实验验证的最佳平衡点。
亮点与洞察¶
-
问题定义精准:首次明确提出"语义歧义动作"这一概念,并系统性地将其分为上下文依赖、顺序依赖、视觉歧义三类,为后续研究提供了清晰的分析框架。
-
闭环设计优雅:Exploration 和 Refinement 不是简单的流水线串联,而是通过 hardness 信号形成正反馈循环,这种自适应机制让系统能够自动聚焦最需要改进的部分。
-
质量优于数量:在 GUI Agent 数据合成领域,大多数工作追求更多轨迹,HATS 则证明对轨迹分布和对齐质量的精细控制远比数量重要。
-
MCTS 的巧妙应用:将 GUI 探索建模为树搜索并非首创,但以语义歧义程度作为 MCTS 的奖励信号是非常新颖的设计,将搜索策略与数据质量目标直接挂钩。
-
可复现性强:数据集和模型均已开源在 HuggingFace (wvvvvvw/HATS-Dataset, wvvvvvw/HATS-Model),便于社区验证和复用。
局限与展望¶
-
环境依赖:HATS 的探索需要可交互的 GUI 环境(Android 模拟器、Web 浏览器),对环境搭建和运行效率有较高要求,规模化部署成本不低。
-
对齐验证的天花板:Alignment Refinement 依赖 VLM 自身的判断能力来评估对齐度,如果 VLM 本身对某些歧义动作理解不足,可能产生"盲区"。
-
hardness 冷启动:初始阶段缺乏 hardness 先验信息,前几轮探索可能效率不高,需要一定的预热过程。
-
跨平台泛化:目前验证了 Android 和 Web 两类平台,但 Desktop GUI(如 Windows/macOS 原生应用)的交互模式差异较大,适用性有待验证。
-
可扩展到更复杂任务:当前任务大多是单步或短序列操作,对于需要长期规划的复杂多步任务(如跨应用的工作流自动化),HATS 的 MCTS 搜索树可能面临指数级膨胀。
相关工作与启发¶
- OS-Genesis:此前最强的 GUI 轨迹合成方法,使用随机探索+单次指令生成。HATS 明确针对其两个核心缺陷(探索偏差和对齐不足)提出解决方案。
- AgentTrek:另一种轨迹合成方法,关注任务多样性但未处理语义歧义问题。
- DigiRL:将强化学习引入 GUI Agent 训练,但 RL 的奖励设计在开放世界环境中极具挑战。
- MCTS in LLM:AlphaCode、Tree-of-Thought 等工作已展示 MCTS 在 LLM 推理中的价值,HATS 将其创新性地应用于数据合成场景。
- 启发:该工作的核心思想——"关注数据中的困难样本并确保其质量"——具有很强的通用性,可迁移到其他需要合成训练数据的领域(如机器人操作、自动驾驶决策)。
评分¶
| 维度 | 分数 (1-5) | 说明 |
|---|---|---|
| 创新性 | ⭐⭐⭐⭐ | 首次定义语义歧义动作并提出闭环合成框架 |
| 技术深度 | ⭐⭐⭐⭐ | HD-MCTS + 对齐验证的设计扎实且理论动机清晰 |
| 实验充分度 | ⭐⭐⭐⭐ | 两个主流基准上大幅超越基线,消融完整 |
| 写作质量 | ⭐⭐⭐⭐ | 问题定义清晰,三类歧义动作分析直观 |
| 实用价值 | ⭐⭐⭐⭐⭐ | 数据和模型开源,对 GUI Agent 社区有直接推动 |
| 总评 | ⭐⭐⭐⭐ | GUI Agent 数据合成的重要进展,闭环设计是核心亮点 |