在移动设备上完成复杂任务时,GUI代理通常需要执行数十个连续操作步骤。以典型的比价购物场景为例:用户可能需要先在京东App搜索商品,切换到淘宝比价,选择更优惠的商品加入购物车,最后通过微信分享给朋友。这类跨应用、多步骤的工作流平均包含32.1个交互步骤(根据AndroTMem-Bench数据),最长可达65步。
传统GUI代理面临的核心困境在于:随着任务步骤增加,系统需要记忆的中间状态呈指数级增长。当前主流解决方案存在两个极端:
完整序列回放:保存所有屏幕截图和操作记录。这种方法虽然信息完整,但会导致:
摘要压缩:用大语言模型生成任务摘要。虽然节省了存储空间,但存在:
实测案例:在"比价后分享"任务中,传统方法在步骤超过20步时,任务完成率(TCR)下降超过60%。失败分析显示,73%的错误源于未能正确复用前期获取的价格信息。
ASM的创新点在于将线性的交互轨迹转化为因果状态图。其核心假设是:长程任务中真正需要记忆的只是少量关键中间状态及其依赖关系。技术实现包含三个关键层:
状态提取层:通过多模态大语言模型(MLLM)实时分析界面,识别6类关键锚点:
依赖建模层:建立锚点间的有向无环图(DAG)。例如:
code复制[价格A] → [比价结果] → [最终选择] → [分享内容]
检索优化层:基于当前决策上下文,动态计算锚点相关性分数:
python复制def relevance_score(anchor, current_state):
# 基于语义相似度和因果距离的加权计算
return α*semantic_sim + β*(1/causal_distance)
采用两阶段验证机制确保状态提取准确性:
mermaid复制graph TD
A[原始截图] --> B{MLLM初始解析}
B -->|提取候选锚点| C[规则验证]
C -->|通过| D[加入记忆库]
C -->|拒绝| E[人工修正队列]
实际部署时的优化技巧:
通过三种技术降低存储开销:
实测数据表明,ASM可将原始轨迹压缩至12.7%的体积,同时保留98.3%的关键决策信息。
ASM系统的模块化实现方案:
| 模块 | 技术选型 | 性能指标 |
|---|---|---|
| 视觉感知 | ViT-H/16 | 83ms/帧 |
| 状态解析 | LLaMA-3-70B | 2.1s/锚点 |
| 记忆存储 | FAISS索引 | 0.3ms/查询 |
| 决策引擎 | GPT-4 Turbo | 1.4s/步骤 |
实测中,这些优化使系统在50步长任务中的延迟仅增加23%,而基线方法通常增长超过300%。
使用AndroTMem-Bench的严格评估协议:
| 方法 | TCR(%) | AMS(%) | 内存占用(MB) |
|---|---|---|---|
| Raw | 41.2 | 45.7 | 4120 |
| Summary | 35.8 | 38.2 | 620 |
| Gemini-3 | 55.2 | 46.1 | 2850 |
| ASM(ours) | 72.4 | 58.9 | 780 |
典型任务中的改进示例:
即使采用ASM,仍有27.6%的任务失败,主要归因于:
解决方案路线图:
对于不同规模的应用场景,推荐以下部署方案:
轻量级方案(<10步任务)
python复制class LiteASM:
def __init__(self):
self.memory = []
self.dependencies = defaultdict(list)
def add_anchor(self, anchor):
# 简化版因果分析
if "price" in anchor.tags:
self.dependencies["decision"].append(anchor)
企业级方案(复杂工作流)
实际部署中的经验教训:
当前原型的局限性催生以下研究课题:
我们在GitHub开源了基础实现,包含:
这种结构化记忆方法正在扩展到更多场景,如:
通过持续优化,ASM有望成为复杂人机协作任务的标准记忆范式。