如何让AI拥有长期记忆:MemGPT(Letta)构建有状态智能体的完整指南
【免费下载链接】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 拥有跨会话持久、能随时间学习的长期记忆。
📌 项目定位:给 AI 装一套“记忆系统”
一句话概括:MemGPT 为大语言模型提供长期记忆管理能力。它不是某个聊天应用,而是一个“有状态”的 agent 平台——代理的身份、记忆、对话历史都会持久化保存,第二天重启后它依然记得你,并能在此基础上继续学习和自我改进。
MemGPT Letta 界面截图:左侧为对话窗口,右侧展示核心记忆编辑与智能体管理面板
上图是项目的 ADE(Agent Development Environment)界面:左边与智能体对话,右边可以直接查看和编辑它的核心记忆,这是理解 MemGPT 记忆模型最直观的方式。
🧠 为什么大模型需要“长期记忆”
上下文窗口相当于模型的“短期记忆”:容量有限,塞满之后早期信息就会被挤掉。传统做法通常是每次把全部历史硬塞进提示词(token 成本爆炸),或自己维护一套数据库、手动检索相关片段拼进 prompt——后者本质上是在自己写一套记忆系统,检索策略、记忆分区、更新时机全得自己设计。
MemGPT 的差异在于把记忆管理做成了系统能力:
- 代理自己管理记忆:由模型判断哪些对话内容值得转成长期记忆、哪些该压缩、哪些该归档;
- 记忆分层:常驻上下文的核心记忆与存放在外部的归档记忆分开,模拟操作系统的“内存—磁盘”层级;
- 状态持久化:agent 由真实数据库支撑,重启不会“人格清零”。
⚙️ 它是怎么工作的:一套类似操作系统的内存分层
如果熟悉操作系统,MemGPT 的设计会很好理解。它借用了 OS 的分层内存思想——支撑它的 2023 年论文标题就叫《MemGPT: Towards LLMs as Operating Systems》,核心主张是把 LLM 当操作系统来设计:
| 层级 | 操作系统类比 | 存什么 | 何时使用 |
|---|---|---|---|
| 核心记忆 | 物理内存 | 用户画像、代理人设、关键偏好 | 始终在提示词里,随时读写 |
| 召回记忆 | 页面缓存/磁盘 | 完整对话历史 | 需要回溯时按时间或关键词调取 |
| 归档记忆 | 硬盘 | 大块细节、文档、长期知识 | 搜索后按需拉进上下文 |
MemGPT 多智能体管理截图:展示不同角色的智能体配置及其记忆设定
每一轮对话的流程大致是:模型带着核心记忆应答 → 评估“这段对话是否产生了值得长期记住的信息” → 通过工具调用把信息写进合适的记忆层;上下文快满时,较早的消息被摘要后移入召回记忆。这些类似操作系统的“换页”动作由 agent 自己完成,业务侧不需要写额外的记忆代码。
🚀 三步完成上手
这个仓库是项目的官方落地页(V1 时代源码保留在 archive 分支,当前开发已迁移到 Letta Code 生态)。最快的体验路径是官方 CLI:
第一步,克隆仓库浏览文档与项目说明,了解各组件的使用边界:
git clone https://gitcode.com/GitHub_Trending/me/MemGPT第二步,安装 Letta Code CLI(要求 Node.js 22.19 及以上版本),这一步把带记忆能力的 agent 运行时装进环境:
npm install -g @letta-ai/letta-code第三步,运行letta启动交互式终端 agent:
letta执行后终端里会出现一个本地持久化记忆的代理,直接和它对话,它对“你”的记忆会持续沉淀在这套系统里。另外运行letta server可以启动 App Server,用于自托管 agent 服务。
🗂️ 三种最常见的用法
- 个人助理/知识伙伴:让 agent 记录你的偏好、项目进展与决策历史,每次打开它都已知道“你是谁、在做什么”,无需反复交代背景。
- 带长期记忆的客服:客服代理记住用户的历史问题与工单上下文,新会话可直接引用之前的结论,用户不必复述情况。
- 多智能体协作:通过 ADE 或 SDK 创建不同 persona 的多个 agent,各自拥有独立记忆,分别承担“代码评审”“数据分析”等角色。
MemGPT 浅色主题界面截图:展示简洁的对话交互与记忆管理布局
🔍 最值得看的三处源码
- letta/agent.py:智能体的主循环,能看到“对话应答”和“维护记忆的工具调用”是如何交织执行的;
- letta/functions/:核心记忆读写、归档记忆搜索等工具的定义,也就是模型管理记忆时使用的“手”;
- letta/config.py:全局配置,是了解服务端存储与部署方式最快的入口。
需要说明:这些文件属于已归档的 V1 服务端,当前实现在 Letta Code 仓库中,但 V1 的记忆模型仍是学习这套分层内存设计的完整素材。
适合谁、值不值得上手
如果你正在做 AI 助理、客服系统或需要长期运行的 agent,核心痛点是“模型记不住事”,MemGPT(Letta)值得认真看:分层存储、主动更新、跨会话持久化都以系统能力提供,你只需要专注业务逻辑。如果目标是理解“LLM 的记忆应该怎么管理”,它也是目前最完整的开源范本。从上面三条命令跑通第一个有记忆的终端 agent 开始,再按兴趣深入源码即可。
【免费下载链接】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),仅供参考