资讯动态

为什么你的AI Agent总是忘记?memsearch三层渐进式记忆召回(search→expand→transcript)原理揭秘

发布时间:2026/10/2 12:49:26 来源:尧图企业网站定制
为什么你的AI Agent总是忘记memsearch三层渐进式记忆召回search→expand→transcript原理揭秘【免费下载链接】memsearchA persistent, unified memory layer for all your AI agents (e.g. Claude Code, Codex, DSH), backed by Markdown and Milvus.项目地址: https://gitcode.com/gh_mirrors/mem/memsearch使用 AI Agent如 Claude Code、Codex时你是否也遇到过这种尴尬上周刚讨论过的架构决策、Redis 缓存配置今天再问它却一脸茫然memsearch是一个为 AI Agent 打造的持久化统一记忆层基于 Markdown 文件 Milvus 向量数据库通过**三层渐进式记忆召回search → expand → transcript**让 Agent 既能低成本地想起历史又能在需要时逐层深挖到原始对话。本文将用通俗的方式带你完整揭秘这套记忆召回机制的设计原理。为什么 AI Agent 会失忆先理解问题根源。AI Agent 的记忆本质上是上下文窗口——一块容量有限的短期记忆会话一结束记忆就清零上下文窗口装满后被截断早期讨论的细节直接丢失跨会话无法继承新开会话Agent 对我们上次讨论过什么一无所知跨 Agent 记忆孤岛你在 Claude Code 里讨论的方案Codex 完全不知道。简单地把所有历史对话塞进上下文代价是 token 爆炸和检索噪音。真正的挑战是如何只把最相关的片段放进上下文同时保留随时深挖的能力这正是 memsearch 三层召回要回答的问题。第一步先把对话记住——自动捕获与混合检索自动捕获每轮对话都变成可搜索的笔记安装对应平台的插件后memsearch 会在每轮对话结束时自动触发钩子Hook用轻量 LLM 把这一轮对话总结成第三方视角的笔记追加到.memsearch/memory/YYYY-MM-DD.md每日日志中并写入!-- session:xxx turn:yyy --会话锚点为后续三层召回埋下坐标。关键在于设计哲学Markdown 是唯一事实来源Milvus 只是可随时重建的影子索引。你的记忆就是普通.md文件——人可读、可编辑、可进 git不锁定在任何专有格式里。混合检索语义 关键词双保险当记忆被索引进 Milvus 后检索采用三路融合检索通道擅长捕捉什么Dense 稠密向量语义相似度缓存过期时间 ≈ TTLBM25 稀疏向量精确词匹配错误码、配置值、变量名RRF 重排融合合并两路排名避免单一路径盲区纯语义搜索会漏掉精确的命名与报错信息纯关键词搜索又不懂同义表达混合检索两者兼得。详见 docs/architecture.md。核心揭秘三层渐进式记忆召回search → expand → transcriptmemsearch 的召回不是一把梭把全部内容灌进上下文而是按需逐层下钻Progressive Disclosure每一层只花费当前所需的上下文成本用户问我们上次 Redis 缓存 TTL 定了多少 │ ▼ L1 memsearch search Redis TTL → Top-K 摘要级片段便宜 │ 上下文够不够 ▼ L2 memsearch expand chunk_hash → 该片段所在的完整 Markdown 章节 │ 需要精确原文吗 ▼ L3 memsearch transcript session.jsonl --turn uuid → 原始对话逐字回放含工具调用L1 search低成本语义检索先拿摘要级片段第一层只返回Top-K 个片段摘要默认 5 条进入上下文的只有短文本成本最低memsearch search Redis TTL --top-k 5 --json-outputAgent 拿到摘要后先自行判断够不够回答如果答案已经在这里直接收工一次都不必深入。该命令实现在 src/memsearch/cli.py 的search子命令中。L2 expand从片段到完整章节如果摘要信息不足比如只有结论、没有依据Agent 会带着 L1 返回的chunk_hash执行展开memsearch expand chunk_hashexpand会定位该片段所在完整 Markdown 章节及其上下文并解析出锚点里的 transcript 路径——这就是通往 L3 的门牌号。实现见 src/memsearch/cli.py。L3 transcript回看原始对话一字不差摘要和章节终究是二手资料。当你需要精确的命令行、参数、路径时比如当时用的那条部署命令到底是什么Agent 会拿着锚点里记录的会话与轮次标识回放原始转录memsearch transcript session.jsonl --turn uuid --context 3transcript命令会自动识别 Claude Code / Codex / OpenClaw 等不同平台的转录格式逐字还原用户消息、助手回复甚至工具调用。核心解析逻辑在 src/memsearch/transcript.py。三层成本对比为什么要渐进层级返回内容上下文成本适用场景L1 SearchTop-K 片段摘要 低——只有短片段大多数问题在这里就解决了L2 Expand完整 Markdown 章节 锚点元数据 中——一个文件章节需要论证过程、完整上下文L3 Transcript原始对话逐字含工具调用 高——原始对话需要精确命令、参数、原文这套设计的心法就像图书馆查资料先翻索引卡片L1不满意再调出整本书的相关章节L2实在需要逐字核对才去档案室调原始卷宗L3。绝大多数问题在第一、二层就命中了上下文窗口始终干净。一次真实的回忆流程长什么样以 Claude Code 插件为例memory-recall技能把三层流程编排成了 Agent 的标准动作完整步骤定义在 plugins/claude-code/skills/memory-recall/SKILL.mdSearchmemsearch search 查询 --top-k 5找到相关片段Evaluate跳过明显无关或过于宽泛的结果Expand对命中的片段执行memsearch expand chunk_hash获取完整章节Deep drill若章节里含 transcript 锚点且原始对话很关键执行memsearch transcript回放原文Return输出一份精炼的回忆摘要附上来源文件与日期方便溯源。你只需自然地问一句我们之前 Redis 缓存 TTL 定的是多少——Agent 会自动判断该不该查记忆、查到哪一层全程无需你记住任何命令。检索质量如何保障混合检索 可选重排序三层召回解决深度问题而每一层的命中质量则由检索链路保障候选扩展配置重排序后检索阶段会先取3 × top_k个候选再精排出最终 Top-K可选重排器支持本地 cross-encoder 或远程 Jev 重排序默认关闭显式开启才生效真实数据验证官方在中英文双语共 4344 条记忆查询上做了系统评估开启 Voyage rerank-3 后 MRR10 从 0.637 提升到 0.775多跳类查询收益尤为明显。评估报告见 evaluation/reranking-evaluation.md。快速上手给你的 Agent 装上长期记忆memsearch 支持 Claude Code、Codex、DeepSeek Harness、OpenClaw、OpenCode 五大平台安装插件即开即用配置一次全平台共享# 推荐安装本地 ONNX 嵌入免 API Key、零成本 uv tool install memsearch[onnx] # 手动体验核心流程 memsearch index ./memory/ # 索引 Markdown 记忆 memsearch search Redis 配置 # L1 混合检索 memsearch expand chunk_hash # L2 展开完整章节如果不用插件也可以直接用 Python API 三步给自家 Agent 加记忆Recall搜→ Think注入上下文推理→ Remember存回日志并重建索引。完整教程见 docs/getting-started.md。写在最后回到开头的问题——为什么 Agent 总是忘记因为它缺的不是记性而是分层组织记忆、按需取用的机制。memsearch 的答案很清晰 用Markdown 当事实来源记忆可读、可改、跨平台共享 用混合检索稠密向量 BM25 RRF保证第一层就能高质量命中 用search → expand → transcript 三层渐进召回把回忆变成一次按需下钻绝大多数问题低成本解决关键细节可以逐字还原。下一轮对话再问我们上次怎么定的你的 Agent 终于能接上话了。【免费下载链接】memsearchA persistent, unified memory layer for all your AI agents (e.g. Claude Code, Codex, DSH), backed by Markdown and Milvus.项目地址: https://gitcode.com/gh_mirrors/mem/memsearch创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑