← 返回首页
🧬

Letta (formerly MemGPT)

Stateful Agent 记忆系统平台 — 让 Agent 拥有持久记忆与自我进化能力

23,082
⭐ GitHub Stars
Python
语言
Apache-2.0
许可证
进阶
难度

什么是 Letta?

Letta(前身 MemGPT)是一个用于构建有状态 Agent的平台,其核心创新在于引入了 Memory Blocks(记忆块)范式。与传统 Agent 在会话结束即丢失上下文不同,Letta 让 Agent 拥有分层、可自我编辑的持久记忆,能够随时间学习和自我改进。

它提供完整的 Agent 平台能力:CLI 工具(Letta Code)、REST API 服务器、Python/TypeScript SDK,并支持任意 LLM 后端(模型无关),是目前最成熟的 Agent 记忆管理方案之一。

Memory Blocks 架构

Letta 的核心设计是 Memory Blocks——结构化的记忆分区,每个 Block 带有标签(label),Agent 可以自主读写这些 Block:

  • human block — 存储关于用户的信息(偏好、历史、上下文),Agent 会话间持久化
  • persona block — 存储 Agent 自身的身份、性格、行为模式
  • archival memory — 大容量外部存储,支持向量检索,类似长期记忆
  • recall memory — 对话历史检索,Agent 可回溯查找过去的交互
  • 自编辑能力 — Agent 可以自主更新 memory block 内容,实现学习与自我改进
# Memory Block 结构示意 memory = { "human": "用户喜欢简洁回答,对 AI 安全话题特别感兴趣...", "persona": "我是一个技术助手,擅长解释复杂概念...", "archival": #[向量数据库: 大量历史知识], "recall": #[对话历史检索] } # Agent 可在运行时自主编辑 human/persona block agent.core_memory.append("human", "用户最近在学习 Rust 语言")

Letta vs mem0 对比

🧬 Letta

  • 完整 Agent 平台(API + SDK + CLI)
  • Memory Blocks 分区管理
  • Agent 可自主编辑记忆(自我改进)
  • 内建 archival/recall 双层检索
  • 模型无关,支持多种 LLM
  • 较重,适合复杂 Agent 场景

🔵 mem0

  • 专注记忆层,轻量 SDK
  • Key-Value 记忆存储
  • 自动提取记忆(用户无需管理)
  • 向量检索为主
  • 易集成到现有 Agent
  • 较轻,适合快速接入

选择建议:如果你需要构建完整的有状态 Agent 系统,且希望 Agent 能自主管理记忆,选 Letta。如果你已有 Agent 框架,只想为其添加记忆能力,mem0 更轻量易集成。

快速开始

# 安装 pip install letta # 启动 Letta 服务器 letta server # Python SDK 创建带记忆的 Agent from letta.client import create_client client = create_client() # 创建 Agent,定义 memory blocks agent = client.create_agent( name="research-assistant", memory_blocks=[ {"label": "human", "value": "用户是 AI 研究者"}, {"label": "persona", "value": "我是研究助手"} ], model="gpt-4o" ) # 与 Agent 对话 — 记忆自动持久化 response = client.send_message( agent_id=agent.id, message="帮我总结 Transformer 的核心思想" ) print(response.messages) # Agent 会自动将重要信息写入 memory blocks # 下次对话时,Agent 已"记住"用户偏好

相关链接