letta
让 AI 代理拥有持久记忆和持续学习能力的开源平台,源自伯克利 MemGPT 研究
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
让 AI 代理拥有持久记忆和持续学习能力的开源平台,源自伯克利 MemGPT 研究
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一个场景:你和一位 AI 助手聊了一个月,它记住了你的工作习惯、项目进展和个人偏好,每次对话都能在前一次的基础上继续——不用你反复解释背景,不用重新喂文档,就像一位真正了解你的同事。然而现实是,绝大多数 AI 助手在每次对话结束后就"失忆",下次见面如同陌路。
Letta 正是为了解决这个问题而生:它是一个开源的"有状态 AI 代理"(Stateful AI Agent)开发平台,专注于让 AI 拥有持久记忆和持续学习能力。截至 2025 年,Letta 在 GitHub 上已积累超过 22,900 颗星,成为 AI Agent 记忆管理领域最具影响力的开源项目之一。
图1:Letta 项目官方 Logo
Letta 的起源可以追溯到加州大学伯克利分校的研究项目 MemGPT(Memory GPT)。2023 年,Letta 联合创始人 Charles Packer 等人在论文《MemGPT: Towards LLMs as Operating Systems》中首次提出,将操作系统的分层内存管理思想引入大语言模型:利用有限的上下文窗口,通过"记忆层次化管理"和"睡眠时间计算"(Sleep-Time Compute)技术,让 AI 主动在短期上下文与长期记忆之间调度信息。
这一思想解决了 LLM 的核心瓶颈——上下文窗口虽大但终究有限,而真实世界的知识近乎无限。MemGPT 证明了:与其不断扩充上下文窗口,不如教会 AI 自己管理记忆。2024 年项目正式更名为 Letta,从单一研究工具演化为完整的生产级平台。
如果把 AI 代理比作一个"数字员工",传统 AI 每次上岗都"失忆",需要重新交代工作背景;而 Letta 给这位员工配备了一个私人的"记忆档案系统":
这样,AI 代理可以在多次会话中持续积累经验、自我改进,而不只是完成单次任务后"下班失忆"。
Letta 内置了类似操作系统内存分页的机制。AI 代理会在每次交互中评估哪些信息需要保留到长期记忆,哪些可以丢弃。系统还支持"异步记忆更新"——即使代理不处于活跃对话中,也可以在后台处理文档、更新记忆,真正实现 24 小时不间断学习。
Letta 不绑定任何特定 LLM 提供商。项目依赖中同时包含 openai、anthropic、llama-index 和 ollama,用户可以通过配置文件自由切换 OpenAI GPT、Anthropic Claude、本地 Ollama 模型,甚至支持 vLLM 和 Azure OpenAI。官方维护的 Letta Leaderboard 对各模型在代理任务上的表现进行持续评测。
通过 MCP(Model Context Protocol)支持,Letta 可以连接各种外部工具和服务。代理可以调用自定义 Python 函数、访问文件系统、操作数据库。项目还内置了 letta-code CLI 工具,支持在终端直接运行带记忆的 AI 编码助手。
Letta 提供了一个基于 Web 的 Agent Development Environment(ADE),开发者可以通过图形界面管理代理、查看记忆状态、调试工具调用逻辑,降低了开发门槛。
图2:Letta Agent Development Environment (ADE) 界面
Letta 的技术栈清晰务实:
| 层级 | 技术选型 |
|---|---|
| 核心语言 | Python 3.11+ |
| Web 框架 | FastAPI(HTTP API 服务) |
| 数据库 | PostgreSQL + pgvector(向量检索) |
| ORM | SQLAlchemy 2.0 + SQLModel |
| LLM 编排 | LlamaIndex |
| AI SDK | OpenAI SDK、Anthropic SDK |
| 容器化 | 多阶段 Dockerfile + docker-compose |
源码目录结构体现了清晰的模块化设计:
letta/agents/:核心代理逻辑letta/server/:FastAPI 服务端letta/client/:多语言客户端 SDKletta/functions/:工具函数注册letta/services/:业务服务层letta/orm/:数据库对象关系映射tests/:完整的测试套件整体代码质量较高:PEP 8 规范、pre-commit hooks、完整类型注解、Pydantic 数据验证、OpenTelemetry 链路追踪。
路径一:5 分钟快速体验(CLI)
npm install -g @letta-ai/letta-code
letta
只需 Node.js 18+,即可在终端启动一个有记忆的 AI 助手。支持 skills(技能包)和 subagents(子代理)扩展。
路径二:API 集成(开发者)
pip install letta-client
然后用 Python/TypeScript SDK 接入 Letta API,构建自己的应用。API 支持完整的代理 CRUD、记忆块管理和工具调用。
路径三:本地完整部署
git clone https://github.com/letta-ai/letta
cp .env.example .env
# 填写 .env 中的 API Key
docker compose up
# 访问 http://localhost:8083
Docker Compose 会同时启动 PostgreSQL(pgvector)和 Letta Server,整个部署约 15 分钟。
尽管 Letta 代表了有状态 AI 代理的重要方向,但也存在一些不可回避的问题:
记忆质量依赖模型判断力:AI 代理自主决定哪些信息存入长期记忆,这一机制高度依赖模型本身的推理能力。一旦模型判断失误,可能导致关键信息丢失或记忆膨胀失控。
生产环境的记忆一致性:在并发请求场景下,多个代理实例对同一记忆的读写可能产生一致性问题。官方正在通过数据库锁和事务机制缓解,但复杂场景下仍有挑战。
"睡眠时间计算"的算力成本:后台异步记忆更新虽然提升了智能性,但也意味着持续消耗计算资源,在大规模部署时成本不可忽视。
Letta 的增长曲线折射了整个 AI Agent 赛道的演进方向:
Letta 的愿景是成为"AI Agent 的操作系统"——不只是一个工具库,而是一个让开发者可以构建、部署、管理有状态 AI 代理的完整平台。其开源策略(Apache 2.0)与商业化服务并行,既保证了社区生态,又为商业化留出空间。
对于 AI 开发者而言,Letta 提供了构建下一代智能应用的基础设施;对于 AI 爱好者而言,它是理解"AI 如何真正拥有记忆"的最佳实践窗口。