你的AI助手每天都在失忆——2.4万人决定给它装个外挂大脑
你有没有算过,每天花多少时间跟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(原生插件 + 12 hooks + MCP)
- Cursor(MCP服务器)
- Gemini CLI(MCP服务器)
- Codex CLI(原生插件 + 6 hooks + MCP)
- Hermes(原生插件 + MCP)
- OpenClaw(原生插件 + MCP)
- Cline、Windsurf、Goose、Roo Code……
配置方式也极简。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说明这件事的刚需程度——比任何评测分数都真实。
暂无评论。