用文字记住图片,是一种错觉:MemEye用「原图证据」重测多模态Agent Memory

AITNT-国内领先的一站式人工智能新闻资讯网站
# 热门搜索 #
用文字记住图片,是一种错觉:MemEye用「原图证据」重测多模态Agent Memory
5821点击    2026-05-27 08:46

多模态Agent最容易制造的一种错觉是:它看过图片,所以它记住了图片。


但在很多真实系统里,图片并没有作为“视觉证据”长期存在。它往往先被模型压缩成一段 Caption,再被存进向量库、摘要系统或长期记忆模块里。后续 Agent 回答问题时,真正被检索出来的不是原图,而是一段已经被改写、压缩、筛选过的文字。


问题就在这里:用文字记住图片,不等于记住图片本身。


Caption可以描述一个房间、一张截图、一块色卡、一个角色出现在画面里,但它很容易丢掉更关键的东西:局部布局、相似物体之间的身份差异、精确颜色、小字、纹理,以及视觉状态随时间变化后的当前版本。


为此,罗格斯大学 & 圣母大学Minghao Guo、Qingyue Jiao、Zeru Shi联合普林Mengdi Wang团队、AMD提出《MemEye: A Visual-Centric Evaluation Framework for Multimodal Agent Memory》评估诊断框架,试图回答:多模态Agent的长期记忆,究竟是在记住“文字化后的摘要”,还是在保留并使用真正的视觉证据(visual evidence)?


用文字记住图片,是一种错觉:MemEye用「原图证据」重测多模态Agent Memory


用文字记住图片,是一种错觉:MemEye用「原图证据」重测多模态Agent Memory


当前问题:视觉证据经常不是“必需品”


先说一个容易被忽略的现实。


现在很多multimodal memory benchmark看起来包含图片,也要求模型在长对话中回答问题。但这并不一定意味着模型必须依赖原始图片才能回答。


有些问题虽然看起来是视觉问题,但答案可能已经藏在对话文本里;有些图片只需要一句很粗略的caption就能替代;有些多轮记忆任务考察的是“有没有记住文字事实”,而不是“有没有保留视觉细节”。


举个直观例子:


如果问题是:


“用户上次上传的是一张厨房照片还是卧室照片?”


那caption写一句“这是一张厨房照片”就足够了。Agent不需要真的保留图像。


但如果问题变成:


“后来出现在地板旁边的三个柜门样本中,哪一个和之前靠近铜色把手的样本是同一个?”


这就不再是普通caption能轻松解决的问题。模型需要保留局部区域、相似物体、实例身份(instance identity)之间的细微差别。


再进一步,如果问题是:


“最开始化石柜里的标签编号是A,但后来展柜被重新贴了标签。现在有效的编号是多少?”


这不仅需要看清图片,还需要判断哪个视觉状态是最新的、有效的,也就是要处理视觉记忆中的更新、冲突和覆盖。


这类问题在真实Agent场景中非常常见:家装设计会改方案,导航场景会出现新的路况,健康仪表盘会更新数值,游戏状态会不断变化,社交聊天中的人物或物品也可能跨session重新出现。


所以,真正困难的不是“模型能不能看图”,而是:


它能不能在很长的历史中,保留足够细的视觉证据,并在状态变化后选出当前仍然有效的证据?


这正是MemEye的出发点。


核心动机:图转文不能代表真正的视觉记忆


很多系统为了节省成本,会把图片转换成文字描述,再把这些描述存进memory。这个做法叫做caption hack,很实用,也很常见。


但是它有一个天然风险:图像一旦被压缩成文字,很多信息就不可逆地消失了。


比如:


  • 小标签、小字、数字、颜色深浅;
  • 两个相似人物或物体之间的身份差异;
  • 画面局部区域的位置关系;
  • 某个物体后来被移动、替换、覆盖的视觉证据;
  • 多张图片之间的状态更新链条。


这些信息在caption中很容易被省略,因为caption通常会优先描述“看起来重要”的整体语义,而不是保留所有潜在未来问题需要的细节。


这就带来一个benchmark设计上的关键问题:


如果一个benchmark中的问题可以靠caption或对话文本回答,那它就很难证明系统真的具备visual memory。


因此,MemEye的目标不是简单增加更多图片,也不是只看最终准确率,而是建立一个更细的诊断框架,去区分不同失败原因:


  1. 是不是视觉证据被压缩掉了?
  2. 是不是找到了相关图片,但找错了时间点?
  3. 是不是证据都在,但模型不会整合更新后的状态?
  4. 是不是当前的多模态memory架构只解决了其中一部分问题?


MemEye:两个轴拆开看“视觉”和“记忆”


MemEye最核心的设计,是一个二维评估框架(two-dimensional evaluation framework)。


这个框架把多模态长期记忆拆成两个相互独立但又会交织的维度:


  • X轴:视觉证据粒度(Visual Evidence Granularity)
  • Y轴:记忆推理深度(Memory Reasoning Depth)


用文字记住图片,是一种错觉:MemEye用「原图证据」重测多模态Agent Memory


X轴:模型到底需要记住多细的视觉证据?


X轴衡量的是:回答问题所需的决定性视觉证据有多细。


X1:场景级证据(Scene-level Evidence)


这是最粗粒度的视觉证据,比如场景类型、整体活动、全局语义。


例子:画面是在厨房、街道、漫画场景,还是健康仪表盘?


这类信息通常比较容易被caption保存下来。


X2:区域级证据(Region-level Evidence)


模型需要理解局部区域,而不是只看全局。


例子:房间某个角落的柜子、地板上的样本、路口某个区域的障碍物。


这时,问题已经开始依赖局部布局和区域关系。


X3:实例级证据(Instance-level Evidence)


模型需要在多个相似对象或人物中区分“具体是哪一个”。


例子:三个相似柜门样本中,哪一个和之前出现的是同一个?漫画里两个长得相似的角色,谁在后面再次出现?


这类问题很容易被caption “拍扁”。一句“有三个样本”并不能保留每个样本的身份。


X4:像素级证据(Pixel-level Evidence)


这是最细的视觉证据,包括小字、数字、颜色、纹理、精确数量、OCR-like信息。


例子:仪表盘上的数值、展柜标签编号、衣服上的小图案、品牌Logo的细小差别。


这类信息最容易在文本摘要中丢失,也是最能暴露caption-based memory局限的地方。


Y轴:模型要怎样使用这些记忆?


Y轴衡量的是:在找到视觉证据之后,模型需要进行多复杂的记忆推理。


Y1:原子检索(Atomic Retrieval)


一个证据点就足够回答问题。


例子:只要找到某一轮图片,就能回答当时背景是什么。


这主要测试memory access,也就是能不能取回需要的东西。


Y2:关系关联(Relational Association)


模型需要把多个非冲突的线索串起来。


例子:跨session比较两个事件的先后顺序,或者把一个人物在前后不同画面中的出现联系起来。


这里的信息是累积的,不存在后面推翻前面的情况。


Y3:演化综合(Evolutionary Synthesis)


这是最难的一层。模型需要处理更新、冲突、覆盖和状态变化。


例子:一个物体最开始放在A位置,后来被移到B位置;一个标签最开始是旧编号,后来被换成新编号;一个路线一开始可行,后来因为障碍物变得不可行。


这时,模型不能只找到“相关证据”,还必须判断:


哪一个证据是当前有效的视觉状态(current valid visual state)?


这就是很多retrieval-based memory容易失败的地方。它们可能找到了语义相关的旧图片,却没有意识到旧证据已经被后续视觉信息覆盖。


MemEye数据集:让图片变得不可替代


基于这个二维框架,研究者构建了一个视觉中心的长期记忆benchmark。


用文字记住图片,是一种错觉:MemEye用「原图证据」重测多模态Agent Memory


MemEye包含:


  • 371个问题
  • 221个sessions
  • 848轮dialogue rounds
  • 438张图片
  • 8个生活场景任务
  • 每个问题都有 multiple-choice(选择题) 和 open-ended(开放回答) 两种镜像形式


这8个任务覆盖四类真实生活场景:


  • Leisure(休闲娱乐)
  • Card Playlog(牌局记录):追踪牌局状态、回合变化与历史记录
  • Cartoon Entertainment(漫画娱乐):记忆漫画角色、情节线索与叙事关系
  • Domestic(日常生活)
  • Home Renovation(家装改造):追踪家装状态、设计选择与后续更新
  • Outdoor Navigation(户外导航):记忆路线、地标位置与空间关系
  • Professional(专业场景)
  • Brand Memory(品牌记忆):记住 Logo、品牌视觉元素与视觉身份变化
  • CrossScene Memory(跨场景记忆):追踪不同场景中的物体状态与更新关系
  • Personal(个人场景)
  • Health Care(健康护理):记忆仪表盘、健康数据与状态更新
  • Social Chat(社交聊天):记住聊天过程中出现的视觉细节与上下文线索


用文字记住图片,是一种错觉:MemEye用「原图证据」重测多模态Agent Memory


更重要的是,MemEye在构建时做了多层过滤,尽量避免“看起来是视觉问题,实际靠文字就能答”的情况。


具体来说,研究者设置了几类validation gates:


1.去除对话泄漏(Dialogue Leakage)


如果只给问题、选项和文字线索,不给图片,模型也能稳定答对,那么这个问题就会被移除或修改。


因为这种题并不能证明模型需要视觉记忆。


2.去除caption bypass(Caption可绕过)


如果把图片替换成极简caption,比如“这是一张房间照片”“这是一张游戏截图”,模型仍然能答对,那么说明问题对原始图像依赖不够,也会被移除或修改。


3.控制问题本身可回答性(Oracle Answerability)


如果给模型正确的clue rounds和原始图片,它仍然答不出来,那么可能是问题本身不清楚,或者视觉证据不足。这类问题也需要修正。


4.四轮选项旋转(Answer Rotation)


对于multiple-choice问题,正确答案会轮流出现在A/B/C/D,减少模型因为选项位置偏好而看起来“答对”的情况。


这也是MemEye想强调的一点:benchmark不只是堆数据,更重要的是让数据真的测到想测的能力。


实验设置:13种记忆方法 × 4个VLM 


MemEye评估了13种记忆方法,覆盖text-only memory和multimodal memory两大类。


Text-based memory:把图片转成caption


这类方法把每张图片替换成dense caption,然后系统只在文字流上做记忆、检索或推理。


代表方法包括:


  • Full Context Text
  • Semantic RAG Text
  • Reflexion
  • Generative Agents
  • MemoryOS
  • A-Mem
  • SimpleMem Text


它们的优势是:文字容易组织、压缩、检索,也更适合记录更新和状态变化。


但它们的风险也很明显:如果caption没写到关键视觉细节,这个信息后面就找不回来了。


Multimodal memory:保留原始图像输入


这类方法直接保留或检索原始视觉输入。


代表方法包括:


  • Full Context Multimodal
  • Semantic RAG Multimodal
  • MIRIX
  • MMA
  • M2A
  • SimpleMem Multimodal


它们的优势是:细粒度视觉证据仍然存在。


但保留图片本身并不等于会用。系统仍然要在很长历史中找到对的图片,并判断哪个状态最新、哪个证据已经过期。


评估模型


论文中评估了4个VLM backbones:


  • Qwen3-VL-8B-Instruct
  • GPT-4.1-nano
  • GPT-5.4-mini
  • Gemini-2.5-flash-lite


选择题使用exact match(EM)评估,并对四种答案位置旋转取平均;开放回答使用LLM-as-a-Judge作为主指标,并用BLEU-1等作为辅助指标。


用文字记住图片,是一种错觉:MemEye用「原图证据」重测多模态Agent Memory


主要结果


实验结果最核心的结论可以概括为一句话:


当前多模态memory系统不是“完全不会记”,而是会在不同地方断掉:有时丢视觉细节,有时找错时间点,有时不能合成当前有效状态。


结果一:caption在粗粒度问题上还可以,但在细粒度视觉证据上会掉队


在X1/X2这类场景级、区域级问题上,caption-based memory往往仍然有竞争力。


这并不意外。因为“整体场景是什么”“某个区域大概有什么”通常可以被文字描述覆盖。


但到了X3/X4,也就是实例级和像素级问题,caption的瓶颈就开始明显暴露。原因也很直接:caption很难完整保留未来可能会被问到的所有视觉细节。


比如:


  • 三个相似样本的具体身份;
  • 小标签上的编号;
  • 某个UI截图里的精确数值;
  • 一个角色在不同画面中的细微外观差异。


这些信息不一定会出现在caption中。即使caption是由强模型生成的,它也不可能预知未来所有问题需要哪些细节。


这就是MemEye中 Caption-Proof Diagnostic 想测试的点:如果把图像换成caption,性能掉多少?掉得越多,说明这个任务越依赖真正的视觉证据。


用文字记住图片,是一种错觉:MemEye用「原图证据」重测多模态Agent Memory


结果二:保留原始图像有帮助,但仍然不能自动解决“状态更新”


很多人可能会想:既然caption会丢细节,那只要保留原图不就行了吗?


MemEye的结果说明:不够。


原图确实能帮助模型处理高X的细粒度视觉问题,但在Y3演化综合任务中,关键瓶颈往往不是“图像是否可读”,而是“系统是否知道哪张图现在有效”。


比如一个场景中出现了旧标签,后面又出现了新标签。检索系统可能把旧标签也找出来,而且旧标签和问题语义高度相关。但它已经不是当前有效状态。


这就是论文中反复强调的区别:


找到相关证据(relevant evidence)≠ 找到有效证据(valid evidence)。


Semantic RAG这类方法很容易找出“语义相关”的图像,但如果它没有足够强的时间意识、状态更新机制或recency-aware selection,就可能把过期证据排在前面。


用文字记住图片,是一种错觉:MemEye用「原图证据」重测多模态Agent Memory


结果三:文本记忆和图像记忆各有优势,但单独使用都不够


MemEye揭示了一个很重要的trade-off:


  • Text-based memory 更擅长压缩、组织、记录状态变化,但容易丢失细粒度视觉证据;
  • Image-based memory 更能保留原始视觉细节,但在长历史中容易被相似、过期、冲突的图像干扰;
  • Retrieval-based memory 能减少全历史输入的噪声,但如果只看语义相似度,容易选到stale evidence(过期证据);
  • Full-context memory 能看到更多历史,但随着历史变长、话题变多,也更容易被无关信息干扰。


所以,未来更稳健的multimodal memory可能不是单一模块,而是需要同时具备三种能力:


  1. 保留视觉证据(preserve visual evidence):不要过早把图像压缩成不可恢复的文字;
  2. 记录结构化状态(structured state records):明确什么被更新、什么被覆盖、什么仍然有效;
  3. 选择时间有效证据(temporally valid evidence selection):不仅要找相关内容,还要判断哪个证据在当前时间点仍然成立。


为什么MemEye重要


很多benchmark最终只给一个总分,告诉我们哪个模型更强。


但在memory system里,总分往往不够。因为两个系统可能总分接近,但失败原因完全不同:


  • 一个系统可能能找到图片,但看不清细节;
  • 一个系统可能看得清,但检索不到正确图片;
  • 一个系统可能检索到相关图片,但选了旧状态;
  • 一个系统可能所有证据都在,却无法整合更新链条。


MemEye的价值就在于,它把失败位置拆开了。


它让工程师可以问更具体的问题:


  • 失败发生在X轴吗?也就是视觉证据粒度不够?
  • 失败发生在Y轴吗?也就是记忆推理深度不够?
  • 是caption compression的问题?
  • 是retrieval的问题?
  • 是temporal authority的问题?
  • 是视觉保存和状态更新之间的架构trade-off?


这对做Agent memory、multimodal RAG、long-context VLM、personal assistant、medical/health dashboard assistant、GUI agent的研究者都很关键。


因为真实世界里的Agent不会只回答“图片里有什么”。它们需要在长期交互中持续更新一个关于世界的内部状态:用户喜欢什么、家里现在变成什么样、路线是否仍然可行、之前看到的异常是否还存在、哪个版本的信息已经过期。


如果memory system不能区分“旧的相关信息”和“当前有效信息”,它就会在真实应用中犯很危险的错误。


给系统设计的启发:多模态记忆不能只靠caption,也不能只靠向量检索


读完MemEye,我觉得最值得带走的不是某个方法赢了多少分,而是三个设计启发。


启发一:不要过早丢弃原始视觉证据


caption是有用的,但它不应该是唯一记忆形式。


对于高风险或细粒度任务,系统最好保留原始图片、局部crop、视觉embedding、OCR结果、结构化属性等多种形式,而不是只存一句描述。


启发二:记忆系统需要显式处理“状态更新”


长期记忆不是静态资料库。


一个用户偏好可能变了,一个物体位置可能变了,一个健康指标可能更新了,一个旧截图可能被新截图覆盖了。


因此,memory system需要知道:


  • 哪些证据是旧的;
  • 哪些证据是新的;
  • 哪些证据之间存在冲突;
  • 哪个状态被后续信息覆盖;
  • 回答当前问题时应该使用哪个版本。


这比普通semantic retrieval更难。


启发三:未来系统可能需要image memory + text memory + structured memory的组合


一个更理想的架构可能是:


  • 用image memory保留视觉细节;
  • 用text memory保存可压缩的语义摘要;
  • 用structured memory记录状态变化、时间戳、冲突和覆盖关系;
  • 用recency-aware或state-aware retrieval选择当前有效证据;
  • 最后再让VLM基于这些证据回答问题。


也就是说,多模态长期记忆不应该只是“把历史都塞进prompt”,也不应该只是“向量检索最相似的几条”。


它更像是一个会维护状态、判断版本、保留原始证据的记忆系统。


不能只“看过”,而要记得对、找得到、用得上


MemEye想指出的核心问题很简单,但很关键:


对多模态Agent来说,长期记忆不只是存储更多历史,而是要保存正确粒度的视觉证据,并在时间变化中选出当前有效的状态。


如果一个系统只会把图片转成caption,它可能在粗粒度任务上表现不错,但在细节问题上丢失关键证据。


如果一个系统只会保留原始图片,它可能看得更清楚,但仍然可能在长历史中找错图、选旧证据、混淆当前状态。


如果一个系统只看总分,工程师很难知道它到底哪里失败。


MemEye的意义,是提供了一个更细的“视觉记忆体检表”:它不只问Agent答得对不对,还问它为什么答错,错在视觉细节、检索路径,还是状态更新。


随着AI Agent越来越多地进入真实生活场景,多模态长期记忆会变得越来越重要。未来的Agent不应该只是“临时看图”的聊天机器人,而应该能在长期交互中可靠地记住、更新、调用视觉世界中的证据。


这也是MemEye想推动的方向:让业界更清楚地知道,当前系统离真正可靠的multimodal memory还有多远,以及下一步该往哪里改。


论文、数据集与代码


  • Paper: https://arxiv.org/abs/2605.15128 [1]
  • Dataset: https://huggingface.co/datasets/MemEyeBench/MemEye [2]
  • Code: https://github.com/MinghoKwok/MemEye [3]


欢迎大家阅读、交流,也欢迎对multimodal memory、agent memory、long-context VLM、multimodal RAG感兴趣的朋友一起讨论。


引用链接

[1]https://arxiv.org/abs/2605.15128

[2]https://huggingface.co/datasets/MemEyeBench/MemEye

[3]https://github.com/MinghoKwok/MemEye


文章来自于"AI修猫Prompt",作者 "AI修猫Prompt"。

AITNT-国内领先的一站式人工智能新闻资讯网站
AITNT资源拓展
根据文章内容,系统为您匹配了更有价值的资源信息。内容由AI生成,仅供参考
1
AI漫画

【开源免费】ai-comic-factory是一个利用AI生成漫画的创作工具。该项目通过大语言模型和扩散模型的组合使用,可以让没有任何绘画基础的用户完成属于自己的漫画创作。

项目地址:https://github.com/jbilcke-hf/ai-comic-factory?tab=readme-ov-file

在线使用:https://aicomicfactory.app/

2
智能体

【开源免费】AutoGPT是一个允许用户创建和运行智能体的(AI Agents)项目。用户创建的智能体能够自动执行各种任务,从而让AI有步骤的去解决实际问题。

项目地址:https://github.com/Significant-Gravitas/AutoGPT


【开源免费】MetaGPT是一个“软件开发公司”的智能体项目,只需要输入一句话的老板需求,MetaGPT即可输出用户故事 / 竞品分析 / 需求 / 数据结构 / APIs / 文件等软件开发的相关内容。MetaGPT内置了各种AI角色,包括产品经理 / 架构师 / 项目经理 / 工程师,MetaGPT提供了一个精心调配的软件公司研发全过程的SOP。

项目地址:https://github.com/geekan/MetaGPT/blob/main/docs/README_CN.md

3
RAG

【开源免费】graphrag是微软推出的RAG项目,与传统的通过 RAG 方法使用向量相似性作为搜索技术不同,GraphRAG是使用知识图谱在推理复杂信息时大幅提高问答性能。

项目地址:https://github.com/microsoft/graphrag

【开源免费】Dify是最早一批实现RAG,Agent,模型管理等一站式AI开发的工具平台,并且项目方一直持续维护。其中在任务编排方面相对领先对手,可以帮助研发实现像字节扣子那样的功能。

项目地址:https://github.com/langgenius/dify


【开源免费】RAGFlow是和Dify类似的开源项目,该项目在大文件解析方面做的更出色,拓展编排方面相对弱一些。

项目地址:https://github.com/infiniflow/ragflow/tree/main


【开源免费】phidata是一个可以实现将数据转化成向量存储,并通过AI实现RAG功能的项目

项目地址:https://github.com/phidatahq/phidata


【开源免费】TaskingAI 是一个提供RAG,Agent,大模型管理等AI项目开发的工具平台,比LangChain更强大的中间件AI平台工具。

项目地址:https://github.com/TaskingAI/TaskingAI

4
prompt

【开源免费】LangGPT 是一个通过结构化和模板化的方法,编写高质量的AI提示词的开源项目。它可以让任何非专业的用户轻松创建高水平的提示词,进而高质量的帮助用户通过AI解决问题。

项目地址:https://github.com/langgptai/LangGPT/blob/main/README_zh.md

在线使用:https://kimi.moonshot.cn/kimiplus/conpg00t7lagbbsfqkq0