刷 arXiv 这毛病,是刷 GitHub 落下的。
昨晚本来在 cs.CL 当天新提交里翻能跑的东西,手划到一半被一个标题绊住:From Retrieval to Reconstruction。点进去,arXiv:2610.11314,EMNLP 2026 主会,二十一页,七个作者,一作 Zirui Liao。
这期破个例。没有 repo,没有 star 曲线,没有一行装完的命令,连 ⭐ 都没得标。还是想讲它——它盯上的地方正好是我最近最烦的那块。
一句话定调:一个把对话记忆从“检索”改成“重建”的认知记忆架构。论文自己说的是“从检索到重建”,翻过来讲就是——现在这套 RAG 记忆,检索得再准,也是在一摊烂账上检索。
烂账具体烂在哪
拿我自己的破事举例。上个月让一个 agent 帮我记项目里的人事变动,它把“老王说他下个月要走”这条稳稳收下。三天后老王说不走了,新说法也收下。然后我问“现在这块谁负责”,它掏出来哪一条全看 embedding 当天心情。更要命的是它不会告诉你这是“老王说的”,它当成事实在陈述。
问题在这儿:记忆是被动存储,主观信念和客观记录混在一个池子里,跨会话的证据也串不起来。
这篇的做法是从类型上就分开。五类节点——人物、事件、概念、主张、事实,作者管这个图式叫 PEC²F。Claim 节点单独保留主观陈述,还带来源和指向对象;Fact 管语义知识,Event 管情节。
“本体建模的老一套”这句我本来已经咽回去了,写到这儿得改口:老一套的 ontology 是人手工把 schema 想好再填,这套是让对话自己一轮一轮长出来,维护成本不是一个量级。我一开始那点不屑,是偷懒。
合并那一步我服
对话轮次逐步转成带来源的图记录,再往上并成 higher-level 的 fact。重点在同一来源后来改口的时候——不覆盖,整理成一条带时间范围的 Claim 视图。
差别在哪:大部分 memory 中间件的“更新”就是 upsert,撕掉旧页写新页,你再也查不到当时为什么那么想。带时间范围是两页都留着,翻到哪页看日期。设计不新,但真在 agent 记忆里这么干的少。issue 区常见的那句抱怨——“怎么让 agent 别把过时结论当现状”——合并 vs 覆盖,就是答案的一半。
检索那层是这篇最不像“LLM 一把梭”的地方。大模型只负责解析意图,解析完交给一个规则式控制器,去组合四种确定性图算子:锚定、遍历、交集、证据落地。我挺吃这套。不确定性收在入口,后面全程可复现、可调试。
脆的地方也明摆着。意图解析歪一点,后面四个算子全跟着歪,控制器里有没有兜底,从摘要看不出来。
实验我没全信
LoCoMo 和 LongMemEval 上报告的成绩不错,多跳、时间推理、知识更新这三类尤其突出。这两个榜现在有点卷,单看总分我是不太信的,多跳题的标注噪声本来就大。
我更在意它附的那个“语义坍缩”探测。图记忆的老毛病——抽象层级一合再合,合到最后所有节点都长一个样,检索捞回来全是同质的糊状物。它肯把这种失败模式单独拎出来测,比多刷两个点让我信服。消融那边,认知层面的分离、记忆合并、智能体式检索这三块各有互补贡献,意思是没有哪一块能单独拆走。符合直觉。
得说清楚我读到哪:方法部分读了两遍,实验表格扫了一遍,没复现,先声明。二十一页里实现细节占的篇幅不算多,复现是别人的事,我这期只负责告诉你值不值得点进去。
刷着刷着跑题一句:同一天还挂出来两篇讲图记忆的,标题一个比一个唬人,点进去还是 chunk-embed-topk 换了张图的外壳。拉回来说正事。
门槛这块给不了好评
摘要里的代码链接是个 “this https URL” 占位,仓库还没落地。别指望今晚 pip 装一个玩玩。
想验只有一条路:把第 3 节的 PEC²F 跟你自己那层记忆对一遍,看 Claim / Fact 这条分界线在你的场景里立不立得住。要是你的对话里压根没有“谁说的”这回事——比如单人对着文档问答——这套结构对你是纯负担,图建起来只会更慢。
适合谁:在做长期对话记忆、被来源归属和知识更新这两件事卡过的,值得花一个晚上把方法读完。不适合谁:想要开箱即用中间件的,或者对话本来就三五轮结束的,别凑这个热闹。
候选池里还压着两个同方向的图记忆 repo,等哪个真把代码放出来、issue 区有人问出像样的问题,我再单独讲。这篇现在的位置是:值得读,先别照抄。能不能打,拿你自己那摊脏对话试一遍最准。
