AI Infra:MemoryOS,赋予 LLM 长期记忆的通用框架
MemoryOS
是由 BAI-LAB 开源的一个研究项目,目标是在大语言模型(LLMs)上构建长期记忆系统,以增强其多轮对话与持续推理的能力。该项目具有代表性地探索了“记忆增强智能体(Memory-Augmented Agents)”的架构。
一、项目简介:MemoryOS
全称: MemoryOS: A General Memory Operating System for Memory-Augmented LLM Agents
项目地址: https://github.com/BAI-LAB/MemoryOS
MemoryOS 被设计为一个通用的记忆操作系统(Memory Operating System),它为使用大模型的智能体提供可扩展、结构化、检索增强的记忆机制,支持多种应用场景如任务规划、持续对话、多任务执行等。
二、核心理念
MemoryOS 的核心目标是为智能体提供一个模块化、可组合的“记忆系统”,包含以下几个方面:
2.1. 统一记忆管理架构
- 设计了一个“记忆堆栈”(Memory Stack)架构,包含多个模块:短期记忆(STM)、长期记忆(LTM)、工作记忆(WM)等;
- 每个模块均可根据任务和模型的需要启用或关闭;
- 支持多源数据写入与回忆(retrieval)。
2.2. 插件化接口(Plugin-based Architecture)
- 支持不同类型的记忆插件:例如,使用向量数据库(如 FAISS)进行语义检索、使用知识图谱作为结构化记忆;
- 便于集成新的模块,如事件记忆、元记忆等。
2.3. 与 LLM 无缝集成
- 支持与 OpenAI GPT、Claude、LLaMA 等模型对接;
- 使用检索增强生成(RAG)方法,将记忆中的信息作为上下文注入到 LLM 输入中。
三、模块组成
模块 | 功能描述 |
---|---|
MemoryServer | 负责调度和管理记忆的写入与读取 |
MemoryUnit | 不同类型的记忆单元,如 EpisodicMemory、SemanticMemory |
Retriever | 使用向量检索技术进行回忆与记忆召回 |
Summarizer | 对记忆内容进行摘要,形成精简表达 |
StorageBackend | 支持本地文件、FAISS、Chroma 等后端 |
MemoryAgent | 带有记忆能力的智能体接口 |
四、应用场景(Examples)
MemoryOS 提供了多个测试用例:
长期对话记忆 Agent
- 在多轮问答中保持角色一致性和上下文连续性;
自动任务规划与跟踪
- 用于 AI 助理自动生成并执行多步任务,记录进展;
记忆增强的写作助手
- 智能体根据之前的写作风格与内容,继续生成相关文本。
五、快速上手
项目基于 Python 构建,典型的使用流程:
git clone https://github.com/BAI-LAB/MemoryOS.git
cd MemoryOS
pip install -r requirements.txt
python demo_agent.py
六、技术栈
- Python 3.10+
- OpenAI GPT / LLaMA2
- FAISS / Chroma 向量数据库
- Streamlit(用于展示 UI demo)
- LangChain(集成可选)
七、相关论文
项目参考了大量记忆增强 AI 的研究工作,如:
- ReAct
- AutoGPT
- LLM Compiler
- LangGraph / MemoryGraph
- MemoryGPT
八、总结亮点
特性 | 描述 |
---|---|
通用记忆架构 | 支持各种记忆类型,组合灵活 |
插件式设计 | 易于扩展新类型的记忆模块 |
记忆与推理融合 | 将“回忆”结果注入 LLM 提示中 |
应用广泛 | 对话、助理、写作等都可使用 |
教学 & 研究友好 | 代码结构清晰,注释良好,适合学术实验 |