MemGPT 记忆管理实战:让 AI 助手拥有跨会话的长期记忆
【免费下载链接】MemGPTPlatform for stateful agents: AI with advanced memory that can learn and self-improve over time.项目地址: https://gitcode.com/GitHub_Trending/me/MemGPT
和 AI 助手聊得越久,越容易撞上一堵墙:换个会话,它就不记得你是谁、偏好是什么。原因很简单,大模型只能"看见"当前上下文窗口里的内容,窗口之外的信息全部丢失。MemGPT(现已更名为 Letta)就是为解决这个问题而生:它给大模型装上一套分层的记忆管理系统,让 AI 助手能够跨会话保存和调用关于你的长期记忆。
🧠 它到底解决了什么问题:给上下文窗口配一层"外存"
MemGPT 的核心思路来自操作系统的存储分层:CPU 寄存器/内存对应上下文窗口,硬盘对应归档存储。它把"管理记忆"这件事从开发者手动写提示词的负担,变成代理(Agent)自己会干的事——模型在每一轮推理中调用工具,决定哪些旧信息该压缩、哪些新信息该写进长期记忆。具体拆开看是四件事:
- 三级记忆划分:核心记忆(persona、用户画像这类少量常驻信息)、回忆记忆(可检索的对话历史)、归档记忆(向量库里的海量知识)
- 代理自主维护记忆:每轮回复后自行决定写入什么、检索什么,不需要你手工维护"总结并保存"的流程
- token 预算感知:专门的计算器组件实时统计各记忆块的占用,在窗口溢出前触发清理,而不是让对话中途报错
- 记忆层与模型解耦:同一套记忆体系可以挂接不同的模型后端,换模型不用重建记忆
哪些能力值得你亲自验证
- 记忆自管理:跑一轮上百条消息的长对话,用户画像等关键信息始终留在核心记忆里,验证"不需要人工摘要逻辑"这句话是否成立
- 模型可插拔:项目测试配置里覆盖了 OpenAI、Anthropic、Ollama、vLLM 等大量模型配置,你可以用本地模型跑同一套记忆体系
- 服务化多代理:V1 服务端把代理、会话、记忆块全部持久化到 Postgres,通过 REST API 支持多会话并发,适合验证团队场景
- 工具集成:除记忆读写外,还能挂载检索、文件操作等工具,由代理自主决定调用顺序
🚀 5 分钟跑起来:从克隆到第一次对话
先说明当前形态:本仓库主分支现在只是一个项目主页,日常可用的终端代理通过 npm 安装,归档的 V1 服务端源码保留在 archive 分支。环境要求:Node.js 22.19+(当前 CLI);若要跑归档版 V1 服务端,需要 Python 3.12 和 Docker。
git clone https://gitcode.com/GitHub_Trending/me/MemGPT cd MemGPTnpm install -g @letta-ai/letta-code letta执行letta会启动交互式终端界面;执行letta server则启动本地 App Server,用于自托管代理服务。
核心模块怎么分工:agents、services、functions
以下路径对应归档版 V1 源码(archive 分支)的目录结构,三个目录正好覆盖"运行时、存储层、工具层":
- letta/agents/:代理运行时。
letta_agent.py实现了"代理即函数"的递归循环——每轮一次模型调用加工具执行,上下文不够时自动压缩后继续,这是整个记忆机制的驱动核心 - letta/services/:记忆与存储层。
block_manager.py管理核心记忆块,archive_manager.py负责归档读写,context_window_calculator/目录负责 token 预算计算 - letta/functions/:工具集。记忆编辑、历史检索、文件操作等工具在这里注册为函数 schema 注入给模型
适合谁:三类典型用法
- 做应用开发的你,想搭一个个性化客服或推荐助手:用它的记忆分层把用户偏好长期落库,让第二次对话不再是"初见"
- 需要自托管服务的团队,要多代理、多会话的 REST API:把服务端部署在本地,记忆与会话存进自己的数据库
- 研究型学习者,想搞懂"由代理自己管理记忆"的工程实现:把归档版 V1 源码当精读材料,只读参考即可
⚠️ 上手前必须知道的三件事
- 仓库状态:main 分支只是主页,V1 服务端源码在 archive 分支,官方声明不再维护、不提供安全更新,生产环境请勿使用(见仓库内 SECURITY.md 与 AGENTS.md 的说明)
- 版本要求:当前版 CLI 需要 Node.js 22.19+;归档版 V1 服务端要求 Python 3.12,Docker 栈还包含 Postgres 与 Redis,且有 alembic 迁移脚本需要按序执行
- 依赖陷阱:旧的 letta Python 包和 letta/letta Docker 镜像均已退役,不要试图锁定旧版本打补丁来跑,升级路径是迁移到当前版 Agent SDK 与 App Server
如果你想让 AI 助手长期记住你,先从 npm 安装的 Letta CLI 入手,体验一下有状态代理的基本交互;想深入理解记忆分层怎么实现,再去精读归档源码里 letta/agents/ 和 letta/services/ 两个目录,核心思路在模型换了好几代之后依然值得参考。
【免费下载链接】MemGPTPlatform for stateful agents: AI with advanced memory that can learn and self-improve over time.项目地址: https://gitcode.com/GitHub_Trending/me/MemGPT
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考