我看 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 走。跟着项目走。