我看 Coding Agent 的记忆项目,一般先看它把东西存哪。
一上来就是向量库、Embedding、切 chunk、召回调参,我基本已经能猜到后面会发生什么:Demo 跑起来挺漂亮,过几个月想迁数据,或者换个 Agent,开始头疼。
ai-memory 这家伙反着来。
它的记忆源数据,就是一堆普通 Markdown 文件,背后拿 Git 管着。能 grep,能直接丢进 Obsidian 看,也能 rsync 整个搬走。数据库只是可以重建的索引,向量检索也只是可选项,不是把你的记忆锁死在某个 Vector DB 里。
这个思路我挺喜欢。
因为长期记忆真正麻烦的,从来不是“存进去”三个字,而是半年以后你还认不认识这些数据。
更有意思的是,它不要求你天天提醒 Agent:“把这个记下来。”
提示词、工具调用、会话边界这些东西,通过 lifecycle hooks 在你写代码的时候顺手抓下来,会话结束后再整理成 Markdown 页面。默认路径甚至可以不接 LLM API,搜索和 handoff 照样能工作。
啧,这才像基础设施。
但 ai-memory 最打我的其实还是 handoff。
比如 Claude Code 干一个重构干到一半,你关掉。隔几个小时,还是这个目录,换 Codex 接着做。新 Agent 开工时拿到的不是一句模糊的“用户之前在改代码”,而是上一个 Agent 做到哪、哪些方案已经撞墙、还有什么没处理。
不用重新给它讲半天项目背景。
写 AI Coding 工具这两年,我越来越烦这种重复交代。模型聪不聪明先放一边,一个 Agent 刚把依赖关系摸熟,换个工具又从 package.json 开始考古,纯纯浪费 token。
ai-memory 现在官方列出的已经是 20+ 个 harness,Claude Code、Codex、Cursor、Gemini CLI 都在里面。
不过先别急着吹。
不同 Agent 的 hook 能力并不完全一致。比如 Codex 目前没有真正的自动 session-end hook,需要最终交接摘要时,官方还要求跑一次 ai-memory finalize-session 。这种边角地方,才是跨 Agent 工具真正容易翻车的地方。
所以这玩意儿我反而觉得特别适合那种桌面上同时养着两三个 Coding Agent 的人。
Claude Code 写一阵,Codex 接一阵,Cursor 偶尔补两刀。
记忆别跟着 Agent 走。跟着项目走。
热门跟贴