你有没有算过,每天花多少时间跟 AI 重复说同一件事?
"我的项目用的是 React 19 + TypeScript + Prisma ,目录结构是 src 下按 feature 分模块,数据库是 PostgreSQL ,部署在 Vercel 上,之前踩过 Prisma migrate 的坑记得用 db push……"
说完一遍不够。关掉会话重开,再说一遍。换 Cursor 写前端、换 Claude Code 写后端,再说两遍。 CLAUDE.md 写了 200 行,自己都记不住哪行过期了。
这不是你的问题。是 AI 的构造性缺陷——它没有长期记忆。
一个叫 agentmemory 的项目, 23,844 人点了 Star
GitHub 上有个项目叫 agentmemory ,基于 iii engine 构建,专门给 AI 编程 Agent 做持久化记忆。 23,844 Star 、 1,962 Fork 、 Apache-2.0 协议。
它做的事用一句话概括:一次教学,永久记忆,跨工具同步。
你第一次告诉它项目架构和技术栈,它记住了。下次开新会话,它自动召回。你用 Claude Code 写后端、 Cursor 改前端、 Gemini CLI 查文档——它们共享同一份记忆。不用每个工具重新"教学"。
四层记忆:不是缓存,是类脑架构
agentmemory 不是简单地把聊天记录存下来。它把记忆分成四层,每层有不同职责:
工作记忆——短期原始记录。你这次会话里说了什么、调了什么工具、报了什么错,原样记下来。相当于你的"短时记忆"。
情景记忆——会话级压缩摘要。不是逐字记,而是提炼"发生了什么"。你花 30 分钟调试一个 JWT 认证问题,情景记忆只保留核心:问题、尝试过什么、最终怎么解决的。
语义记忆——结构化事实和知识点。"这个项目用 PostgreSQL"、"部署在 Vercel 上"、"Prisma 用 db push 而非 migrate"。沉淀的是"知道什么"。
过程记忆——工作流和模式固化。"每次改 schema 后先跑 generate 再跑 push"、"测试用 vitest 不要用 jest"。掌握的是"应该怎么做"。
这四层记忆会自动衰减、强化、合并、更新。昨天踩的坑今天还记得,三天没用的琐碎细节自动淡出。
这不是数据库。这是在模拟人脑的记忆分层机制。
为什么比 CLAUDE.md 强
CLAUDE.md 、.cursorrules 、 Cline 的 memory bank——这些方案本质上是便利贴。你手动写,手动维护,手动同步。 200 行溢出、内容过期、多工具不互通。
agentmemory 走的是完全不同的路线:
全自动捕获。 12 个生命周期钩子,会话启动、提问提交、工具调用前后、执行异常、子 Agent 生命周期——全程无感采集,不需要你手动remember或add。
混合检索。 不是全文搜索,是三重混合: BM25 关键词检索 + 向量语义检索 + 知识图谱关联检索,通过 RRF 重排序融合结果。你问"之前 JWT 那个问题怎么解决的",它不是 grep 全文找"JWT"三个字母,而是语义理解你的意图,关联到情景记忆里的那轮调试。
检索精度是 grep 的 2.2 倍。 在 LongMemEval-S ( ICLR 2025 , 500 个专业测试问题)上,召回率 R@5 达到 95.2%。内部编码数据集 Top-5 命中率 100%。
Token 省 92%是什么概念
原文说"Token 直省 92%",这个数字怎么来的?
传统做法是每次开新会话,把完整上下文粘贴进去。一个中型项目,完整上下文一年下来大约 19.5M Token——超出任何模型的上下文窗口,根本不可能。
退而求其次,用 LLM 做摘要,一年约 650K Token ,成本约$500 。
agentmemory 通过精准检索替代全文注入,一年只消耗约 170K Token ,成本约$10 。如果用本地嵌入模型,成本是$0 。
从 19.5M 到 170K ,减少的不是 92%——是 99%以上。 92%是跟 LLM 摘要方案比。但不管怎么算, Token 消耗断崖式下降。
零依赖这件事为什么重要
mem0 需要 Qdrant 或 pgvector 。 Letta/MemGPT 需要 PostgreSQL 加向量库。这些都是正经基础设施,配置、运维、故障排查——对一个个人开发者来说,部署一个记忆系统的成本可能比记忆本身还高。
agentmemory 内置 SQLite ,不依赖任何第三方数据库。一条命令启动,开箱即用。还支持本地离线向量模型,完全内网可用。
这意味着你在飞机上、在断网的环境里、在公司内网中,记忆系统照样工作。
谁在用它
agentmemory 目前兼容 32+种 AI 编程客户端。主流的都覆盖了:
配置方式也极简。 Claude Code 一行命令:
agentmemory connect claude-code --with-hooks
Cursor 在 mcp.json 里加一段配置就行。所有客户端共享同一个 agentmemory 实例,跑在 localhost:3111 。
内置隐私过滤
这是容易被忽略但很重要的点。
记忆系统会记录你的操作和对话。如果你的 API Key 、 Token 、密码也被记进去,然后在下次会话中被召回——那就是泄露。
agentmemory 内置了隐私过滤机制,自动剔除 API Key 、 Token 、密钥等敏感内容,只保留业务逻辑记忆。
但说实话,"自动"不等于"万无一失"。如果你特别在意安全,建议还是定期打开内置 Web 查看器( localhost:3113 ),检查记忆里有没有不该有的东西。
它解决不了什么
agentmemory 给 AI 加了记忆,但没给 AI 加判断力。
记忆召回的内容如果是错的——比如你之前踩坑的解决方案已经过时了——AI 照样会按照错误记忆去干活。而且因为"这是记忆里存的", AI 可能比没有记忆时更自信地犯错。
记忆合并和衰减也是。自动合并减少了冗余,但也可能丢掉你以为不重要、实际关键的细节。 p50 延迟 14ms 很快,但检索召回率 95.2%意味着还有 4.8%的时候,你需要的关键记忆没被找回来。
还有跨工具记忆同步的边界条件。你用 Claude Code 改了架构决策,切换到 Cursor 时,这个记忆多久能生效?如果两个工具同时写入冲突的记忆怎么办?
这些问题不是 agentmemory 独有的——mem0 、 Letta 都有类似的问题。但如果你打算用它做生产级记忆,得心里有数:记忆系统不是数据库,不保证 ACID 。
5 分钟上手
npm install -g @agentmemory/agentmemory
agentmemory
服务启动在 localhost:3111 。新开终端跑个 demo :
agentmemory demo
会自动导入 3 组真实开发场景( JWT 认证、 N+1 查询优化、限流逻辑),验证混合检索能力。
连 Claude Code :
agentmemory connect claude-code --with-hooks
连 Cursor——编辑~/.cursor/mcp.json,加入:
"agentmemory": {
"command": "npx",
"args": ["-y", "@agentmemory/mcp"],
"env": {
"AGENTMEMORY_URL": "http://localhost:3111"
}
}
重启客户端,完事。
AI 编程助手从"临时工"变成"长期搭档",缺的不是更强的模型,是更长的记忆。 23,844 个 Star 说明这件事的刚需程度——比任何评测分数都真实。
GitHub: https://github.com/rohitg00/agentmemory
夜雨聆风