AgentMemory: 为 AI 编程代理提供持久记忆的首要选择 — 基于真实基准测试的 22,000 星开源项目 — 2026 实用指南

AgentMemory(22,038 GitHub 星标)基于真实基准测试为 AI 编程代理提供持久记忆。记住过去的会话,跨天保持上下文,从前次交互中学习。支持 Claude Code、Codex CLI、OpenCode 等。包含安装教程、架构解析和基准测试。

  • ⭐ 22038
  • 更新于 2026-06-08
┌──────────────────────────────────────────────────────┐
│              AgentMemory 架构                          │
│                                                      │
│  ┌────────────┐  ┌────────────┐  ┌──────────────┐   │
│  │ 会话 1     │  │ 会话 2     │  │   会话 N     │   │
│  │ (Claude)   │  │ (Codex)    │  │  (OpenCode)   │   │
│  └─────┬──────┘  └─────┬──────┘  └──────┬───────┘   │
│        │               │                 │          │
│        ▼               ▼                 ▼          │
│  ┌───────────────────────────────────────────────┐   │
│  │         记忆存储层                              │   │
│  │  • 向量数据库 (嵌入向量)                        │   │
│  │  • 图数据库 (关系)                              │   │
│  │  • 键值存储 (事实、决策)                        │   │
│  └───────────────────────┬───────────────────────┘   │
│                          │ 查询与检索                   │
│  ┌───────────────────────▼───────────────────────┐   │
│  │       代理从记忆中获取上下文                      │   │
│  │  "上次你修复了认证 bug..."                       │   │
│  └───────────────────────────────────────────────┘   │
└──────────────────────────────────────────────────────┘

AgentMemory:会话 → 记忆存储 → 上下文感知的代理

引言 #

AI 编程代理在每次会话之间会遗忘一切。你周二修了一个 bug,周三回来时,代理又让你从头开始解释整个代码库。AgentMemory(22,038 GitHub 星标)通过为 AI 编程代理提供持久记忆来解决这个问题:它记住过去的会话、关键决策、bug 修复和架构模式,持续数天、数周甚至数月。基于真实开发工作流进行基准测试,它将代理准确率提高了 34%,将入职时间缩短了 60%。支持 Claude Code、Codex CLI、OpenCode 以及任何支持工具调用的代理。

什么是 AgentMemory? #

AgentMemory 是一个 AI 编程代理的持久记忆系统,使代理能够跨会话记忆和检索信息。它使用向量嵌入、知识图谱和结构化事实存储的组合,创建一个可搜索的记忆库,代理可以在每次会话开始时查询它。

核心功能:

  • 跨会话记忆 — 记住过去会话、几天或几周前发生的事情
  • 多代理支持 — 在 Claude Code、Codex、OpenCode 之间共享记忆
  • 结构化事实 — 将决策、bug 修复、架构模式作为结构化数据存储
  • 语义搜索 — 使用基于嵌入的检索查找相关的过去上下文
  • 自动提取 — 无需手动配置即可提取和存储重要事实
  • 真实基准测试 — 在 500+ 个真实开发会话上进行测试

使用 Python 构建,使用 ChromaDB 进行向量存储,networkx 进行图操作,SQLite 进行结构化数据存储。

AgentMemory 如何工作 #

阶段 1:记忆提取 #

# 初始化记忆存储
agentmemory init --project ./my-project

# 运行代理会话 — 记忆会自动捕获
# (作为 Claude Code / Codex CLI 中的钩子集成)
claude-code
# 幕后:每个工具调用、决策和代码变更
# 都会被提取并存储到记忆中

# 记忆存储位置:./my-project/.agentmemory/
# - facts.db (结构化事实)
# - embeddings/ (向量存储)
# - graph.db (知识图)

阶段 2:记忆存储 #

# 记忆提取流水线
from agentmemory import MemoryExtractor

extractor = MemoryExtractor(
    db_path="./my-project/.agentmemory/facts.db",
    vector_store="chromadb",
    vector_path="./my-project/.agentmemory/embeddings/",
    graph_db="networkx",
)

# 会话后,提取关键信息
extractor.extract_from_session(
    session_dir="./sessions/session_20260608",
    extract_types=["decisions", "fixes", "patterns", "config"]
)

# 结果:
# - 提取了 47 个事实 (bug 修复、决策、模式)
# - 存储了 12 个向量嵌入
# - 知识图中有 89 条边

阶段 3:记忆检索 #

# 为新会话检索相关记忆
from agentmemory import MemoryRetriever

retriever = MemoryRetriever(
    project_dir="./my-project",
    top_k=10,
    min_relevance=0.6
)

# 基于当前上下文查询记忆
context = retriever.retrieve(
    query="Previous auth-related changes and decisions",
    session_type="coding"
)

# 返回结构化记忆上下文:
# [
#   {"type": "fix", "date": "2026-06-05", "summary": "修复了 JWT token 刷新问题"},
#   {"type": "decision", "date": "2026-06-01", "summary": "选择 bcrypt 而非 argon2 进行密码哈希"},
#   ...
# ]

安装与设置 #

快速入门 #

pip install agentmemory

# 为项目初始化
agentmemory init --project ./my-app

# 启用记忆后运行
agentmemory run \
  --agent claude-code \
  --project ./my-app \
  --session-dir ./sessions

Docker 部署 #

docker run -d \
  --name agentmemory \
  -v $(pwd)/project:/project \
  -p 9090:9090 \
  ghcr.io/rohitg00/agentmemory:latest \
  server --data /project/.agentmemory

# 通过 API 查询记忆
curl -X POST http://localhost:9090/query \
  -H "Content-Type: application/json" \
  -d '{"query": "What bugs were fixed last week?", "top_k": 5}' | jq

记忆存储选项 #

# 选择你的存储后端
config = {
    "vector_store": "chromadb",  # "chromadb" | "qdrant" | "weaviate" | "sqlite"
    "graph_store": "networkx",    # "networkx" | "neo4j" | "rustfs"
    "fact_store": "sqlite",       # "sqlite" | "postgres" | "mongo"
}

# ChromaDB (默认,本地,零配置)
agentmemory init --vector-store chromadb

# Qdrant (分布式,生产环境)
agentmemory init --vector-store qdrant --qdrant-url http://qdrant:6333

# Neo4j (图密集型用例)
agentmemory init --graph-store neo4j --neo4j-url bolt://neo4j:7687

与 Claude Code、Codex CLI、OpenCode 和 Gemini CLI 集成 #

AgentMemory 作为支持工具调用的任何代理的钩子/中间件进行集成:

Claude Code #

# AgentMemory Claude Code 插件
agentmemory install claude-code

# 现在每次 Claude Code 会话自动:
# 1. 开始时检索相关记忆
# 2. 会话期间存储新事实
# 3. 会话结束时更新记忆

Codex CLI #

# 设置记忆项目
export AGENTMEMORY_PROJECT=./my-project
# Codex CLI 在每个会话前读取记忆
# 并在完成后存储结果

OpenCode #

# OpenCode 插件
agentmemory install opencode

# 记忆上下文作为工具调用注入:
# agentmemory.query("auth-related changes")
# 将相关的过去上下文作为结构化数据返回

为了可靠的托管,在 DigitalOcean Droplet 上部署以实现团队共享记忆,或在 HTStack 部署以获得亚太地区的低延迟。

基准测试 / 真实用例 #

记忆对代理性能的影响 #

在 500 个真实开发会话(bug 修复、功能实现、重构)上测试:

指标无记忆使用 AgentMemory提升
上下文召回准确率58%89%+53%
完成 bug 修复时间42 分钟28 分钟-33%
重复过去错误23%7%-70%
新开发者入职时间5 天2 天-60%

随时间推移的记忆保留 #

记忆在不同时间跨度的持久效果:

距上次会话时间准确率
同一天96%
1 周91%
1 个月84%
3 个月72%
6 个月61%

真实用例:团队开发 #

一个 5 人开发团队使用 AgentMemory:

# 开发者 A 在周一修复了认证 bug
# 开发者 B 在周二接手同一任务
# AgentMemory 检索 A 的修复和上下文

agentmemory query \
  --project ./my-app \
  --query "authentication bug fixes" \
  --since "2026-06-02"

# 返回:
# - 修复于 2026-06-02 由 dev-A 应用
# - 根本原因:过期的 JWT token
# - 解决方案:添加 token 刷新中间件
# - 相关文件:middleware/auth.py, services/jwt.js

高级用法 / 生产加固 #

自定义记忆模式 #

# 为项目定义自定义记忆模式
from agentmemory import SchemaBuilder

schema = SchemaBuilder()
schema.add_fact_type(
    name="code_review",
    fields=["reviewer", "file", "changes", "decision"],
    searchable=True
)
schema.add_fact_type(
    name="architecture_decision",
    fields=["decision", "rationale", "alternatives", "date"],
    searchable=True
)
schema.add_relationship(
    source="code_review",
    target="architecture_decision",
    relation="affects"
)

团队记忆同步 #

# 通过远程存储跨团队成员同步记忆
agentmemory sync \
  --remote git@github.com:myorg/agentmemory-data.git \
  --branch memory \
  --interval 3600

# 每个开发者在会话前拉取最新记忆
agentmemory pull --project ./my-app

记忆分析 #

# 查看记忆统计信息
agentmemory stats --project ./my-app

# 输出:
# 总事实数:1,247
# 总会话数:89
# 最常见的故障类型:"bug_fix" (34%)
# 记忆增长:本周 +127 个事实
# 高频查询词:"auth"、"database"、"API endpoint"

# 导出记忆进行分析
agentmemory export --format json --output ./memory-report.json

与替代方案对比 #

功能AgentMemoryCursor MemoriesGitHub Copilot Chat自定义 RAG
持久记忆是(仅限本地)
跨会话
多代理6+ 代理仅 Cursor仅 Copilot自定义
结构化事实
图关系
真实基准测试
开源是(MIT)
自托管
GitHub 星标22,038

与替代方案对比:AgentMemory vs. 传统代理 #

方面AgentMemory无记忆代理手动上下文传递
上下文保留跨会话持久会话结束即遗忘需要手动复制粘贴
信息检索速度毫秒级语义搜索N/A分钟级手动查找
结构化程度高(事实+图+向量)低(纯文本)
可扩展性支持多代理共享单会话单用户
自动化程度完全自动提取完全手动部分自动
隐私控制本地存储,可审计N/A取决于工具

限制 / 诚实评估 #

AgentMemory 不适合所有人:

  1. 小型个人项目 — 如果你是唯一的开发者且在一次会话中工作,记忆提供的价值有限。代理处理小型代码库的速度足够快,不需要记忆。
  2. 对隐私敏感的代码 — 记忆在本地存储代码模式和决策。对于企业代码库,你需要审计提取和存储的事实。项目包含隐私控制,但请仔细审查模式。
  3. 冷启动期 — 记忆需要时间构建。新项目从空记忆开始,需要 10-20 个会话后系统才变得有用。为此预留准备期。
  4. 记忆漂移 — 随着时间的推移,过时的事实可能会混淆代理。实施定期记忆清理(建议每月使用 agentmemory prune --older-than 90d)。
  5. 向量数据库复杂性 — 对于拥有多个代理的生产部署,管理 ChromaDB/Qdrant/Neo4j 会增加运维开销。简单设置从 SQLite 开始。

常见问题 #

问:AgentMemory 是否安全隐私?

答:是的。所有记忆默认存储在本地。除非你配置了远程同步,否则数据不会离开你的机器。你控制提取和存储哪些事实。该项目是开源的(MIT),因此你可以审计提取逻辑。

问:记忆使用多少存储空间?

答:典型使用情况:中型项目(10K-100K 行代码,50-200 个会话)使用 5-50MB。记忆大约每个会话增长 100-500KB,具体取决于复杂度。

问:AgentMemory 能与本地 LLM 一起使用吗?

答:是的。AgentMemory 是代理无关的,适用于任何支持工具调用的代理,包括使用本地 LLM(如 Ollama)的代理。

问:我如何清理旧记忆?

答:使用 agentmemory prune --older-than 90d 移除超过 90 天的事实。你也可以在配置中设置自动清理:cleanup_threshold_days: 90

问:它是否适用于非编码任务?

答:虽然专为编程代理设计,但记忆系统是通用的。你可以通过定义自定义事实类型将其用于任何代理工作流 — 数据科学、研究、自动化等。

来源与进一步阅读 #

  • 官方文档:https://github.com/rohitg00/agentmemory
  • GitHub 仓库:https://github.com/rohitg00/agentmemory
  • 基准测试方法:https://github.com/rohitg00/agentmemory/blob/main/docs/BENCHMARKS.md
  • 隐私指南:https://github.com/rohitg00/agentmemory/blob/main/docs/PRIVACY.md
  • 社区讨论:https://github.com/rohitg00/agentmemory/discussions

结论:给你的 AI 代理一个记忆 — 停止重复自己 #

AgentMemory 是将 AI 编程代理从单会话工具转变为终身协作者的缺失环节。通过记住过去的决策、bug 修复和模式,你的代理在每次交互中变得更聪明、更准确。基准测试是真实的:准确率提升 53%,入职速度提升 60%,重复错误减少 70%。

无论你是每周回到项目的个人开发者、共享代码上下文的团队,还是构建生产级 AI 工作流的开发者,AgentMemory 都为真正具备记忆能力的代理提供了基础。

加入 dibi8 中文 Telegram 群组 讨论 AgentMemory 配置。查看我们的 headroom token 压缩 和 codegraph 知识图谱 指南以获取互补的 AI 工具。今天就开始使用 AgentMemory — 安装它,让它从几个会话中学习,看着你的代理随着时间推移变得越来越聪明。

推荐工具:

以上部分链接为 affiliate 链接。如果你通过链接注册,dibi8.com 可能会获得佣金,对你没有任何额外费用。这有助于保持网站运行和内容免费。

💬 留言讨论