过去一年,AI Agent 的想象空间被不断拉大:它们可以帮我们整理资料、写代码、浏览网页、操作电脑,也开始越来越多地接收图片、截图、照片、视频帧等视觉信息。一个更自然的下一步是:如果 Agent 今天看过我的房间布局、健康仪表盘、牌局截图、商品 Logo、路线照片,它明天还能不能记得?
这个问题听起来简单,但真正落到多模态长期记忆(multimodal long-term memory)里,并不简单。因为“看过”不等于“记住”,“记住”也不等于“以后能用得上”。
很多系统看似拥有多模态记忆,实际做法却是把图片先转成一段文字描述,也就是 caption,然后把 caption 当成普通文本存进记忆库。这样当然很高效,也很便宜。但问题是:图片一旦被压缩成文字,很多细节就再也回不来了。
论文:https://arxiv.org/abs/2605.15128
数据集:https://huggingface.co/datasets/MemEyeBench/MemEye
代码:https://github.com/MinghoKwok/MemEye
MemEye 是一个面向多模态 Agent 长期记忆的视觉中心评测框架(visual-centric evaluation framework)。它想回答的不是“模型能不能看懂一张图”,而是:
当视觉信息分散在很长的多轮对话和多次 session 里,Agent 能不能保留关键视觉证据,并在状态不断变化时选出当前真正有效的信息?
这也是 MemEye 和很多已有 benchmark 的区别:它不是只给模型更多图片,而是专门测试那些“不能只靠文字、不能只靠 caption、不能只靠语义检索蒙过去”的视觉记忆问题。
在不少多模态记忆任务中,问题虽然带着图片,但答案可能已经被对话文本、选项暗示,或者粗略 caption 泄漏出来。这样一来,模型看起来像是“记住了图片”,但其实只是记住了文字。
举个简单例子,如果问题是“用户上次上传的是厨房照片还是卧室照片”,那 caption 写一句“这是一张厨房照片”就够了。模型不需要真正保留图片。
但真实场景往往不是这么简单。用户可能会问:
这些问题需要的是更细的视觉证据:局部区域、相似实例、小字、颜色、数量、位置关系,以及跨时间的状态更新。普通 caption 很可能只写“有几个样本”“有一个仪表盘”“几个人在玩牌”,但不会把未来所有可能被问到的细节都保存下来。
所以 MemEye 的第一个核心判断是:如果一个 benchmark 可以被 caption 轻松绕过,它就很难证明 Agent 真的有 visual memory。
MemEye 最重要的设计是一个二维坐标系。它把“视觉记忆为什么难”拆成两个方向:
X1 是场景级(scene-level):模型只需要知道大概场景,比如厨房、街道、漫画画面、健康仪表盘。
X2 是区域级(region-level):模型要关注画面中的局部区域,比如房间角落、路口一侧、界面中的某个模块。
X3 是实例级(instance-level):模型要在多个相似对象中认出具体是哪一个,比如两个长得相似的角色、几张相似的卡牌、几个相似的材料样本。
X4 是像素级(pixel-level):模型要读出更细的视觉信息,比如小字、数字、颜色、纹理、精确数量、OCR-like 线索。
Y1 是原子检索(atomic retrieval):找到一条相关证据,基本就能回答。
Y2 是关系关联(relational association):模型要把多条不冲突的线索串起来,比如跨 session 追踪同一个角色或物体。
Y3 是演化综合(evolutionary synthesis):这是最难的。因为后面的视觉证据会更新、覆盖或推翻前面的视觉证据。模型不仅要找相关信息,还要判断哪个状态现在仍然有效。
这里有一个非常关键的区别:相关证据(relevant evidence)不一定是有效证据(valid evidence)。一个旧截图可能和问题非常相关,但如果后来已经被新截图覆盖,它就是 stale evidence,也就是过期证据。
在这个框架下,MemEye 构建了一个覆盖真实生活场景的 benchmark:371 个问题、221 个 sessions、848 轮 dialogue rounds、438 张图片,并且每个问题都有选择题(multiple-choice)和开放回答(open-ended)两种形式。
任务覆盖 8 个生活场景,分布在休闲、家庭、职业、个人四类场景中:牌局记录、漫画娱乐、家装改造、户外导航、品牌记忆、跨场景记忆、健康护理、社交聊天。
为了避免“假视觉问题”,MemEye 还设计了多层过滤机制。比如:只给文字和选项,如果模型能答对,就说明题目可能泄漏答案;把图片替换成极简 caption,如果模型还能答对,就说明原始图片不是必需;给模型正确图片和正确线索,如果还答不出,就说明题目可能本身不清楚。
这些过滤让 MemEye 更像一次视觉记忆体检:它尽量确保留下来的问题,确实需要模型保留并使用图像里的关键证据。
MemEye 评估了 13 种记忆方法,大致可以分成两类。
第一类是文本记忆(text-based memory):把图片转换成 dense caption,再用文本系统做 full context、RAG、反思、记忆更新等。这类方法擅长整理文字状态,但容易丢视觉细节。
第二类是多模态记忆(multimodal memory):保留原始视觉输入,或者用图像 embedding 做检索。这类方法更能保存细节,但也会遇到另一个问题:历史太长、相似图片太多时,它可能找到了“相关图”,却没找到“最新有效图”。
实验覆盖的 VLM backbones 包括 Qwen3-VL-8B-Instruct、GPT-4.1-nano、GPT-5.4-mini 和 Gemini-2.5-flash-lite。选择题用 EM,开放回答主要用 LLM-as-a-Judge。
1.caption 在粗粒度问题上还可以,但细节会掉
MemEye 的结果显示,在场景级和区域级问题上,caption-based memory 仍然有竞争力。原因很简单:整体场景、主要物体、粗略区域通常可以被文字描述覆盖。
但到了实例级和像素级,差距开始出现。因为答案可能藏在一个具体对象的身份、小标签、小数字、颜色差别、局部纹理里,而这些信息很容易被 caption 省略。
这不是 caption 写得不够好,而是 caption 这种表示形式本身就有压缩损失。它必须选择“哪些信息值得写”,但未来问题需要的关键细节,未必在当时被写进去。
所以 MemEye 给出的第一个重要启发是:如果任务需要高精度视觉证据,不能过早把图片压缩成不可恢复的文字。
2.保留原图有帮助,但还不够
既然 caption 会丢细节,那是不是保留原图就解决了?答案也是否定的。
保留原图确实能帮助高 X 轴问题,尤其是实例级和像素级视觉证据。但在 Y3 这类“状态会变化”的任务里,系统还必须知道哪一张图代表当前状态。
例如,一个房间里的标签最开始是 A,后来被换成 B。检索系统可能会把 A 和 B 都找出来,因为它们都和问题相关。但正确答案取决于哪个是最新状态。
这也是 MemEye 里非常重要的发现:语义相关性(semantic relevance)不等于时间有效性(temporal validity)。只会找相似内容的 memory system,很容易被旧证据误导。
3.当前系统不是“不会记”,而是经常卡在不同环节
MemEye 的价值不只是告诉我们哪个方法分数更高,而是帮助定位失败发生在哪里。
有的系统能组织状态变化,但把细节视觉信息丢了;有的系统保留了原图,但在长历史中检索到过期图片;有的系统找到了相关证据,却不会判断哪个证据现在仍然有效;还有的系统在历史变长、话题变多后,会被无关内容干扰。
因此,未来的多模态长期记忆系统可能不能只依赖一个简单的向量检索模块,也不能只把所有历史一股脑塞进 prompt。更可靠的方向可能是三者结合:
很多 benchmark 最后都会变成一个总分排行榜。但对 Agent memory 来说,总分并不足够。因为两个系统可能总分接近,但失败原因完全不同。
MemEye 更像一个诊断工具:它把视觉证据粒度和记忆推理深度拆开,让我们能看清楚系统到底是丢了视觉细节、找错了证据、还是不会处理状态更新。
这对未来的多模态 Agent 非常重要。真实世界里的 Agent 不会只面对一张静态图片。它会遇到不断变化的家、不断更新的健康数据、不断推进的游戏状态、不断切换的工作界面、不断出现新证据的个人上下文。
如果 Agent 不能分清“我以前看过什么”和“现在什么仍然有效”,它就很难成为可靠的长期助手。
MemEye 想提醒我们:多模态长期记忆不是简单地“存更多历史”,也不是把图片变成 caption 后丢进向量库。
真正可靠的 visual memory 至少要同时做到三件事:保留足够细的视觉证据,在长历史中找回正确线索,并在状态变化后选出当前有效的信息。
换句话说,未来的 Agent 不应该只是一个会临时看图的聊天机器人,而应该能在长期交互中持续维护一个关于视觉世界的、可更新的记忆状态。
MemEye 给出了一个清晰的评测起点:让我们不只看模型有没有答对,更要看它为什么答错,以及下一代多模态记忆系统应该往哪里改。
本文来自微信公众号“学术头条”(ID:SciTouTiao),作者:MemEye 团队,36氪经授权发布。
发布时间:2026-05-25 12:15