Agent-SAMA: State-Aware Mobile Assistant¶
会议: AAAI 2026
arXiv: 2505.23596v3
代码: Zenodo
领域: LLM Agent / 移动端GUI自动化
关键词: GUI Agent, 有限状态机, 多Agent协作, 错误恢复, 移动端任务自动化
一句话总结¶
提出Agent-SAMA,首次将有限状态机(FSM)引入移动端GUI Agent,将UI屏幕建模为状态、用户操作建模为转移,通过四个专门化Agent协作实现状态感知的任务规划、执行验证和错误恢复,在跨App基准上成功率提升最高12%、恢复率提升13.8%。
背景与动机¶
移动端GUI Agent利用MLLM理解UI截图并执行点击/滑动等操作,已有AppAgent、Mobile-Agent系列等工作。但现有Agent本质上是反应式(reactive)的——仅根据当前屏幕决策下一步操作,缺乏对App导航流程的结构化表示。这就像游客逐条街道走,知道去过哪里但对整个路线没有全局理解。这导致三个关键缺陷:1)无法理解执行上下文(当前处于任务的哪个阶段);2)无法检测操作结果是否符合预期;3)错误恢复无结构化支撑,容易陷入重复失败循环。
核心问题¶
如何为GUI Agent提供结构化的App导航表示,使其能够追踪执行进度、预判操作结果、在出错时精准回退到稳定状态?这在跨App长步骤任务中尤为重要,因为操作链条长、出错概率高,反应式Agent难以胜任。
方法详解¶
整体框架¶
Agent-SAMA是一个多Agent框架,包含四个阶段:规划(Planning)→ 执行(Execution)→ 验证与恢复(Verification & Recovery)→ 知识保留(Knowledge Retention)。核心创新在于用FSM \(\mathcal{M} = (S, A, T, s_0, G)\) 建模App交互:UI屏幕为状态\(S\),用户操作为动作\(A\),屏幕间的转换为转移函数\(T\)。FSM在执行过程中实时增量构建。
关键设计¶
- Planner Agent + LLM-as-Judge 规划:将高层任务分解为子任务序列\(\pi = [(g_1, r_1), ..., (g_k, r_k)]\),每个子任务附带理由说明。关键创新是生成5个候选计划,然后用LLM-as-judges根据目标相关性、执行效率、鲁棒性等维度评估选出最佳方案,避免单路径规划的次优问题。
- State Agent + FSM 实时构建:执行阶段的核心模块。Screen Parser提取UI元素坐标和描述,State Agent将每个屏幕映射为FSM节点,包含三个要素:当前状态描述\(d_i\)、下一状态预测\(d_{i+1}\)、前置/后置条件(pre/post-condition)。为避免状态爆炸,引入State Beacon机制——为每个状态生成简洁语义标签(如"Homepage of Walmart"),新状态先匹配已有beacon,匹配则复用节点。跨App任务中每个App维护独立FSM。
- Reflection Agent 错误恢复:利用FSM进行结构化验证与恢复。比较FSM预测的转移(含后置条件)与实际屏幕,输出三种判定:Success/NoChange/Fail。失败时利用FSM找到之前验证过的稳定状态\(s_j\),生成恢复计划回退重试。若连续恢复失败(\(n=2\)次),升级到Planner重新规划,防止陷入恢复死循环。
- Mentor Agent 知识保留:任务结束后提取可复用知识\(K\)(动作序列、指导线索、构建的FSM),存入长期记忆。新任务开始时检索相关知识作为上下文(如Walmart的购物FSM可迁移给Amazon),提升规划效率和鲁棒性。
损失函数 / 训练策略¶
无需训练,全部通过prompt engineering驱动MLLM(GPT-4o),温度设为0以减少变异。Screen Parser使用DBNet做OCR、GroundingDINO做图标定位、Qwen-VL-Plus生成图标描述。
实验关键数据¶
| 数据集 | 指标 | Agent-SAMA | Mobile-Agent-E+Evo | 提升 |
|---|---|---|---|---|
| Mobile-Eval-E | Success Rate | 84.0% | 72.0% | +12.0% |
| Mobile-Eval-E | Recovery Success | 71.88% | 67.34% | +4.53% |
| Mobile-Eval-E | Action Accuracy | 83.24% | 76.65% | +6.59% |
| Mobile-Eval-E | Satisfaction Score | 86.15% | 78.97% | +7.18% |
| SPA-Bench | Success Rate | 80.0% | 75.0% | +5.0% |
| SPA-Bench | Recovery Success | 66.67% | 52.86% | +13.81% |
| AndroidWorld | Success Rate | 63.7% | 53.4% | +10.3% |
消融实验要点¶
- 规划模块影响最大:移除Planner后,Mobile-Eval-E的SR从84%骤降到52%,SPA-Bench从80%降到45%
- 多计划选择有效:单路径规划 vs 5候选+Judge选择,SR差异约12%
- Pre/Post条件:移除后SR从84%降到72%(M-Eval-E),对验证和恢复质量影响明显
- Mentor知识保留:移除后SR从84%降到68%(M-Eval-E),说明跨任务知识迁移很重要
- 四个组件互补增强,缺一不可
亮点¶
- 首次将FSM引入GUI Agent:将移动App交互建模为状态机是自然且有效的抽象,为agent提供了结构化记忆和推理支撑
- State Beacon去重机制:简洁实用,有效缓解状态爆炸问题
- 错误恢复流程设计精巧:FSM提供稳定锚点、分级恢复策略(先局部回退,再全局重规划),实际减少了执行错误次数(32 vs 49 on M-Eval-E)
- Agent-SAMA在弱MLLM下也有竞争力:使用Claude 3.5时仍优于GPT-4o版本的baseline,说明框架本身的增益独立于底座模型
- 方法是模型无关的:FSM层可作为轻量级记忆层插入任何现有GUI Agent
局限性 / 可改进方向¶
- State Beacon依赖LLM文本匹配:可能存在误匹配或漏匹配,可考虑替换为视觉-语义嵌入做高效匹配
- 扁平FSM在超长链任务中可能状态爆炸:跨5+个App、20+步操作时缺乏层次化抽象
- 仅评估了三个基准:缺少对动态内容(广告弹窗等)、外部中断等场景的评估
- 不同运行结果有波动:与原论文报告的baseline结果有差异,虽做了5次重复取平均但仍有不确定性
- 知识保留中的FSM跨App迁移的有效性未单独量化
与相关工作的对比¶
- vs Mobile-Agent-E+Evo:同样的多Agent架构和长期记忆,但Agent-SAMA增加了FSM结构化表示,使得恢复更精准(恢复率高4.5%~13.8%)、执行错误更少
- vs GUI-Xplore:两者都用图建模App导航,但GUI-Xplore从离线视频构建静态图用于推理评估;Agent-SAMA在线实时构建FSM并用于执行决策和恢复,是"在线+实用"的版本
- vs AgentS2/V-Droid:这些是AndroidWorld上的强baseline(54.3%/59.5%),Agent-SAMA以63.7%超越,且Agent-SAMA更侧重跨App长链任务
启发与关联¶
- 与已有idea的直接关联:ideas/llm_nlp/20260317_hierarchical_fsm_gui_agent.md 提出了层次化FSM + 嵌入式状态匹配的思路,正是针对本文的两个核心瓶颈(扁平FSM的状态爆炸 + LLM文本匹配的开销)。本文的实验结果(state beacon的有效性、跨App独立FSM设计)进一步验证了层次化改进的可行性
- FSM作为通用Agent记忆层:本文论证了FSM可以作为"轻量级、模型无关的记忆层"——这个思路可以推广到Web Agent、桌面端Agent甚至具身Agent中
- LLM-as-Judge用于计划选择:生成多个候选计划再用Judge打分选择,比单次生成更鲁棒,这个设计模式在其他Agent场景(如代码生成、科研自动化)中也值得借鉴
- Pre/Post Condition的形式化思路:来自传统软件工程的契约式设计(Design by Contract),在LLM Agent中重新焕发价值
评分¶
- 新颖性: ⭐⭐⭐⭐ (FSM建模App交互的思路很自然,真正创新在于工程化落地和多Agent协作设计)
- 实验充分度: ⭐⭐⭐⭐ (三个基准、消融实验、多MLLM对比,但跨App知识迁移效果缺少定量分析)
- 写作质量: ⭐⭐⭐⭐ (结构清晰、图示直观,附录含完整prompt和案例,但部分表格排版略乱)
- 价值: ⭐⭐⭐⭐ (FSM作为Agent记忆层的思路具有通用性,代码已开源,可作为后续研究的起点)