【免费下载链接】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 Memory Techniques是一个专注 LLM Agent 记忆的开源项目,提供 30 个可运行的 Jupyter Notebook,系统覆盖对话缓冲、向量存储、知识图谱、MemGPT、Mem0、Letta、Zep 等全部主流记忆模式。本文将带你实战它的第一课:Conversation Buffer Memory(对话缓冲记忆)——让 AI Agent 第一次真正"记住"对话的最基础、也最关键的 Agent Memory 技术。
📖 什么是 Conversation Buffer Memory?
想象一台从不关机的录音机:你和 AI Agent 的每句话都被原样录下来;Agent 每次要回答时,就把整盘磁带从头到尾重播一遍。这就是Conversation Buffer Memory的全部原理——
- 维护一个按顺序排列的消息列表(message list),每条消息包含角色(
user/assistant)和内容 - 每次调用大模型时,把完整历史原封不动地重新发送
- 收到回复后追加到列表,进入下一轮
它是最简单的 Agent Memory 技术,但也是几乎所有其他记忆模式(滑动窗口、摘要记忆、向量检索……)的地基。在 Agent Memory Techniques 的技术分类 中,它属于"短期记忆"家族的起点(技术 01–05)。
工作机制:4 步循环
| 步骤 | 发生了什么 |
|---|---|
| 1️⃣ | 你发送一条消息 |
| 2️⃣ | 系统以user角色把它追加进消息列表 |
| 3️⃣ | 整个列表作为上下文发给 LLM |
| 4️⃣ | 模型回复以assistant角色追加,循环往复 |
一句话总结:完美记忆,零智能——它不压缩、不遗忘、不检索,只是"全部记住、全部重读"。
🛠️ 快速搭建:消息列表长什么样?
核心数据结构简单到可以一眼看懂:
messages = [ {"role": "user", "content": "你好,我叫 Alice"}, {"role": "assistant", "content": "你好 Alice!有什么可以帮你?"}, {"role": "user", "content": "你还记得我的名字吗?"} ]把messages传给聊天接口,模型就能回答"你叫 Alice"。项目的实战 Notebook 用约 50 行代码从零实现了ConversationBufferMemory类(含 JSON 持久化保存/加载,以及与 LangChain 内置版本的对比),可以直接运行:
- 教程 Notebook:conversation_buffer_memory.ipynb
- 技术详解文档:all_techniques/01_conversation_buffer_memory/README.md
⚠️ 完美记忆的真正代价:Token 线性增长
Buffer Memory 有一个隐藏成本:每一轮都要把之前所有消息重发一遍。
这意味着:
- 单轮输入 Token 数随对话长度线性增长
- 整段对话的累计 Token 消耗呈平方级(O(n²))增长
一个直观的成本示例(每轮新增约 100 token):
| 对话轮次 | 单轮输入 Token | 50 轮累计输入 Token |
|---|---|---|
| 第 1 轮 | ~100 | — |
| 第 50 轮 | ~5,000 | ~127,500 |
| 对比:只发最新一轮 | — | 仅 ~5,000 |
翻倍轮次 ≈ 4 倍总成本。这就是为什么对话超过 20–30 轮后,几乎所有生产系统都会换用更省钱的记忆策略。
✅ 什么时候该用它?什么时候该换掉它?
适合使用 ✅
- 短对话(20 轮以内),Token 总量远小于上下文窗口
- 快速原型开发:几分钟就能跑起来
- 要求"逐字不差"完美回忆的场景
不适合使用 ❌
- 长对话、长时运行的 Agent(最终必然撑爆上下文窗口)
- 成本敏感或延迟敏感的应用(每轮全量重发 = 又贵又慢)
- 需要跨会话记忆的场景(进程一重启,缓冲区就没了——除非额外做持久化)
项目提供了覆盖全部 30 种技术的横向对比矩阵,帮你判断下一步该用哪种方案:docs/comparison.md。
🚀 5 分钟跑起来
git clone https://gitcode.com/gh_mirrors/ag/Agent_Memory_Techniques cd Agent_Memory_Techniques python -m venv venv source venv/bin/activate # Windows 用 venv\Scripts\activate pip install -r requirements.txt # 在 .env 中配置 ANTHROPIC_API_KEY,然后: jupyter notebook all_techniques/01_conversation_buffer_memory/打开 Notebook 后从头运行,你将看到:多轮对话中 Agent 的"完美回忆"演示、Token 增长的可视化曲线,以及 JSON 持久化的保存/加载往返测试。
🧭 Buffer Memory 之后:下一步去哪?
理解 Buffer Memory 是学习整个 Agent Memory 领域的钥匙——项目中其余 29 种技术几乎都建立在它之上。当缓冲区开始"变贵、变长"时,自然的进化路线是:
| 技术 | 思路 | 路径 |
|---|---|---|
| 02 Sliding Window Memory | 只保留最近 k 条消息 | all_techniques/02_sliding_window_memory/ |
| 03 Summary Memory | 用模型摘要压缩旧对话 | all_techniques/03_summary_memory/ |
| 04 Summary Buffer Memory | 旧消息摘要 + 新消息原文,兼得两者 | all_techniques/04_summary_buffer_memory/ |
| 05 Token Buffer Memory | 按严格 Token 预算裁剪历史 | all_techniques/05_token_buffer_memory/ |
再往后,长期记忆(向量存储)、认知架构、以及 Mem0、Letta、Zep 等框架实战,都在这 30 个 Notebook 里等你。整体学习路线可参考 docs/learning_path.md。
💡 小结
- Conversation Buffer Memory = 全部历史 + 每轮全量重发,实现极简、记忆完美
- 代价是Token 线性增长、累计成本平方级膨胀,20 轮以上对话应尽早升级
- 它是 Agent Memory 的地基:学会它,你就掌握了理解其余 29 种记忆技术的全部基础
从"记得住每一句话",到"记得聪明一点",这就是 Agent Memory Techniques 想带你走的路。
【免费下载链接】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.
相关推荐
deepagentsjs记忆系统指南:memory与AGENTS.md如何让Agent跨会话记住偏好
deepagentsjs记忆系统指南:memory与AGENTS.md如何让Agent跨会话记住偏好 deepagentsjs 记忆系统 是这款"开箱即用"Ag
Cross-Session Memory 实战:用 ADK 与 Vertex AI Memory Bank 构建跨会话记忆 Agent
Cross Session Memory 实战:用 ADK 与 Vertex AI Memory Bank 构建跨会话记忆 Agent 导读 本指南以 core
示例工程10 分钟上手:给 Claude Code 装上 ai-memory,让 Agent 跨会话记住你的项目偏好
10 分钟上手:给 Claude Code 装上 ai memory,让 Agent 跨会话记住你的项目偏好 每天都在向 Claude Code 重复同一句话:
人工智能AI 应用Agent 记忆MCP 服务
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考