When Memory Lies: An Empirical Study of Spatial Memory Staleness in VLM Agents
Yushi Sun, Yanjie Zhang
cs.CL
2026-08-05
带持久空间记忆的 VLM agent 会撞上记忆过期:环境变了,记忆还停在旧状态。动态 FrozenLake 上,信任原始旧记忆的 GPT-4o 死亡率 74.4%,比完全不给记忆还高 2.7 倍;一道读时过滤能救回大部分。
带持久空间记忆的 VLM agent 行动时依赖一套「这个格子安全」之类的空间知识。问题是环境会变,记忆却不会自动更新,悄悄过期。论文问的就是:当一个自信的记忆陈述跟眼前的观测冲突时,agent 会怎么办?它能不能在酿成安全错误之前发现这个冲突?
作者把它框成一个安全问题,不是缺功能。记忆记着位置 (5,6) 是安全的冰面,可那格其实已经变成了致命的洞,当前观测也显示是洞,agent 却还攥着那条自信的旧记忆。
测试床叫 SpatialSTALE,是动态版的 FrozenLake。agent 拿到一份持久记忆,每个格子一条文字陈述,标安全或危险。过期是人为注入的:非终点格子会在导航前后或导航中在安全冰面和致命洞之间翻转。三档强度,从随机点翻转(约 9.4% 过期)到在线动态(约 14.3%)。
每个实例配两个任务:先让模型判断每条记忆跟当前观测冲不冲突(检测),再用原始、过滤后或没有记忆去跑目标导航(导航)。检测看模型认不认得出失效信念,导航看认出来之后行为变不变。规模是 1800 次检测加 12000 次文本导航,跨 6 个模型(3 个闭源 GPT-4o、Claude-Sonnet-4.6、Qwen3.6-Plus,3 个开源 GLM-5.1、InternVL3-2B/8B),50 个共享种子,配对 Wilcoxon 检验,α=0.001。
三个发现。
第一,文本能解不代表视觉接地。同样的网格,从文本里能可靠标出过期项的模型,换到视觉 F1 从 0.887(Qwen)一路掉到 0.067(GLM-5.1),最好和最差差了 13 倍。最弱的 GLM-5.1 会流利又自信地下判断,却完全无视图像:6400 次视觉判断里零拒绝、置信度全 1.0,典型幻觉是嘴上说「图里显示是 X」,而 X 其实是记忆里的内容不是图里的。
第二,不审计就吃旧记忆是安全责任。在主场景 L2 加 GPT-4o 上,盲信原始旧记忆只有 14.4% 成功率、74.4% 死亡率;完全不给记忆反而有 28.8% 成功率、28.0% 死亡率。旧记忆比没记忆致命 2.7 倍。
| 策略 (GPT-4o, L2) | 成功率 | 死亡率 |
| 信任原始旧记忆 | 14.4% | 74.4% |
| 不给记忆 | 28.8% | 28.0% |
| OMCD 读时过滤 | 32.8% | 31.6% |
第三,审计有用但堵不上所有窟窿。一道透明的读时过滤器(OMCD)把判官标过的冲突挡在动作提示之外,在文本模式下能去掉大部分安全成本。但即便换成 oracle 的真实过期标签,也没带来进一步的显著提升,作者把这读作「当前样本量下检测不到收益」而非「证明等价」。瓶颈已经挪了:一旦审计可靠,改善过期标签本身解决不了导航策略剩下的动作选择错误。视觉审计不可靠时,过滤也没有稳定收益。
对做记忆增强 agent 的人,结论很硬:一条写得很自信、却跟现场观测冲突的持久空间记忆,是主动的安全隐患,不是缺个功能。读时一致性过滤在文本场景能挡掉大部分代价,但「把过期项在视觉上认出来」和「在过滤后的记忆上做动作选择」这两个瓶颈还没解决。今天上线一个带空间记忆的 VLM agent,得默认它的空间陈述可能悄悄把它带进坑里,除非它先审计再行动。
作者把结论框成有边界的观察。测试床是一个可控的 8×8 FrozenLake、符号化变化、全观测,每条死亡都能追溯到具体某条过期项,代价是这些数字是干净场景下的下界,不是实地估计。文本导航覆盖全部四个导航器、50 种子,但 oracle、轨迹分解、F1-成功相关性这些机理分析只在 GPT-4o 上做,视觉导航只跑了 10 种子的预览。作者不声称 OMCD 普遍优于无记忆推理,也不声称模型间的非对称性能推广。更大的世界、模糊变化、干扰记忆是自然下一步,本文都没测。