Agent Memory Techniques
30 个可运行的 Jupyter Notebook,系统讲解 LLM 智能体的每一种主流记忆技术——从对话缓冲到知识图谱与生产部署。
最小权限:教育笔记本仅读取环境变量与本地文件,无破坏性默认行为,得2;未发现显式用户确认机制,1;数据流在README与笔记本中基本可循,但未给出明确的数据流说明文档,2;sensitive_data_handling 依赖 load_env 对缺失密钥报错,处理适度,2;依赖清单无版本锁定也无安全审计/告警,仅1;README内嵌大量点击追踪链接将交互外传至云函数,外部副作用略有加分项但作为learner隐晦,1;无回滚/删除指引,1;来源归属仅靠作者署名与LICENSE,未列出第三方技巧/框架的引用出处,1。
CI中有notebook结构验证、风格验证与helpers冒烟测试,自洽性尚可,2;requirements.txt无版本固定,LangChain等API漂移风险高,可用性仅承诺1;helpers的load_env对缺失密钥抛出明确RuntimeError并有测试覆盖,错误信息较好,2。
受众与场景非常清晰:学习者到生产迁移,含学习路径与决策树,3;能力边界在各技术描述中有说明但缺乏系统性的适用/不适用标注,2;作为笔记本集合无触发机制,trigger_precision仅1;指明Python 3.10+/3.11与Jupyter/Colab,环境适配适度,2。
信息架构出色:6大族30技术编号目录、对比矩阵、决策树、图文回退,3;安装说明弱:仅徽章提及Python版本与依赖文件,缺逐步安装/env配置文档,1;命名稳定:目录如01_conversation_buffer_memory与编号一致,3;示例丰富并有Colab徽章,FAQ/常见问题未见,2;已知局限未系统披露(如示例不适用于并发/规模),1;LICENSE为标准Apache-2.0,3;无版本号、无CHANGELOG,0;维护责任仅由个人承担,CONTRIBUTING存在但更新承诺不可验证,1。
输出可用性:每个笔记本可直接运行,附Colab入口,2;边际价值:覆盖面广(含框架对比与评测),但同类教学仓库存在,2;成本收益:免费开源、结构化学习路径,性价比良好,2。
主张可追溯:多数技术断言可对应到具体笔记本,2;与Mem0/Letta/Zep/Graphiti等外部框架可交叉验证,2;事实与推断基本区分(例如明确标注2026生态描述为作者观点),但存在营销化措辞('Top 0.1% content'等不可验证声明),2。
- requirements.txt 完全未固定版本,LangChain/Mem0/Letta 等快速演进的库极易因API变更导致笔记本失效,克隆后请自行核对依赖版本。
- README含大量第三方追踪链接(cloudfunctions.net 点击/再营销参数),阅读时注意流量外发;不希望被追踪请勿点击。
- 所有内容为教学示例,未展示并发、多租户、数据删除/回滚等生产必须场景,勿直接照搬到生产。
- 无版本号与CHANGELOG,无法定位某一修订的行为;引用时固定commit哈希。
- 发布者身份未经注册表验证,营销性表述(阅读量、畅销榜)未经核实。
这个 Agent 能做什么,适合哪些场景?
这是一个由 Nir Diamant 维护的开源教程仓库,包含 30 个可独立运行的 Jupyter Notebook,覆盖六大记忆技术家族:短期上下文管理、长期存储、认知架构、检索与多智能体模式、即用型框架,以及评估与生产部署。每个技术对应一个独立文件夹,内含 Notebook 和说明文档,可直接在 GitHub 浏览或通过 Colab 徽章在云端运行。框架部分以实战代码覆盖 Graphiti、Mem0、Letta(MemGPT)和 Zep,评估部分提供 LoCoMo 与 LongMemEval 基准测试和检索精度、时效性、矛盾检测等指标。仓库还配有对比矩阵、术语表、学习路径指南和决策树,帮助读者按目标选择合适技术。它定位为教育性参考与食谱式代码集,作者明确声明代码不可直接作为生产软件使用。
仓库将 30 种记忆技术组织为编号目录(all_techniques/01_conversation_buffer_memory 到 30_production_memory_patterns)。短期记忆部分实现 Conversation Buffer、Sliding Window、Summary、Summary Buffer、Token Buffer 五种模式;长期记忆部分实现向量存储、实体记忆、知识图谱、情景记忆、语义记忆和程序性记忆;认知架构部分涵盖工作记忆、分层记忆、记忆巩固、压缩、自我反思、记忆路由、时间感知和遗忘衰减;检索部分比较语义搜索、时间新近度、混合打分、多样性与重排序等策略,并实现跨会话记忆、多智能体共享记忆和记忆即工具模式。框架部分调用 Graphiti(Zep 的时间感知知识图谱)、Mem0 托管记忆层、Letta/MemGPT 自编辑记忆和 Zep 对话分类与实体抽取。评估部分测量检索精度与召回、陈旧度和矛盾,运行 LoCoMo/LongMemEval 基准,生产部分覆盖缓存、TTL、分片、备份、GDPR 与可观测性。运行方式为克隆仓库、安装 requirements.txt、配置 .env 中的 API 密钥后在 Jupyter 中逐个执行 Notebook。
- LLM 应用开发者需要为聊天机器人选择记忆方案时,用决策树和对比矩阵快速定位合适技术并通过 Notebook 验证效果。
- 团队正在评估 Mem0、Letta、Zep、Graphiti 等记忆框架,希望在写入生产代码前先跑通可运行的最小示例。
- 研究或教学人员需要一套系统化、可引用的教学材料,讲解情景记忆、语义记忆与认知架构等概念及其实际实现。
- 工程师准备将带记忆的智能体上线,参考 Technique 30 学习缓存、TTL、分片、GDPR 合规与可观测性等生产模式。
- 多智能体系统开发者需要共享内存、消息传递与一致性协议的实现参考(Technique 22)。
- 需要在长对话上量化记忆质量的团队,用 Technique 28-29 的 LoCoMo/LongMemEval 基准做横向评测。
这个 Agent 有哪些优点和局限?
- 30 种技术覆盖完整,从简单缓冲到知识图谱、认知架构和四个主流框架(Mem0、Letta、Zep、Graphiti),在同类仓库中范围罕见。
- 每个 Notebook 都可独立运行,并支持 GitHub 直接渲染和 Colab 云端执行,学习门槛低。
- 配有对比矩阵、术语表、决策树和多条学习路径,便于按实际需求选型而非顺序阅读。
- 包含评估(Technique 28)与基准测试(LoCoMo、LongMemEval,Technique 29),在教程类仓库中少见,支持量化选型。
- 作者在免责声明中明确说明代码仅供教育用途,非生产就绪软件,直接用于受监管数据或高风险场景需自行审查。
- 需要自备 OPENAI_API_KEY 或 ANTHROPIC_API_KEY,运行会产生 API 调用费用,且 Notebook 依赖所选厂商的服务可用性。
- 30 个 Notebook 意味着显著的本地环境和密钥配置成本,初次上手需要一定 Python/Jupyter 基础。
- 内容更新节奏快(提及 2026 年 3 月的 Anthropic 七层记忆等), Notebook 与底层框架 API 的版本兼容性需使用者自行验证。
如何安装或部署这个 Agent?
git clone https://github.com/NirDiamant/Agent_Memory_Techniques.git
cd Agent_Memory_Techniques
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements.txt
cp .env.example .env# 编辑 .env,填入 OPENAI_API_KEY 和/或 ANTHROPIC_API_KEY
如何使用这个 Agent?
运行 jupyter notebook all_techniques/01_conversation_buffer_memory/ 从最基础的技术开始;每个技术都在 all_techniques/ 下有独立文件夹和同名 .ipynb。无需本地安装时,可直接在 GitHub 上阅读 Notebook,或点击各表格中的 Colab 徽章在 Google Colab 云端运行。不确定从哪开始可参考 README 中的决策树、docs/comparison.md 对比矩阵或学习路径(初学者路径:01 → 02 → 03 → 05 → 06 → 21)。
这个 Agent 与同类方案有什么区别?
同一作者的姊妹仓库构成互补系列:RAG Techniques(26k+ 星,专注检索增强生成)、GenAI Agents(21k+ 星,专注智能体架构)、Agents Towards Production(18k+ 星,专注生产级智能体部署)和 Prompt Engineering(7k+ 星)。若需求是 RAG 或整体智能体架构,这些仓库更对口;若需求聚焦智能体记忆,本仓库是专门选择。仓库还提到 MemOS 与 Memori 作为记忆即基础设施平台,但未提供集成 Notebook。