AI代理、持久记忆、跨会话上下文、MCP服务、知识图谱、混合检索
—— agentmemory(rohitg00/agentmemory)为 Claude Code、Cursor、
Gemini CLI、Codex CLI、OpenClaw 等主流编程代理提供通用持久记忆层。
零外部数据库,95.2% 检索召回率(ICLR 2025 LongMemEval-S),
约 170K token/年的极低开销。
每个新会话都在重头开始
你用过 AI 编程助手后一定有这种体验:会话结束后,一切都消失了。 下一次打开,代理不再记得上回讨论的架构决策、你偏好的测试框架、 或者那个坑了一次又一次的 N+1 查询。
现有方案各自有致命短板:
• CLAUDE.md / .cursorrules:静态文本文件,200 行就撑满上下文。 240 条观察结果占用约 22K token,每次都完整加载进窗口。
• 手动管理:靠用户写备注记要点,本质是便利贴,不会主动捕捉代码行为。
• mem0(53K star):需要 Qdrant 或 pgvector 等外部向量数据库,
且仅靠手动调用 add() 记录,缺乏自动捕获。
• Letta/MemGPT(22K star):捆绑了自己的运行时框架,用了记忆层 就得放弃现有工具链。
结果就是恶性循环:新会话花 5-10 分钟重新交代栈上下文 -> 代理回答质量 下降 -> 开发者懒得再解释 -> 放弃高阶用法。
agentmemory 直接回答了这个问题:代理退出后,记忆不应该消失。 它不要求你换工具,不需要装 Postgres,甚至不需要手动记任何东西。
一命令启动,零配置接入
上手 agentmemory 出乎意料地简单,甚至不需要 npm install。
第一步:启动记忆服务器
npx @agentmemory/agentmemory
第二步:为你的代理添加 MCP 配置
以 Claude Code 或 Cursor 为例,在 mcpServers 中添加一个条目:
{
"mcpServers": {
"agentmemory": {
"command": "npx",
"args": ["-y", "@agentmemory/mcp"],
"env": { "AGENTMEMORY_URL": "http://localhost:3111" }
}
}
}
Claude Code 还可通过插件市场一键安装:
/plugin marketplace add rohitg00/agentmemory
-> /plugin install agentmemory,自动注册全部 12 个钩子和 51 个 MCP 工具。
第三步:观察效果
启动第二个终端,运行示例数据填充:
npx @agentmemory/agentmemory demo
此命令写入 3 个真实场景会话(JWT 认证、N+1 查询优化、速率限制),
然后执行语义级「回忆」。搜索 database performance optimization,
它会返回「修复 N+1 查询」的记录——纯关键词匹配做不到。
实际使用流程对比:
| 场景 | 无 agentmemory | 有 agentmemory |
|---|---|---|
| 会话 1 | "为 API 添加 JWT 认证"——代理完成,退出 | 代理完成,agentmemory 自动捕捉行为 |
| 会话 2 | "添加速率限制"——先解释认证用 jose、文件位置 | 代理直接开始写代码,已知道 src/middleware/auth.ts |
| token 开销 | 每次粘贴 22K+ token | 约 1,900 token(减少 92%) |
使用场景一:跨会话代码库学习
你周一设置了 GraphQL API,周三回来想加订阅。代理自动知道:
• 模式定义在 schema.graphql 中
• 解析器使用 graphql-tools 的 makeExecutableSchema
• 认证通过 JWT middleware 传递用户上下文
不需要重复说明。
使用场景二:修复老旧 bug 的上下文复用
你花了一下午调试某个并发问题,找到根因但没来得及改。第二天:
/recall "并发 bug 分析"
# 返回:昨日在 src/scheduler.ts:142 发现竞态条件,
# 两个 timer 回调同时修改 shared state,root cause 已记录
代理直接从分析继续,节省整个上午的重新排查。
使用场景三:团队协作中的记忆桥梁
agentmemory 支持 team memory(命名空间隔离 + 共享读取)。 你刚修好的 CI 构建问题,同事的代理在下一次会话中搜索 "CI build error" 就能看到完整解决记录。
四层记忆管线与混合检索核心
agentmemory 的架构可以用一条流水线概括——从代理执行到下次会话注入, 所有步骤自动完成。
记忆捕获管线(PostToolUse 触发):
钩子触发 -> SHA-256 去重(5 分钟窗口)
-> 隐私过滤器(剥离密钥和 API token)
-> 原始观察存储
-> LLM 压缩(提取事实、概念、叙事)
-> 向量嵌入(多供应商 + 本地模型可选)
-> BM25 + 向量双重索引
分发与注入管线(SessionStart 触发):
项目配置加载 -> 混合检索(BM25 + Vector + Graph)
-> Token 预算(默认 2000 token)
-> 注入会话上下文
四层记忆巩固模型(4-Tier Consolidation)
模拟人类记忆的睡眠巩固机制,将原始观察逐层提炼:
| 层 | 内容 | 类比 |
|---|---|---|
| Working | 工具调用的原始观察 | 短期记忆 |
| Episodic | 压缩后的会话概要 | "发生了什么" |
| Semantic | 提取的事实与规律 | "知道了什么" |
| Procedural | 工作流与决策模式 | "怎么做" |
记忆遵循艾宾浩斯遗忘曲线衰减。频繁访问的记忆强化, 长期未用的记忆自动驱逐。矛盾检测机制处理代理自身行为的不一致性。
创新之处:三重流混合检索(Triple-Stream Hybrid Search)
这是 agentmemory 召回质量的核心。三条检索流经 RRF (Reciprocal Rank Fusion,参数 k=60)融合:
1. BM25 关键词:基于 Porter 词干提取 + 同义词扩展,24/7 可用。 支持希腊文、西里尔文、希伯来文、阿拉伯文及带变音符号的拉丁文字符。 中文/日文/韩文可安装可选分词器增强。
2. 向量检索:Cosine similarity 语义检索。默认使用本地
all-MiniLM-L6-v2(免费离线),也支持 Gemini/OpenAI/Voyage/Cohere。
3. 知识图谱:提取实体关系并进行 BFS 遍历,当查询包含实体 关联关系时提供补充信号。
在 LongMemEval-S 数据集上的表现: - BM25 + Vector:R@5 = 95.2%,R@10 = 98.6% - 仅 BM25 基线:R@5 = 86.2% - 知识更新类子项:R@5 达到 98.7%
相比竞品的技术差异:
• 无需外部数据库:全部数据在 SQLite + iii-engine KV 中,零运维负担。
• 零框架锁定:不要求替换现有代理运行时,通过 MCP 协议(51 工具)、 REST(107 端点)、或 iii SDK(Python/Rust/Node)三种方式接入。
• 自动捕获 vs 手动记录:mem0 需在代码中显式调用 add();
agentmemory 通过 12 个生命周期钩子自动捕捉每一次工具调用。
• 记忆生命周期管理:版本历史、冲突检测、自动过期(TTL)、 低重要性驱逐——不是简单的键值存储。
落地场景与演进方向
立即可落地的场景:
场景一:代码库迁移或重构时的桥接。 团队从 Express 迁移到 Hono, 迁完一个模块后休息几天,回来时代理记得数据结构转换策略、测试覆盖、 边缘情况。agentmemory 确保每个模块的迁移上下文不被等待期冲散。
场景二:多代理任务接力。 你用 Claude Code 写后端、Cursor 写前端。
agentmemory 的 MCP 服务让两个代理共享同一个记忆服务器——
后端的 API 签名变更自动对前端代理可见。/agentmemory/team/share
端点允许团队成员跨会话交换洞察。
场景三:CI/CD pipeline 异常诊断。 代理在调试 CI 失败时记录下 完整分析链(错误栈 -> 根因推测 -> 假说验证 -> 最终结论)。 后续同样问题出现时,代理直接调取分析记录,跳过多轮假设验证。
更广阔的应用空间:
agentmemory 基于 iii-engine 的三个原语(Function、Trigger、KV State),
本质上是一个可扩展的 iii 运行时。通过 iii worker add <name>
可一键添加新能力:
• iii-pubsub -> 多人协作实时同步记忆
• iii-cron -> 定时巩固(每晚衰减扫描、每周快照)
• iii-sandbox -> 在隔离微 VM 中运行被召回的代码
• iii-queue -> 对失败的嵌入/压缩任务持久重试
从数据看,agentmemory 于 2026-05-13 发布 v0.9.12, 仅一天 star 突破 7,500,增速惊人。其核心价值不依赖任何特定 AI 代理框架,通过开放的 MCP 协议——只要你的代理支持 MCP, 就能获得跨会话持久记忆。对于长期使用编程助手的开发者来说, 这是目前最接近「代理不忘记」的解决方案。
夜雨聆风