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 种技术分为六大类,以便您快速为问题选择合适的工具:
    1. 短期记忆 – 保持近期对话的低成本和快速响应。
    2. 长期记忆 – 存储事实、实体、图谱、情景日志等。
    3. 认知架构 – 分层、层级化或反射式记忆系统。
    4. 检索与路由 – 决定什么时候回忆以及如何回忆。
    5. 框架 – 开箱即用的库(Mem0、Letta、Zep、Graphiti)。
    6. 评估与生产 – 基准测试、监控和部署模式。

您将在其中找到什么

章节 技术(notebook 链接) 您将学到什么
短期记忆 01‑05 – 对话缓冲区、滑动窗口、摘要、摘要缓冲区、Token 缓冲区 管理上下文窗口、Token 预算、即时摘要。
长期记忆 06‑11 – 向量存储、实体、知识图谱、情景、语义、程序 持久化嵌入、构建实体存储、构建知识图谱、将原始情景与提取的事实和程序分离。
认知架构 12‑19 – 工作记忆、分层、巩固、压缩、自我反思、路由、时间、遗忘 受人类启发的记忆层级、自动提升/降级、周期性巩固、遗忘策略。
检索与路由 20‑23 – 检索增强、跨会话、多 Agent 路由、混合检索 选择正确的检索策略(相似度搜索、混合检索、多 Agent 分发)。
框架 24‑27 – Graphiti, Mem0, Letta (MemGPT), Zep 开箱即用实现上述许多模式的插件库。
评估与生产 28‑30 – 基准测试、监控、部署模式 如何衡量记忆有效性、设置可观测性,并将具备记忆功能的 Agent 部署到生产环境。

快速入门指南

  1. 克隆仓库(或通过徽章直接在 Colab 中打开任何 notebook)。
  2. 安装最小依赖项 – README 列出了 python>=3.10 和常规的 Jupyter 栈;大多数 notebook 还引入了 langchain、openai、faiss-cpu 或 chromadb(用于向量存储),以及 networkx(用于图计算)。
  3. 运行 第一个 notebook 01_conversation_buffer_memory 以查看最简单的模式。
  4. 按照 README 中的 学习路径 部分跳转到与您项目匹配的类别(例如,针对检索增强聊天机器人的“长期记忆 → 向量存储”)。
  5. 当您准备好进行生产时,探索 框架 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 提供记忆功能的具体、可复制粘贴的示例——无论是用于快速原型设计还是生产系统——本仓库是一个简洁、组织良好的工具箱,涵盖了记忆策略的整个领域。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目