什么是 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 = {
"human": "用户喜欢简洁回答,对 AI 安全话题特别感兴趣...",
"persona": "我是一个技术助手,擅长解释复杂概念...",
"archival": ,
"recall":
}
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 server
from letta.client import create_client
client = create_client()
agent = client.create_agent(
name="research-assistant",
memory_blocks=[
{"label": "human", "value": "用户是 AI 研究者"},
{"label": "persona", "value": "我是研究助手"}
],
model="gpt-4o"
)
response = client.send_message(
agent_id=agent.id,
message="帮我总结 Transformer 的核心思想"
)
print(response.messages)