多模态 Agent 终于不只是「搜记忆」,还能「算记忆」了
上周翻 arXiv,看到一篇论文让我停下来多看了两遍。
标题叫 《Beyond Retrieval: Analytic Memory for Multimodal Agents》,来自 Zhoujin Tian 等七位作者,7 月 31 号刚挂出来。乍一看以为是又一篇给 Agent 做记忆增强的,读进去发现它抓了一个我以前一直觉得别扭、但没见人系统捅破的点。
现在的多模态 Agent 记忆系统,只有一个能力:检索。问它「上次聊的那张图里有什么」,它能翻对话记录、调摘要索引、给找回来。但要问「过去一个月改了多少次需求,每次改的方向是什么趋势」,它就傻了——只能搜到一堆零散的记录,没法在那个维度上做统计、对比、排序和聚合。
这不是一个边角需求。用 Agent 干过超过一周活儿的人,都会撞上这堵墙。
这篇论文给它命了名:把现有能力叫 retrieval memory(检索式记忆),把自己要建的叫 analytic memory(分析式记忆)——不是去找相关片段,而是对跨时间的多轮观察做计算。框架叫 AdaMM,两根柱子一起撑。
核心做法是不再靠人工定义 schema 存记忆,而是让系统自己从对话、图像、上下文元数据里抽「属性-值」对,然后自动发现哪些字段反复出现、有规律,把它们物化成可查询的结构。到推理的时候,一个 memory-aware planner 先把问题拆成「该检索的」和「该分析的」,再分别路由到对应的工具去执行。
举个例子。假如让一个 Agent 盯竞品页面改版,每周截图、记录变化。传统记忆系统能搜出「上周说改了什么」——但要问「过去三个月,竞品平均多久做一次视觉调整?哪种类型的改动最频繁?」,它就哑了。AdaMM 的做法是:每次截图和对话进来的时候,自动把「改动类型」「改动频次」「涉及模块」这些属性抽出来存成结构化记录,到时候能直接聚合、排序、比时间差。
论文在 MemEye 和 MemGallery 两个多模态长时记忆 benchmark 上测了,分别提了 11.3% 和 7.3%。数字不算惊天动地,但考虑到这两个 benchmark 覆盖的任务本来就是检索和分析混在一起,能同时涨说明确实碰到了一个真实缺口。
不过这还只是一篇论文,不是开源工具,更不是产品。我看 arXiv 页面上没有挂代码链接,暂未看到公开仓库。概念很有意思,但要落到实际 Agent 工作流里,还得等人复现或者官方放出来。
「属性-值抽取」和「自动发现字段结构」这两步在实践中挺难的。论文在 benchmark 上效果好,不代表在真实的、噪音更大的对话和截图里也能稳定抽准。抽歪了,分析就跟着歪。
memory-aware planner 这个设计我觉得是亮点也是瓶颈——它把问题拆得清楚,但拆得对不对、路由准不准,全依赖底层模型的理解能力。要是模型没理解用户问的是统计问题而非搜索问题,那后面整套分析管道就跑不起来。
这个方向我很认可。多模态 Agent 现在更需要的是一套能「算账」的记忆,而不只是更快的检索。我每个月花不少时间盯 Agent 的日志,很多时候它记下来了,但我问不进去——因为记忆只支持搜,不支持问。
如果 AdaMM 这类思路能普及,那以后对一个长期 Agent 可以问「这个月哪种错误模式占比最高」「最近两周我在哪个环节花的时间最多」这类问题,而不仅仅「帮我找一下上次那个文档」。这个区别,是助理和报表工具的区别,也是现在 Agent 和能帮人复盘的东西之间的距离。
论文最后没有给一个漂亮的收束。它停在实验分析里,讨论了一些未来方向,包括如何让记忆结构自行演化而不是固定下来。我觉得这个结尾挺好——问题捅出来了,框架搭起来了,剩下的是工程和落地的事。等有代码了我再跑一遍试试。