【GitHub】AgentMemory 深度解析:让 AI 编程代理拥有持久化记忆的 16K+ Star 开源方案

1 阅读24分钟

项目地址: github.com/rohitg00/ag… | Stars: 16.2K+ | 许可证: Apache-2.0 版本: v0.9.21(2026-05-19) | 语言: TypeScript (81.4%) | NPM: @agentmemory/agentmemory


目录


一、为什么 AI 编程代理需要"记忆"?

1.1 当前 AI 编程代理的根本缺陷

当前主流的 AI 编程代理(Claude Code、Cursor Agent、Codex CLI 等)都面临一个共同的根本性痛点

每次会话结束后,代理会遗忘一切。

这意味着:

痛点具体表现
重复解释成本高每次开启新会话都要重新描述项目架构、约定和上下文
历史经验丢失上次会话中踩过的坑、找到的解决方案无法被记住
上下文窗口浪费为了维持连续性,用户不得不在 CLAUDE.md / MEMORY.md 中手动维护大量静态文本
跨会话学习为零代理不会因为使用了某个 API 十次就变得更擅长使用它

1.2 现有方案的不足

在 AgentMemory 出现之前,开发者尝试过以下方式来解决记忆问题:

方案问题
CLAUDE.md / MEMORY.md 静态文件手动维护,容易过时,全量加载浪费 Token
Mem0(53K Star)需要外部数据库 Qdrant + Neo4j,无自动捕获能力
Letta/MemGPT(22K Star)完整 Agent 运行时,框架锁定严重,必须用 Letta
粘贴完整项目上下文年消耗 19.5M+ Token,远超窗口限制

1.3 AgentMemory 的定位

AgentMemory 的核心主张是:

从第一天起,你的编程代理就应该拥有的记忆系统——零外部依赖、全自动捕获、高精度召回。


二、AgentMemory 是什么?

2.1 一句话定义

AgentMemory 是一个基于 iii Engine 构建的 AI 编程代理持久化记忆层,通过 12 个自动 Hooks 无缝捕获代理行为、利用 LLM 压缩为结构化事实、以 BM25 + 向量 + 知识图谱的三流混合检索实现 95.2% 的 R@5 召回精度,并将 Token 成本降低 92%

2.2 核心指标一览

指标数据说明
GitHub Stars16,200+增长极快,周增 540+(GitHub 周榜第 9 名)
检索召回率 R@595.2%LongMemEval-S 基准测试(ICLR 2025, 500 题)
Token 节省率~92%相比粘贴完整上下文方案
MCP 工具数量53 个核心模式 8 个 / 完整模式 51 个
自动 Hooks 数量12 个覆盖完整的代理生命周期
外部数据库依赖0 个SQLite + 内存向量索引
测试用例950+ 通过覆盖率高
REST API 端点124 个完整的可编程接口
支持的 Agent16+6 个原生插件 + 10+ MCP 兼容
许可证Apache-2.0商业友好

2.3 技术栈概览

运行时:   Node.js >= 20 (单进程)
引擎:     iii Engine (HTTP Triggers + KV State + Streams)
存储:     SQLite (磁盘 JSON) + 内存向量索引
嵌入:     本地 all-MiniLM-L6-v2 / Gemini / OpenAI / Voyage / Cohere
LLM:      Claude / Gemini / OpenRouter / MiniMax / OpenAI (可选)
协议:     REST (端口 3111) + MCP + WebSocket (iii)
UI:       Viewer (3113) + iii Console (3114)

三、核心架构:三大原语

3.1 Hooks(钩子)— 自动捕获原语

这是 AgentMemory 最关键的创新之一。通过 12 个自动钩子,系统能够无缝接入每个编程代理的生命周期事件,无需编写任何胶水代码。

Hook 名称触发时机捕获内容
SessionStart会话启动时项目路径、会话 ID、工作目录信息
UserPromptSubmit用户提交 Prompt 时用户意图(经隐私过滤)
PreToolUse工具调用前文件访问模式、即将执行的操作
PostToolUse工具调用完成后工具名称、输入参数、输出结果
PostToolUseFailure工具调用失败时错误类型、错误上下文
PreCompact上下文压缩前重新注入已有记忆到对话
SubagentStart子代理启动时子代理生命周期追踪
SubagentStop子代理停止时子代理结果收集
Stop会话停止时会话摘要触发
SessionEnd会话结束时最终标记与清理

关键设计决策:

  • 零侵入性:安装插件即完成全部配置,不需要修改任何业务代码
  • 隐私优先:API Key、Secret、<private> 标签内容在捕获阶段就被自动剥离
  • 去重机制:SHA-256 哈希去重,5 分钟滑动窗口防止同一操作被重复记录
  • 渐进式丰富:从原始观察 → 结构化事实 → 语义概念,信息密度逐级提升

3.2 Recall(召回)— 三流检索原语

详见第六章:三流混合检索机制,这里先给出高层视角:

  • BM25 流:词法级别的关键词匹配,始终可用,零延迟
  • Vector 流:语义级别的密集嵌入相似度匹配
  • Graph 流:知识图谱实体关系遍历

三者通过 RRF(Reciprocal Rank Fusion) 算法融合,最终输出 Top-K 相关记忆。

3.3 Consolidate(整合)— 压缩存储原语

仿照人脑睡眠巩固机制,AgentMemory 将原始观察记录逐步压缩提炼为长期记忆

原始观察 (Working)
    ↓ LLM 提取结构化事实
    ↓ 合并重复项 + 消除矛盾
    ↓ 重要性评分 + 时间衰减
长期记忆 (Semantic / Procedural)

四、记忆处理流水线详解

当 PostToolUse hook 触发后,一条观察记录会经历以下完整处理流水线:

4.1 处理流程

┌──────────────┐     ┌──────────────┐     ┌──────────────┐     ┌──────────────┐     ┌──────────────┐
│  Hook 触发    │ ──▶ │ SHA-256 去重 │ ──▶ │  隐私过滤    │ ──▶ │  存储原始   │ ──▶ │  LLM 压缩   │
│ (PostToolUse)│     │ (5分钟窗口)  │     │ (剥离密钥)   │     │   观察       │     │ (结构化提取) │
└──────────────┘     └──────────────┘     └──────────────┘     └──────────────┘     └──────────────┘
                                                                              │
┌──────────────┐     ┌──────────────┐     ┌──────────────┐     ┌──────────────◀──┘
│  双索引写入  │ ◀── │  向量嵌入    │ ◀── │  BM25 分词   │ ◀── │  事实/概念/  │
│              │     │ (6个提供商)  │     │ (同义词扩展) │     │   叙述三元组  │
└──────────────┘     └──────────────┘     └──────────────┘     └──────────────┘

4.2 各阶段详细说明

第一阶段:去重与过滤

# 伪代码示意
def process_observation(raw_obs: Observation):
    # Step 1: SHA-256 哈希去重(5分钟滑动窗口)
    obs_hash = sha256(normalize(raw_obs))
    if cache.exists(obs_hash) and cache.age(obs_hash) < 300s:
        return DUPLICATE
    
    # Step 2: 隐私过滤
    filtered = strip_secrets(raw_obs)  # 剥离 API Key / Secret / private tags
    
    # Step 3: 存储 Working Memory(原始观察)
    store_working(filtered)

隐私过滤规则:

  • 自动识别并剥离:sk-ant-...sk-...api_keypasswordtoken 等敏感字段
  • <private> XML 标签内的内容直接移除
  • 用户自定义的正则过滤规则

第二阶段:LLM 压缩(可选但推荐)

当配置了 LLM 提供商时,原始观察会被压缩为三种结构化单元:

单元类型内容示例用途
Fact(事实)"项目使用 FastAPI + PostgreSQL 技术栈"可验证的具体信息
Concept(概念)"认证中间件位于 auth/middleware.py"抽象化的领域知识
Narrative(叙述)"用户反馈 API 响应慢,改用了 Redis 缓存"有因果关系的经验记录

注意: 即使不配置 LLM(默认状态),BM25 词法搜索仍然可以正常工作。LLM 压缩是增强项而非必需项。

第三阶段:双索引写入

每条压缩后的记录同时写入两个索引:

  1. BM25 倒排索引:对文本进行词干提取、同义词扩展后建立倒排排序列表
  2. 向量索引:将文本通过嵌入模型转换为稠密向量,支持语义相似度搜索

五、四层记忆整合模型

5.1 各层级详细说明

层级类比存储内容生命周期更新频率
Working 记忆人脑的短期记忆 / 感觉登记器工具调用的原始观察(未压缩)数小时 ~ 数天每次 hook 触发
Episodic 记忆"我昨天做了什么" — 自传体记忆压缩后的会话摘要、时间线数天 ~ 数周Stop / SessionEnd 时
Semantic 记忆"我知道什么" — 事实性知识提取的事实、概念、模式数周 ~ 数月Consolidation 定期扫描
Procedural 记忆"怎么做" — 技能性记忆工作流模板、决策模式、最佳实践长期(半永久)反思与归纳后形成

5.2 记忆演化机制

记忆并非静态存储,而是随时间动态演化:

                    时间轴 →

Working ──(压缩)──▶ Episodic ──(提炼)──▶ Semantic ──(抽象)──▶ Procedural
  │                    │                   │                    │
  ▼                    ▼                   ▼                    ▼
 TTL 过期            会话摘要             概念合并            工作流固化
 快速淘汰            保留关键节点         矛盾解决            最佳实践沉淀

核心演化规则:

规则描述配置项
艾宾浩斯衰减不被访问的记忆随时间逐渐降低重要性分数LESSON_DECAY_ENABLED=true
频率强化被频繁检索到的记忆会加强其保留评分自动
矛盾检测新事实与旧事实冲突时标记并尝试解决自动
TTL 过期低重要性且长时间未访问的记忆最终被清理可配置
审计追踪所有删除操作都有完整日志记录GOVERNANCE.md 定义策略

六、三流混合检索机制

6.1 BM25 词法搜索流

// BM25 搜索的核心逻辑(简化)
function bm25Search(query, corpus) {
    const terms = tokenize(stem(query));           // 词干提取
    const expanded = synonymExpand(terms);          // 同义词扩展
    return rankedByTFIDF(expanded, corpus);        // TF-IDF 加权排序
}

特点:

  • 始终开启,无额外依赖
  • 对精确关键词匹配极其有效(如函数名、文件名、变量名)
  • 延迟趋近于 0ms
  • 权重默认 0.4(可通过 BM25_WEIGHT 调整)

6.2 Vector 向量搜索流

# 向量搜索伪代码
def vector_search(query_embedding: np.ndarray, top_k: int = 20):
    # 余弦相似度计算
    similarities = cosine_similarity(
        query_embedding,          # 查询向量 (1 x dim)
        memory_embeddings         # 记忆库矩阵 (N x dim)
    )
    # 返回 Top-K 结果及相似度分数
    return topk(similarities, k=top_k)

支持的嵌入提供商:

提供商推荐度模型成本维度特点
本地(推荐)⭐⭐⭐⭐⭐all-MiniLM-L6-v2免费384离线可用,比纯 BM25 高 8pp 召回
Gemini⭐⭐⭐⭐gemini-embedding-001免费层768/1536/3072100+ 语言支持
OpenAI⭐⭐⭐text-embedding-3-small$0.02/1M1536最高质量
Voyage AI⭐⭐voyage-code-3付费1024专为代码优化
Cohere⭐⭐embed-english-v3.0免费试用1024通用场景

6.3 Graph 知识图谱流

当查询中检测到已知实体(如项目中的类名、模块名、API 端点名)时触发:

查询: "UserService 的认证逻辑在哪里?"
     │
     ▼ (NER 实体识别)
检测到实体: UserService
     │
     ▼ (BFS 图遍历)
UserService ──uses──▶ AuthService ──implements──▶ JwtStrategy
     │                  │
     ├──located_in──▶ auth/service.ts
     └──called_by──▶ UserController

图谱特性:

  • 在 Consolidation 阶段自动提取实体和关系边
  • 支持时序边查询(知道某关系在何时建立)
  • 力导向可视化展示(Viewer 端口 3113)

6.4 RRF 融合算法

三条流的搜索结果通过 Reciprocal Rank Fusion 进行融合:

score(d)=i=1n1k+ranki(d)score(d) = \sum_{i=1}^{n} \frac{1}{k + rank_i(d)}

其中:

  • dd = 候选文档
  • ranki(d)rank_i(d) = 第 ii 条流中文档 dd 的排名
  • kk = 平滑常数,默认 60
  • nn = 活跃流的数量(通常为 2 或 3)

额外优化:会话多样化

融合后的结果还会进行一次后处理——每个来源会话最多返回 3 条记录,避免单一会话的结果垄断输出,确保记忆覆盖面的多样性。

6.5 性能表现

场景p50 延迟p95 延迟备注
BM25-only< 1ms< 5ms纯内存倒排索引
BM25 + Vector (本地)~14ms~40msLongMemEval-S 基准
BM25 + Vector + Graph~20ms~60ms含图遍历开销
完整上下文注入< 100ms< 200ms含 LLM 格式化

七、支持的 Agent 与接入方式

AgentMemory 支持 16+ 种 AI 编程代理和 IDE,分为两类:

7.1 第一方原生插件(深度集成)

这些 Agent 拥有官方维护的原生插件,支持最完整的 Hook 覆盖和功能:

Agent维护方集成方式Hook 数特殊功能
Claude CodeAnthropic/plugin install agentmemory12斜杠命令 /recall /remember
Codex CLIOpenAIcodex plugin install6原生插件 + MCP
OpenClawopenclaw 社区Gateway 插件-MCP + 插件
HermesNous ResearchPython yaml 配置-Python 插件
pipi 团队原生插件-MCP
OpenHumantinyhumansaiRust 后端-Memory trait

7.2 MCP 协议兼容(通用集成)

任何支持 MCP 协议的 Agent 都可以通过标准配置接入:

Agent配置文件位置说明
Cursor~/.cursor/mcp.json一键 Deeplink 安装
Claude DesktopApplication Support 目录标准 MCP Server
Windsurf~/.codeium/windsurf/mcp_config.json标准 MCP
Gemini CLI~/.gemini/settings.json标准 MCP
ClineVSCode 扩展设置标准 MCP
Roo CodeVSCode 扩展设置标准 MCP
GooseBlock 配置标准 MCP
Kilo CodeIDE 设置标准 MCP
AiderREST API通过 HTTP 直接调用
OpenCodeopencode.json22 hooks + MCP(最强兼容)

7.3 通用 MCP 配置模板

{
  "mcpServers": {
    "agentmemory": {
      "command": "npx",
      "args": ["-y", "@agentmemory/mcp"],
      "env": {
        "AGENTMEMORY_URL": "http://localhost:3111",
        "AGENTMEMORY_SECRET": "${AGENTMEMORY_SECRET}"
      }
    }
  }
}

7.4 Claude Code 一键安装体验

# 终端 1:启动记忆服务器
npx @agentmemory/agentmemory

# 终端 2:Claude Code 中执行(一键完成)
/plugin marketplace add rohitg00/agentmemory
/plugin install agentmemory

# 验证
/recall "项目的认证机制"

八、MCP 工具与 REST API 全景

8.1 MCP 工具列表(53 个)

核心工具(始终可用,8 个)

工具名称功能描述使用频率
memory_recall搜索过去的观察记录★★★★★
memory_save保存洞察、决策或模式到长期记忆★★★★☆
memory_smart_search混合语义 + 关键词智能搜索★★★★★
memory_sessions列出最近的会话及其摘要★★★☆☆
memory_profile获取项目概要(概念、文件、模式)★★★★★
memory_export导出所有记忆数据为 JSON★★☆☆☆
memory_file_history查询特定文件的修改历史观察★★★☆☆
memory_timeline按时间顺序排列的所有观察★★☆☆☆

扩展工具(需 AGENTMEMORY_TOOLS=all,共 51 个)

分类工具举例功能
知识图谱memory_graph_queryBFS 遍历知识图谱
整合管理memory_consolidate手动触发四层整合
桥接同步memory_claude_bridge_sync与 MEMORY.md 双向同步
团队协作memory_team_share跨团队成员命名空间共享
治理审计memory_audit / memory_governance_delete操作审计追踪 + 安全删除
版本控制memory_snapshot_createGit 版本级快照
工作流memory_action_create创建带依赖的工作项
多 Agentmemory_lease / memory_signal_send独占锁 + 消息传递
运维memory_diagnose / memory_heal健康检查 + 自动修复
标签memory_facet_tag多维度标签(维度:值)
溯源memory_verify追溯任意记忆到源观察
压缩memory_compress_file压缩 Markdown 文件为摘要

MCP 资源与提示(Resources & Prompts)

除了工具外,MCP Server 还暴露了资源端点和预定义提示:

类型名称功能
Resourceagentmemory://status服务健康状态、会话数、记忆数统计
Resourceagentmemory://project/{name}/profile每个项目智能概要
Resourceagentmemory://memories/latest最近 10 条活跃记忆
Resourceagentmemory://graph/stats知识图谱统计(实体数、边数)
Promptrecall_context搜索并返回格式化的上下文消息
Promptsession_handoffAgent 间交接数据打包
Promptdetect_patterns分析重复模式的提示模板
Skill/recall快捷搜索斜杠命令
Skill/remember快捷保存斜杠命令
Skill/session-history查看最近会话摘要
Skill/forget删除指定观察或会话

8.2 REST API(124 个端点)

REST API 运行在 端口 3111,提供完整的可编程接口:

方法路径功能
GET/agentmemory/health健康检查(公开端点)
POST/agentmemory/session/start启动新会话 + 获取注入上下文
POST/agentmemory/session/end结束当前会话
POST/agentmemory/observe手动提交一条观察记录
POST/agentmemory/smart-search混合搜索(等价于 memory_smart_search
POST/agentmemory/context生成用于注入的上下文片段
POST/agentmemory/remember保存到长期记忆
POST/agentmemory/forget删除观察/会话/记忆
POST/agentmemory/enrich文件上下文 + 相关记忆 + Bug 关联
GET/agentmemory/profile获取项目概要
GET/agentmemory/export导出全部数据(JSON)
POST/agentmemory/import从 JSON 导入数据
POST/agentmemory/graph/query知识图谱查询
POST/agentmemory/team/share团队共享记忆
GET/agentmemory/audit操作审计日志

完整端点列表定义在源码 src/triggers/api.ts 中,共计 124 个端点。

8.3 编程接口 SDK

除了 MCP 和 REST,AgentMemory 还通过 iii Engine 提供 WebSocket 编程接口:

pip install iii-sdk    # Python
cargo add iii-sdk      # Rust  
npm install iii-sdk    # Node.js

Python 使用示例:

from iii import register_worker

# 连接到本地 iii Engine
iii = register_worker("ws://localhost:49134")
iii.connect()

# 执行混合搜索
result = iii.trigger({
    "function_id": "mem::smart-search",
    "payload": {
        "project": "my-awesome-project",
        "query": "how do JWT tokens refresh in this codebase?"
    }
})

print(result)  # 返回相关记忆列表

核心 iii 函数速查:

函数 ID功能参数
mem::remember保存记忆{text, project, tags?}
mem::observe捕获观察{raw, source?, session_id?}
mem::context获取上下文{project, budget?=2000}
mem::smart-search混合搜索{query, project, top_k?=10}
mem::forget删除记忆{id_or_filter}

九、基准测试与性能数据

9.1 LongMemEval-S 基准(ICLR 2025)

LongMemEval-S 是 ICLR 2025 提出的长期记忆评估基准,包含 500 道测试题,模拟真实编码场景中的记忆检索需求:

系统R@5R@10MRR备注
AgentMemory95.2%98.6%88.2%混合检索(BM25 + 向量 + 图谱)
BM25-only fallback86.2%94.6%71.5%仅 BM25(无 LLM 压缩时)
Mem081.4%向量为主
Letta/MemGPT73.8%向量归档
Cognee78.1%向量 + Neo4j

解读: AgentMemory 在该基准上领先第二名近 14 个百分点(R@5),主要归功于 BM25 + 向量的混合检索策略以及本地嵌入的高质量分词。

9.2 内部编码语料库测试

适配器P@5R@5Top-5 命中率p50 延迟
AgentMemory hybrid0.5780.96715/1514ms
grep baseline0.2670.96715/150ms

注意:虽然 grep baseline 的 R@5 也是 0.967(因为它做的是全文扫描),但其 P@5(精确率@5)仅为 0.267,意味着大量不相关的结果排在前面。AgentMemory 的 P@5 达到 0.578,是基线的 2.16 倍

9.3 Token 成本对比

这是 AgentMemory 最吸引人的价值主张之一——大幅降低 Token 消耗

方案年 Token 消耗量年成本估算局限性
粘贴完整项目上下文19.5M+远超预算超出上下文窗口限制
LLM 摘要方案~650K~$500/年需要额外的 LLM 调用链
AgentMemory~170K/年~$10/年高效精准
AgentMemory + 本地嵌入~170K/年$0完全免费

Token 节省 = 92%(相对于粘贴完整上下文方案)


十、与竞品的深度对比

10.1 全面特性对比表

特性维度AgentMemoryMem0 (53K⭐)Letta/MemGPT (22K⭐)内置 MEMORY.md
类型记忆引擎 + MCP记忆层 API完整 Agent 运行时静态 Markdown 文件
R@5 精度95.2%81.4%73.8%N/A
自动捕获12 hooks(零手动)手动 add() 调用Agent 自编辑手动编辑
搜索方式BM25 + 向量 + 图谱 (RRF)向量 + 图谱向量(归档式)全量加载
外部 DB 依赖0(SQLite + 内存)Qdrant + Neo4jPostgreSQL + 向量DB
MCP 工具数5311120
REST 端点124有限有限0
框架锁定强(必须用 Letta)每 Agent 独有格式
多 Agent 协作MCP + REST + 租约 + 信号API(无协调)仅 Letta 内部完全隔离
Token 效率~1900 tokens/会话不确定核心记忆常驻上下文240条观察 ≈ 22K tokens
实时查看器有 (3113)云端 Dashboard云端 Dashboard
许可证Apache-2.0Apache-2.0Apache-2.0N/A
Star 增速+540/周稳定稳定N/A

10.2 AgentMemory 的独特优势总结

  1. 零外部依赖:单个 Node 进程即可运行,不需要 Redis/Kafka/Postgres/Qdrant/Neo4j
  2. 真正的自动化:12 个 Hook 让记忆捕获完全透明,不需要在任何代码里写 memory.add()
  3. 混合检索精度最高:BM25 + Vector + Graph 的 RRF 融合达到 95.2% R@5
  4. 极致 Token 效率:~170K tokens/年 vs 粘贴方案的 19.5M+
  5. 最大生态系统兼容性:6 个原生插件 + 10+ MCP 兼容,覆盖几乎所有主流编码 Agent

十一、配置系统与环境变量

11.1 配置文件位置

操作系统路径
macOS / Linux~/.agentmemory/.env
Windows%USERPROFILE%\.agentmemory\.env

11.2 完整环境变量参考

LLM 提供商配置(用于记忆压缩,选配)

# 方案 A: Anthropic Claude(推荐)
ANTHROPIC_API_KEY=sk-ant-xxxxxxxxxx

# 方案 B: Google Gemini(同时启用嵌入)
GEMINI_API_KEY=your-gemini-key

# 方案 C: OpenRouter(支持任意模型)
OPENROUTER_API_KEY=your-openrouter-key

# 方案 D: OpenAI(支持 Azure/vLLM/LM Studio 自定义端点)
OPENAI_API_KEY=sk-...
OPENAI_BASE_URL=https://api.openai.com
OPENAI_MODEL=gpt-4o-mini
OPENAI_TIMEOUT_MS=60000
OPENAI_REASONING_EFFORT=none    # low | medium | high | none

# 方案 E: MiniMax(Anthropic 兼容 API)
MINIMAX_API_KEY=your-minimax-key

# 特殊: 使用 Claude 订阅(无需 API Key,零配置)
AGENTMEMORY_ALLOW_AGENT_SDK=true  # 仅选择性启用

嵌入提供商配置

EMBEDDING_PROVIDER=local               # 推荐!完全免费
VOYAGE_API_KEY=...
OPENAI_EMBEDDING_MODEL=text-embedding-3-small

功能开关

# === 核心功能开关 ===
AGENTMEMORY_AUTO_COMPRESS=false        # 自动压缩(默认关,建议按需开)
AGENTMEMORY_SLOTS=false                # 可编辑固定记忆槽(实验性)
AGENTMEMORY_REFLECT=false              # Stop hook 自动反思(默认关)
AGENTMEMORY_INJECT_CONTEXT=false       # SessionStart 自动注入上下文(默认关)
GRAPH_EXTRACTION_ENABLED=false         # 知识图谱提取(需 LLM)
CONSOLIDATION_ENABLED=true             # 四层整合(默认开)
LESSON_DECAY_ENABLED=true              # 记忆衰减(艾宾浩斯曲线)
CLAUDE_MEMORY_BRIDGE=false             # MEMORY.md 双向同步
SNAPSHOT_ENABLED=false                 # Git 版本快照

# === 工具可见性 ===
AGENTMEMORY_TOOLS=core                 # core(8个) 或 all(51个)

搜索与性能调优

# 检索权重
BM25_WEIGHT=0.4                        # BM25 流权重(0~1)
VECTOR_WEIGHT=0.6                      # 向量流权重(0~1)
TOKEN_BUDGET=2000                      # 每次注入的 Token 预算上限

# 超时
AGENTMEMORY_LLM_TIMEOUT_MS=60000       # LLM 调用超时

安全与网络

AGENTMEMORY_SECRET=your-secret-key     # Bearer Token 认证密钥
III_REST_PORT=3111                     # API 端口(默认 3111)

团队协作

TEAM_ID=my-team-id
USER_ID=user-123
TEAM_MODE=private                      # private | shared

11.3 LLM 提供商选择指南

你的情况推荐方案原因
零配置快速体验不设任何 LLM KeyBM25-only 模式即可工作
已有 Claude API 额度ANTHROPIC_API_KEY压缩质量最佳
追求最低成本Gemini 免费层同时获得嵌入 + LLM
需要私有部署OPENAI_BASE_URL 指向 vLLM完全离线
Claude Pro 订阅者AGENTMEMORY_ALLOW_AGENT_SDK零额外费用

十二、部署方案

12.1 本地开发部署(最常用)

# 步骤 1: 安装(全局)
npm install -g @agentmemory/agentmemory

# 步骤 2: 启动服务
agentmemory                          # API :3111, Viewer :3113

# 步骤 3: 验证
agentmemory demo                     # 种子示例数据 + 验证召回效果

# 步骤 4: 连接你的 Agent
agentmemory connect claude-code      # 或 cursor / codex / gemini-cli ...

零安装替代方案(适合临时体验):

npx @agentmemory/agentmemory         # 直接运行
npx -y @agentmemory/agentmemory@latest  # 强制最新版

12.2 Docker 部署

# 使用自带 docker-compose.yml
docker compose up -d

# 或手动构建
docker build -t agentmemory .
docker run -p 3111:3111 -p 3113:3113 agentmemory

12.3 云平台部署

平台模板特点适用场景
fly.iodeploy/fly.toml单机 + auto_stop_machines个人使用,最低闲置成本
Railwaydeploy/railway.jsonHobby 计划固定费用小团队
Renderdeploy/render.yamlBlueprint 流程 + 磁盘快照需要数据持久化
Coolifydeploy/coolify/自托管 VPS完全掌控数据

重要安全提醒: 只暴露端口 3111(API)。查看器端口 3113 应绑定容器内回环地址,通过 SSH 隧道访问。

12.4 Windows 特别说明

Windows 用户有三条路:

方案难度说明
A: 预编译二进制(推荐)下载 iii-x86_64-pc-windows-msvc.zip 解压到 PATH
B: Docker Desktop自动使用 docker-compose.yml
C: 仅 MCP Servernpx -y @agentmemory/agentmemory mcp,无需完整引擎

12.5 从源码构建

git clone https://github.com/rohitg00/agentmemory.git && cd agentmemory
npm install
npm run build        # TypeScript 编译
npm start             # 启动生产服务器

# 开发模式(热重载)
npm run dev

# 测试
npm test              # 950+ 测试用例
npm run test:integration  # API 集成测试(需运行中的服务)

十三、安全与隐私设计

13.1 隐私保护机制

AgentMemory 将隐私作为一等公民来设计:

保护层机制实现细节
捕获层即时剥离API Key / Secret / <private> 标签内容在存储前移除
传输层Bearer Token受保护端点需 Authorization: Bearer <secret>
存储层明文 JSON数据存储在本地磁盘,不上传至云端
查看器回环绑定默认绑定 127.0.0.1:3113,不可从外部访问
控制台本地限制iii Console 绑定 127.0.0.1,禁止公网暴露

13.2 认证体系

# 设置密钥后,所有非健康检查端点都需要认证
AGENTMEMORY_SECRET=my-super-secret-key

# 请求时携带
curl -H "Authorization: Bearer my-super-secret-key" \
  http://localhost:3111/agentmemory/profile

13.3 审计与治理

  • 操作审计追踪:所有增删改操作均有日志记录
  • 带审计的安全删除memory_governance_delete 确保每次删除都可追溯
  • 治理文档GOVERNANCE.md 定义了删除策略、保留期限和数据分类标准

十四、iii 引擎扩展生态

AgentMemory 本身就是一个运行的 iii Engine 实例。iii 是一个轻量级的 Node.js 应用运行时,AgentMemory 可以通过 Worker 系统无缝扩展能力:

14.1 可用 Worker 扩展

iii worker add iii-pubsub          # 多实例记忆同步(Pub/Sub 消息队列)
iii worker add iii-cron            # 定时任务:整合调度、衰减扫描、快照轮换
iii worker add iii-queue           # 嵌入/压缩任务的持久化重试队列
iii worker add iii-observability   # OTEL 可观测性(每次操作的追踪,默认开启)
iii worker add iii-sandbox         # 隔离 microVM 中运行召回的代码
iii worker add iii-database        # SQL 后端状态适配器(替换 JSON 文件)
iii worker add mcp                 # 并行运行额外 MCP Server

14.2 iii 替代传统技术栈

传统技术栈AgentMemory (iii) 替代优势
Express.js / Fastifyiii HTTP Triggers声明式路由,自动生成 OpenAPI
SQLite + pgvectoriii KV State + 内存向量零配置向量索引
SSE / Socket.ioiii Streams (WebSocket)内置连接管理
pm2 / systemdiii Engine Worker Supervision内置进程守护
Prometheus / Grafanaiii OTEL + Health Monitor开箱即用的监控面板

十五、路线图与未来规划

AgentMemory 制定了清晰的 12 个月路线图(Q2 2026 - Q1 2027),按季度主题推进:

15.1 四季度规划全景

季度主题核心方向
Q2 2026Depth(深度)多模态记忆、更多连接器、清理遗留问题
Q3 2026Breadth(广度)更多 Agent 的 Hook 对等支持、社区扩展、OpenSSF
Q4 2026Trust(信任)企业级特性:SSO/RBAC/审计导出/长期部署
Q1 2027v1.0 正式发布接口冻结、LTS 分支、稳定版承诺

15.2 Q2 2026(当前季度)— Depth

状态功能说明
✅ 已交付iii console 文档含本地化截图
✅ 已交付健康严重性门控基于 RSS 阈值的自动告警
✅ 已交付独立 MCP 代理连接支持第三方 MCP 连接运行中的服务器
✅ 已交付审计覆盖mem::forget 审计追踪
✅ 已交付文件系统连接器@agentmemory/fs-watcher
✅ 已交付官网部署Next.js + Vercel
🔄 进行中多模态记忆图片存储、视觉提示压缩、磁盘配额
🔄 进行中治理基线GOVERNANCE / CONTRIBUTING / SECURITY 等文档
📋 计划中GitHub 连接器Issues/PRs/Discussions 同步为观察记录
📋 计划中会话回放 UI时间线拖拽回放每个观察
📋 计划中CI 基准测试每次发版自动跑 LongMemEval-S

15.3 Q3 2026 - Breadth

  • Slack / Discord 消息连接器
  • OpenSSF Scorecard 银牌认证
  • 知识图谱 DSL 查询语言
  • Hermes 集成加固
  • 首次会议演讲(KubeCon / LlamaCon)
  • 候选:跨 Agent 共享记忆命名空间

15.4 Q4 2026 - Trust

  • SSO OIDC 网关
  • 审计日志导出到 S3/Loki/stdout
  • 记忆范围 RBAC(project:read / write / govern)
  • 长期运行部署指南(Docker/systemd/launchd)
  • 性能 SLO 发布(p50/p95 召回延迟目标)
  • 外部安全审计

15.5 Q1 2027 - v1.0

  • REST + MCP 接口 Semver 冻结
  • LTS 分支 v1.x(12 个月安全修复承诺)
  • 正式 v1.0 发布 + 文档审查
  • 候选:社区托管参考实例、第二语言参考实现(Rust/Go)

15.6 明确排除的范围

为了保持项目聚焦,以下内容刻意不在路线图中

  • ❌ 云托管 SaaS 版本
  • ❌ 计费/订阅/Apache-2.0 以外的商业许可
  • ❌ Agent 框架本身(AgentMemory 是依赖库,不是 Agent 运行时的替代品)

十六、总结与思考

16.1 核心创新总结

创新为什么重要
12 个自动 Hooks彻底消除了"手动记记忆"的负担,实现了真正的无感记忆
三流混合检索 (RRF)95.2% R@5 精度,比纯向量方案高出 14pp
四层记忆整合仿人脑巩固机制,记忆随时间自我进化
零外部依赖单 Node 进程运行,SQLite + 内存向量,部署门槛极低

16.2 适用场景

场景适配度说明
个人开发者日常编码★★★★★解决跨会话上下文丢失的最直接方案
小团队协作开发★★★★☆团队共享记忆 + 命名空间隔离
大型企业内部工具★★★☆☆待 Q4 SSO/RBAC 就绪后更成熟
非 AI 编程场景★★☆☆☆设计目标明确面向编程代理
研究/学术用途★★★★☆1112 个测试 + 基准测试套件完善

16.3 局限性与注意事项

限制影响缓解措施
LLM 压缩需配置 API Key默认只有 BM25本地嵌入已足够大多数场景
知识图谱需 LLM 支持GRAPH_EXTRACTION_ENABLED 默认关闭配置 Gemini 免费层即可启用
单进程架构高并发场景受限iii Pub/Sub worker 支持多实例
主要面向编程代理通用对话场景优化较少观察 + 记忆模式可扩展
OKVQA 等通用 VQA 基准较弱专注于编码领域这是设计取舍而非缺陷

16.4 个人评价

AgentMemory 在一个极度拥挤的"AI 记忆赛道"中找到了自己的独特定位:

  1. 它不做 Agent 运行时(不像 Letta/MemGPT),避免了框架锁定
  2. 它不强求外部依赖(不像 Mem0 需要 Qdrant+Neo4j),降低了部署门槛
  3. 它真正做到了自动化(12 个 Hooks vs 竞品的手动 add()),解决了"谁去调用记忆 API"的根本问题

16K+ Star 和周增 500+ 的增速说明了社区对这个方向的认可。对于任何一个日常使用 AI 编程代理的开发者来说,AgentMemory 值得一试——毕竟,让你的代理拥有记忆,可能是提升它效率的最简单的方式


参考链接

资源链接
GitHub 仓库github.com/rohitg00/ag…
官网www.agent-memory.dev
NPM 包www.npmjs.com/package/@ag…
底层引擎 iiiiii.dev/docs
项目演示页ericbill21.github.io/fullflow/ (注:此为论文项目主页,非 AgentMemory 演示)
Star 历史www.star-history.com/#rohitg00/a…
CHANGELOGgithub.com/rohitg00/ag…
路线图github.com/rohitg00/ag…

本文基于 AgentMemory v0.9.21(2026-05-19)版本撰写,项目持续迭代中,请以 GitHub 仓库最新版本为准。