NirDiamant/Agent_Memory_Techniques
Agent memory for LLMs: 30 runnable Jupyter notebooks covering conversation buffers, vector stores, knowledge graphs, episodic and semantic memory, MemGPT, Mem0, Letta, Zep, Graphiti, LoCoMo benchmarks, and production patterns.
🧠 Agent 记忆技术 – 本仓库简介
为构建需要记忆功能的 LLM Agent 的开发者提供的动手学习资源。
本仓库包含 30 个完全可运行的 Jupyter notebooks,演示了现代 LLM Agent 中最常用(以及一些前沿)的记忆模式——从简单的对话缓冲区到像 Mem0、Letta、Zep 和 Graphiti 这样的生产级框架。每个 notebook 都是独立的,可以在 Google Colab 中打开,并展示了将该技术集成到您自己的 Agent 中所需的具体代码。
为什么“Agent 记忆”很重要
- LLM 的上下文窗口有限。如果没有记忆策略,Agent 在几轮对话后就会忘记一切。
- 现实世界的 Agent 需要跨会话、跨用户甚至跨不同任务持久化知识(例如:个人助理、客户支持机器人、自主规划器)。
- 本仓库将 30 种技术分为六大类,以便您快速为问题选择合适的工具:
- 短期记忆 – 保持近期对话的低成本和快速响应。
- 长期记忆 – 存储事实、实体、图谱、情景日志等。
- 认知架构 – 分层、层级化或反射式记忆系统。
- 检索与路由 – 决定什么时候回忆以及如何回忆。
- 框架 – 开箱即用的库(Mem0、Letta、Zep、Graphiti)。
- 评估与生产 – 基准测试、监控和部署模式。
您将在其中找到什么
| 章节 | 技术(notebook 链接) | 您将学到什么 |
|---|---|---|
| 短期记忆 | 01‑05 – 对话缓冲区、滑动窗口、摘要、摘要缓冲区、Token 缓冲区 | 管理上下文窗口、Token 预算、即时摘要。 |
| 长期记忆 | 06‑11 – 向量存储、实体、知识图谱、情景、语义、程序 | 持久化嵌入、构建实体存储、构建知识图谱、将原始情景与提取的事实和程序分离。 |
| 认知架构 | 12‑19 – 工作记忆、分层、巩固、压缩、自我反思、路由、时间、遗忘 | 受人类启发的记忆层级、自动提升/降级、周期性巩固、遗忘策略。 |
| 检索与路由 | 20‑23 – 检索增强、跨会话、多 Agent 路由、混合检索 | 选择正确的检索策略(相似度搜索、混合检索、多 Agent 分发)。 |
| 框架 | 24‑27 – Graphiti, Mem0, Letta (MemGPT), Zep | 开箱即用实现上述许多模式的插件库。 |
| 评估与生产 | 28‑30 – 基准测试、监控、部署模式 | 如何衡量记忆有效性、设置可观测性,并将具备记忆功能的 Agent 部署到生产环境。 |
快速入门指南
- 克隆仓库(或通过徽章直接在 Colab 中打开任何 notebook)。
- 安装最小依赖项 – README 列出了
python>=3.10和常规的 Jupyter 栈;大多数 notebook 还引入了langchain、openai、faiss-cpu或chromadb(用于向量存储),以及networkx(用于图计算)。 - 运行 第一个 notebook
01_conversation_buffer_memory以查看最简单的模式。 - 按照 README 中的 学习路径 部分跳转到与您项目匹配的类别(例如,针对检索增强聊天机器人的“长期记忆 → 向量存储”)。
- 当您准备好进行生产时,探索 框架 notebooks(Mem0、Letta、Zep),其中包含用于 CI 测试和部署的代码片段。
适用人群
- 开发者:正在构建个人助理、客户支持机器人或任何需要随时间保留上下文的 LLM 驱动工作流。
- 研究人员:希望获得新兴记忆架构(如 Mem0、Letta)的具体实现以进行基准测试。
- 教育工作者/学生:寻找关于 Agent 记忆的可视化、以 notebook 为驱动的课程。
技术栈与要求
- Python 3.10+
- Jupyter notebooks(本地运行或在 Google Colab 上运行)
- 核心库:
langchain、openai(或任何兼容的 LLM API)、faiss-cpu/chromadb(用于向量存储)、networkx(用于图记忆),以及框架 notebooks 所需的特定 SDK(例如mem0-sdk、zep-python)。 - Apache‑2.0 许可证 – 可自由使用、修改和商业化。
成熟度与社区
- 该仓库处于活跃维护状态(包含 issue 徽章、贡献指南和 Discord 社区)。
- 每项技术都标有 ✅ notebook 徽章,意味着代码可以端到端运行。
- 作者还提供付费课程和配套书籍以供深入研究,但 notebook 本身是完全功能化且开源的。
总结: 如果您需要关于如何为 LLM Agent 提供记忆功能的具体、可复制粘贴的示例——无论是用于快速原型设计还是生产系统——本仓库是一个简洁、组织良好的工具箱,涵盖了记忆策略的整个领域。
相关
- 项目
- 项目
- 项目
- 项目
- 项目