乐于分享
好东西不私藏

AgentMemory:AI编码助手的"记忆银行"

AgentMemory:AI编码助手的"记忆银行"


当你同时用Cursor和Claude Code写代码时,你希望它们记住什么?


你是否有过这样的经历?

你让AI助手帮你重构了一段代码,第二天你换个会话继续问它:“昨天那个重构,现在能再加个日志功能吗?”

AI助手一脸茫然:“抱歉,我不知道您指的是哪段代码。”

这不能怪AI。 传统AI助手的记忆是“短命”的——每次新建会话,它就忘了之前发生了什么。你需要把聊天记录翻一遍,把上下文重新喂给它。

但如果AI助手能记住“2个会话之前做了什么”呢?

这就是 AgentMemory 正在解决的问题。


01 四个层次的记忆,AI也需要

人类的大脑有不同类型的记忆:短期记忆、工作记忆、情景记忆、程序性记忆……它们各司其职,共同构成了我们的认知能力。

AgentMemory 借鉴了这个思路,为AI编码助手构建了一套四层记忆架构:

记忆层 作用 存储内容
Working Memory 当前会话的活跃状态 当前任务的token、上下文、scratchpad
Episodic Memory 情景记忆 带有时间戳的事件:用户上周二说了什么、Agent上周决定了什么
Semantic Memory 语义记忆 持久的事实、知识、偏好、学到的概念
Procedural Memory 程序记忆 任务流程、技能、如何执行工作流

这四层是如何协同工作的?

当前任务 (Working Memory)
       ↓
发生了什么 (Episodic Memory)
       ↓
学到了什么 (Semantic Memory)
       ↓
怎么执行 (Procedural Memory)

当你让AI助手帮你修复一个bug时,它会:

  1. Working Memory:记住你当前问的是哪个bug
  2. Episodic Memory:调取上次你提到这个bug的会话记录
  3. Semantic Memory:了解你项目的代码风格、技术栈偏好
  4. Procedural Memory:调用之前学会的调试流程

这就是为什么AgentMemory敢说:“我记得2个会话之前做了什么。”


02 专为AI编码助手设计

市面上不缺AI记忆方案:Mem0、Hindsight、Graphiti……它们各有千秋,但都有一个共同点:通用。

而 AgentMemory 的定位完全不同——它是专为AI编码助手设计的记忆系统。

它支持这些工具

AI编码助手 支持状态
Claude Code ✅ 原生支持
Cursor ✅ 原生支持
Codex CLI ✅ 原生支持
Gemini CLI ✅ 原生支持
Cline ✅ 原生支持
Windsurf ✅ 原生支持
OpenCode ✅ 原生支持(22+自动捕获钩子)
OpenClaw ✅ 支持(MCP配置或memory plugin)

换句话说,无论你用Cursor还是Claude Code,AgentMemory都能让你的AI助手具备跨会话的持久记忆。

而且,它还支持多助手共享同一个记忆库。这意味着你在Cursor里告诉AI的代码规范,在Claude Code里也能生效。

一次学习,多处使用。


03 与Mem0、Hindsight、Graphiti的差异

既然市面上已经有这么多AI记忆方案,AgentMemory还有什么特别的?

让我们来做个全面对比:

特性 AgentMemory Mem0 Hindsight Graphiti
定位 AI编码助手记忆 通用AI记忆 AI学习能力 AI时间线记忆
记忆层数 4层 3层 3层 2层
支持编码助手 ✅ 8+款 ❌ 通用 ❌ 通用 ❌ 通用
存储后端 SQLite + iii-engine 云端优先 本地/云端 本地优先
向量检索 ✅ ✅ ✅ ✅
Benchmark ✅ 基于真实编码任务 ❌ ❌ ❌
GitHub Stars ~12k-15k 12k+ 5k+ 4k+

核心差异在哪?

1. 垂直 vs 通用

这是最根本的区别。Mem0、Hindsight、Graphiti都是“通用AI记忆”方案,而AgentMemory专注于AI编码助手这个垂直场景。

2. benchmark驱动

AgentMemory的官方宣传语是:「Hits the exact gap Cursor + Claude + Codex all have: 'remember what we did 2 sessions ago.'」

它不是凭空想象用户需要什么记忆功能,而是基于真实编码任务的benchmark来设计。简单说:它解决的问题,是真正写代码的人遇到的。

3. 多助手兼容

这是AgentMemory的杀手锏。一个记忆库可以同时为Claude Code、Cursor、Codex等多个AI助手服务。

想象一下:你在Cursor里让AI帮你review了一段代码,第二天在Claude Code里继续讨论同一个PR——不需要重复解释背景,AI直接知道你在说什么。

4. 依托iii-engine

AgentMemory构建于iii-engine之上,后者是一套结构化的实验编排引擎。iii-engine的核心只有三个原语:

原语 说明
Worker 独立的工作单元
Function 可被调用的能力
Trigger 驱动任务执行

iii官方 slogan:「Three primitives. Zero integration cost.」

这意味着AgentMemory的记忆捕获和检索是结构化的,而不是简单的向量存储+查询。


04 技术架构:三个原语的力量

为什么AgentMemory能够实现如此精细的记忆分层?

答案在于它对iii-engine的深度整合。

核心设计原则

所有记忆操作必须通过iii-engine的接口,不能绕过iii-engine直接使用独立的SQLite或进程内替代方案。

// 所有操作都通过 registerFunction / registerTrigger / sdk.trigger()
import { registerFunction, registerTrigger, sdk } from 'iii-sdk';

// 注册记忆函数
registerFunction('memory::store', storeMemory);
registerFunction('memory::recall', recallMemory);

// 注册触发器
registerTrigger('memory::auto-capture', onToolCall);

// 触发记忆捕获
sdk.trigger('memory::capture', { context: '...' });

核心技术组件

组件 功能
MCP工具 memory_recall端点,支持format/token_budget参数
REST API 完整的CRUD操作接口
Hook机制 支持OpenCode 22+自动捕获钩子
向量索引 支持语义检索,分块大批量会话
smart-search 智能搜索+诊断tally
rebuildIndex 非阻塞启动,批量化嵌入(25h→3h)

性能优化

v0.9.21版本的一个关键更新是rebuildIndex批量化嵌入:

  • 原来:25小时
  • 现在:3小时

而且是非阻塞启动,不会卡住你的开发环境。


05 适用场景:谁需要AgentMemory?

场景一:多会话项目开发

你正在开发一个大型项目,今天完成了模块A的refactor,明天继续开发模块B。传统AI助手不知道你昨天改了什么,但AgentMemory可以告诉你:

“你昨天把UserService的数据库查询从ORM改成了原生SQL,还加了索引。”

场景二:多工具统一记忆

你同时使用Cursor写新功能,用Claude Code做code review。两个工具共享同一个记忆库,不需要在每个工具里重复解释项目背景。

场景三:代码审查连续性

你在Session 1让AI帮你review了一个PR,在Session 3继续讨论同一个PR的修改——AI直接知道你们之前讨论了什么,不需要你翻历史记录。

场景四:团队知识沉淀

让AI助手记住团队的代码规范、技术栈偏好、CI/CD流程。新成员加入时,AI可以直接告诉他团队的“规矩”。


06 写在最后

AgentMemory之所以在开发者社区迅速崛起(GitHub 12k+ stars),是因为它找准了一个精准的垂直场景——AI编码助手的记忆缺失。

它不是泛泛地做“AI记忆”,而是针对**Cursor、Claude Code、Codex这些工具“记不住之前做了什么”**的具体痛点,提供了一套基于真实benchmark的解决方案。

依托iii-engine的Worker/Function/Trigger原语,它实现了结构化的记忆捕获和检索,而非简单的向量存储。

当你的AI编码助手能够记住“2个会话之前做了什么”,你会发现:

  • 重复解释背景的时间少了
  • 代码审查的连续性更强了
  • 团队知识有了沉淀的地方

随着AI编码助手逐渐成为开发者的日常工具,AgentMemory这类专注于“代码记忆”的工具,或许会变得越来越重要。

如果你经常在多个会话中切换项目,或者同时使用多款AI编码助手,AgentMemory值得一试。


本文作者:冰蓝 团队:AI Agent工作组 公众号:智知录

相关学习资料