MemR3:基于LangGraph的反思推理、记忆和检索的RAG框架

在构建大模型智能体(LLM Agents)时,记忆系统是其核心。无论是为了记住用户的偏好,还是为了处理长达数月的对话历史,我们通常会给 AI 挂载一个"外部存储器"。

然而,目前的记忆检索系统大多遵循简单的 "检索-回答"(Retrieve-then-Answer) 模式:用户提问 系统去数据库捞数据 把捞到的扔给模型。

https://arxiv.org/pdf/2512.20237
Memory Retrieval via Reflective Reasoning for LLM Agents

https://github.com/Leagein/memr3

基于 LangGraph 构建,其核心是一个智能路由(Router),它可以在三个动作之间自主选择:

  1. 检索(Retrieve):如果当前信息不足,更新查询词(Query Refinement),再次进入数据库寻找精准证据。
  2. 反思(Reflect):对已获取的证据进行逻辑推演。比如虽然没直接找到"领养间隔",但通过对比两个不同日期的证据,推算出时间差。
  3. 回答(Answer):当证据链完整时,生成最终响应。

相比传统的 RAG, 引入了"早停机制"。如果系统认为现有的证据已经足够逻辑闭环,它会提前停止检索,从而减少冗余信息的干扰并提高效率。

传统的 RAG 是线性流,而 借鉴了 Self-RAG 和 Reflexion 的思想。

  • Self-RAG/ReAct:让模型决定什么时候搜。
  • ** 的进化**:它不仅决定"什么时候搜",还通过一个**显式的"证据-缺口状态"(Evidence-Gap State)**来量化当前的搜索进度。这就像给 AI 检索过程装了一个进度条和逻辑检查站。

是基于 LangGraph 构建的。这意味着它的每一个动作(检索、反思、回答)都是图中的一个节点。

  • 透明度:你可以清楚地看到 AI 在得出"3个月"这个结论前,经历了多少次检索,每次检索补充了哪些 Evidence,又缩减了哪些 Gap。
  • 鲁棒性:通过闭环控制,它能有效过滤掉检索回来的无关噪声,防止模型被误导。

unsetunset 的内部构造unsetunset

的核心在于它不把检索看作"一锤子买卖",而是看作一个有目的的探索过程。

系统每一步都会问自己两个问题:

  • 我已知了什么?(Evidence, E) :从记忆中捞出来的、能支撑答案的事实。
  • 我还缺什么?(Gap, G) :阻碍我给出最终答案的缺失信息。

就像一个拥有三个路径,由 Router(路由器) 决定何时换挡:

  1. 检索节点 (Retrieve) :当 (有缺口)时,生成新的查询词 。为了防止重复,它会**掩码(Mask)**掉已读过的记忆,确保每一轮都有新发现。
  2. 反思节点 (Reflect) :当搜不到新东西,或者需要逻辑推演时,进行内部思考。
  3. 回答节点 (Answer) :只有当 消失或达到最大步数时,才整合所有证据给出最终结论。

为了保证效率, 给路由器加了三道锁:

  • 预算限制 :步数到了必须强制回答,防止无限搜索。
  • 反思连击限制 :不能光想不干,想太多了就得去搜一下。
  • 空检索跳转 :如果搜不到东西,自动转入"反思"模式。

unsetunset实验结果解析unsetunset

在 LoCoMo(长程对话记忆)基准测试中, 展示了统治级的表现:

  • 全面超越基准 :无论底层用的是普通的 RAG (基于分块)还是 Zep(基于图谱),加上 控制器后,分数都有显著提升。
  • 刷新上限:在 GPT-4o-mini 下, + RAG 的总分达到了 **81.55%**,甚至超过了把所有记忆都塞进上下文的 **Full-Context (76.32%)**。
  • 后端兼容性 :数据证明 是"即插即用"的,它能显著修补传统 RAG 在处理时间推理 (Temporal) 和 多跳问题 (Multi-Hop) 上的短板。

大家最担心的可能是"多轮检索太慢/太贵"。但实验数据说明了的高效性:

  • 如图 5 所示,绝大多数问题(尤其是单跳问题)在第 1 次迭代时就解决了。
  • 只有开放域 (Open-Domain) 问题会经常耗尽 5 次迭代预算。
相关推荐
Csvn9 小时前
每请求到底多少钱?把 Token 成本算成可观测指标(C01)
人工智能·aigc·agent
七夜zippoe13 小时前
Agent 无限循环烧 Token:死循环检测与中断机制设计
ai·agent·token·死循环·中断机制
张彦峰ZYF13 小时前
浏览器调试接口的官方化:从 chrome-devtools-mcp 看 Agent 原生工具层的形成
人工智能·chrome·agent·mcp·apache-2.0许可·devtools-mcp·调试闭环
Baihai_IDP13 小时前
RAG vs SKILL vs MCP vs RLM
llm·agent·mcp
梦醒江南16 小时前
Agent 调工具报 504 之后:测试如何设计网络抖动下的幂等与补偿验证?
后端·agent·ai编程
不要试图纠正别人16 小时前
GUI Agent 的上限,卡在按钮有没有名字
agent·rails
Trae_陈冀16 小时前
写测试用例总漏场景还格式乱?我做了个自动生成工具,需求一键转标准用例
agent·测试
初学AI的小高16 小时前
Agent 评测驱动开发:用 pytest 测试工具调用与执行轨迹
agent·测试
典学长编程18 小时前
Agent 基础学习:让大模型从“能说”到“会做”
agent·react·text2sql·工具调用
MysTic_Zhong18 小时前
【2】整体架构蓝图:六层依赖与技术选型
人工智能·agent