Claude Code干到一半想切到Codex,最累的通常不是重新敲一遍命令,而是又得把架构、踩过的坑、没做完的任务从头讲一遍。GitHub上有个叫ai-memory的开源项目,星标已经涨到5千多,Rust写的,MIT协议,专门解决这个缝——它把Agent工作过程里值得留下的信息整理成一份可以用Git管理的Markdown Wiki,下一个Agent不用从一堆聊天记录里考古,直接拿到一份能接着推进的交接材料。 它不是造一个永不遗忘的大脑,是给AI编程配了套交接班机制
经验能留、结论可查、交接能复盘,这才是它的核心价值。很多人以为换工具只要把当前分支和终端命令交出去就够了,但实际开发里最贵的往往是那些没写进代码的东西:为什么某条技术路线被否掉、某个接口有什么隐含约束、一个bug已经试过哪些解法、下一步该从哪接着往下走。手动写交接文档当然可以,但结局通常只有两种:忙的时候没空写,闲的时候翻不到。ai-memory的思路是从Agent工作周期里收集经过边界控制的观察信息,形成会话摘要、工作记忆和交接内容,让另一个Agent通过MCP去查询、浏览或者接手同一个工作流,它更看重沉淀可行动的结论,而不是把原始聊天记录整包塞回上下文。
开始工作、推进任务、切换收尾,三个节点各干一件事
开始工作时,Agent可以先查一下项目已有的规则、决策、未完成的工作和历史问题;推进任务过程中,生命周期Hook会按限定范围捕捉观察信息,遵守排除规则不该记的不记;结束或者切换工具的时候,系统会写出摘要和交接文件,切到另一套Agent之后,新的Agent读取相关记忆就能接着干。这跟给每个Agent单独接一个RAG不太一样——它关心的不只是能不能召回文档,更关心任务怎么从一个工作会话平滑移交到下一个。
记忆放进Git,是给工程师胃口量身做的选择
Markdown Wiki才是源数据,SQLite只是派生出来的索引,长期记忆不用非得躺在一个看不透的向量数据库里。Wiki你能当普通文本打开、用grep查、丢进Obsidian浏览、用Git看变更甚至回滚;SQLite负责的是全文检索和实体、页面链接这些更快的召回能力。更实际的是它有一条零LLM路径——不接大模型也能用全文检索、实体和图关联检索、规则化摘要这些功能,接入LLM之后才额外多出更连贯的摘要整合、冲突检查和可选的向量检索,你可以先把它当一个本地可追踪的记忆基础设施用,不用一上来就背一笔新的模型账单。 用Codex的人有个细节得记住
它给Codex提供了MCP配置和生命周期Hook支持,但项目说明里写得很清楚,Codex没有能自动触发的真实会话结束Hook,想生成一份最终交接摘要,需要你自己显式跑一条finalize-session命令。这不算什么缺陷,更像是工程上划清楚了边界——自动化记忆最怕的就是看起来存了、实际最后一步没落盘,把这点说清楚,反而更适合真正在多个工具之间来回切换的人。
它不会替你理解陌生代码库,也不是完整聊天记录的冷备份,当前代码、测试和分支状态才是最终事实,历史记忆只是辅助线索。如果你经常在Claude Code、Codex、Cursor这几个工具之间切来切去,手头是长任务或者多人多Agent接力开发的项目,想把开发经验实实在在留在Git和Markdown里,这类工具值得你花点时间接进日常工作流里试试。