智猩猩AI整理
编辑:没方
过去一年,开源智能体框架几乎是爆发式增长。
无论是 Claude Code、OpenClaw,还是各种新兴 Agent 框架,都让开发者如虎添翼。
很多时候,它们确实很好用,像是给项目接入了一个随叫随到的“数字员工”,可以 7×24 小时读代码、写功能、跑测试、改 bug、总结日志,甚至生成 PR。
但真正把 Agent 放进实际项目里,问题很快就会暴露出来——它不是不会做事,而是会越来越记不住事。
项目刚开始时,上下文不长,历史决策不多,Agent 还能顺着当前会话往下做。可当项目跑了几周、几个月之后,新的需求、旧的 bug、临时讨论、架构取舍、配置变更会不断涌进上下文。模型窗口再长,也不可能无限装下去。于是,旧信息被新信息顶掉,前面的决策被后面的对话冲淡,真正关键的历史背景反而慢慢消失。
现在,以 OpenClaw 为代表的一些智能体框架,也开始尝试引入类似“梦境”的功能《先封禁再抄袭!Claude官方Harness上线 “梦境” 记忆,继续硬刚OpenClaw》。让 Agent 在会话结束后自动沉淀摘要,试图缓解长期使用中的上下文遗忘问题。
但不管做不做梦,本质上很多记忆仍然停留在会话粒度。它更像是把一次对话压缩成一段总结,而不是把一个项目几个月以来的经验、决策、变更和上下文,组织成一个可以长期检索、跨 Agent 复用的知识系统。
Agent 会换,工具会换,但在项目里积累的知识,不应该跟着消失。
这正是今天要给大家介绍的开源项目 MemSearch 想解决的问题。
它为不同编程智能体提供统一的持久记忆层。安装MemSearch后,Agent 可以自动捕获会话、建立索引,并在之后需要时召回相关历史上下文。该项目在github上已收获1.7k stars。
项目链接:
https://github.com/zilliztech/memsearch
01
MemSearch 让不同编程智能体
共享同一套项目记忆
MemSearch 最核心的价值是让不同编程智能体共享同一套项目记忆。
Claude Code 有自己的上下文,Codex CLI 有自己的上下文,OpenCode 又有自己的上下文。过去,在一个工具里讨论过的问题,换到另一个工具里往往就消失了。MemSearch 试图把这些分散的上下文打通,让“记忆”不再依附于某一个 Agent,而是依附于项目本身。
MemSearch 的设计非常工程化——把 Markdown 作为记忆源文件,把 Milvus 作为可重建的影子索引。
智能体的记忆不是被锁死在某个黑盒数据库里,而是以.md文件的形式存在。开发者可以直接阅读、编辑、提交到 Git,也可以像管理代码一样管理这些记忆。向量数据库则负责语义检索、混合召回和实时索引,让 Agent 能够在大量历史记录中快速找到相关内容。
很多时候,Agent 并不需要一上来就把整段历史会话全部塞进上下文,而是应该先找到相关片段,再根据需要展开更完整的背景。
为此,MemSearch 提供了三层召回机制:search、expand、transcript。它会先通过 search 找到相关 chunk,再通过 expand 查看该片段所在的完整上下文;如果还需要进一步核对细节,也可以回到 transcript,也就是原始会话记录。这种渐进式召回方式,既能减少上下文污染,也能避免把大量无关历史内容直接塞给模型。
在使用体验上,MemSearch 也尽量降低了门槛。以 Claude Code 为例,安装插件后,它会通过 shell hooks 自动捕获对话,并借助轻量模型对每轮会话进行摘要,然后写入当天的 Markdown 记忆文件。用户既可以通过/memory-recall主动召回历史内容,也可以直接用自然语言提问。
这些记忆文件会保存在.memsearch/memory/目录中。也就是说,项目历史不再只是散落在一次次会话里,而是会沉淀成一套可以查看、修改、检索和迁移的记忆资产。
对于 Agent 开发者,MemSearch 不只是一个插件,也可以作为基础库使用。它提供 CLI 和 Python API,可以被接入自定义 Agent、RAG 流程或 harness 工程,成为智能体系统中的长期记忆组件。
02
使用方法
(1)在 Claude Code 中安装
/plugin marketplace add zilliztech/memsearch/plugin install memsearch
重启 Claude Code 完成插件激活,插件会自动记录每一轮对话内容。
进行数次对话后,查看本地记忆文件验证生效:
ls .memsearch/memory/ # 可看到按日期生成的Markdown日志文件cat .memsearch/memory/$(date +%Y-%m-%d).md
记忆调取指令:
/memory-recall 我们之前讨论过哪些Redis相关内容?
(2)在 Codex 中安装
git clone --depth 1 https://github.com/zilliztech/memsearch.gitbash memsearch/plugins/codex/scripts/install.shcodex --yolo # 开放ONNX模型网络访问权限
功能校验:
ls .memsearch/memory/
记忆调取指令:
$memory-recall 我们之前探讨过哪些部署相关方案?
完整步骤请参考:
https://github.com/zilliztech/memsearch#%E2%80%8D-for-agent-users
03
Agent Harness,
必须带上长期记忆层
软件开发从来不是单次生成任务,而是一个持续演化的复杂系统。
一个项目里,真正重要的不只是代码本身,还有无数隐藏在历史中的上下文:当初选择这个框架原因、哪些模块不能轻易重构、为什么某个接口必须兼容旧客户端?
这些内容,人类开发者会靠经验、文档、会议纪要、Git 记录和团队默契慢慢记住。但对于 AI Agent 来说,如果每次会话都从零开始,它就永远只能做“短期外包”,很难成为真正参与项目演进的“长期队友”。
MemSearch 的意义就在这里。它并不是单纯给 Agent 加一个搜索框,而是在尝试构建 AI Agent 时代的工程记忆层。Markdown 让记忆可读、可改、可审计;Milvus 让记忆可检索、可扩展、可跨平台复用;插件机制则让 Claude Code、Codex CLI、OpenCode 等不同智能体可以共享同一套历史上下文。
这也意味着,未来任何真正面向长期项目的 Agent harness,都不能只关注任务编排、工具调用和流程控制,还需要一套类似 MemSearch 的长期记忆机制。
因为 harness 解决的是“Agent 怎么执行任务”,而记忆层解决的是“Agent 如何继承过去的经验”。没有记忆,Agent 即使流程再完整,也很容易在一次次新会话中重复踩坑。
未来真正强大的 Agent,不只是推理更强、代码写得更快,还要更懂项目、更理解团队约束、能够继承历史经验。它知道哪些坑踩过,哪些方案被否定过,也知道哪些架构决策背后有真实业务原因。
当 Agent 开始拥有长期记忆,它才不只是一个会写代码的工具,而是一个能伴随项目持续成长的数字工程伙伴。