📋 项目概述
Letta (前身为 MemGPT) 是一个构建 有状态 AI Agent 的平台,核心特点是 Agent 具有高级记忆功能,能够学习和自我改进。
两个核心产品
| 产品 | 描述 | 仓库 |
|---|---|---|
| Letta API | 构建有状态 Agent 的后端服务 | letta-ai/letta (Python) |
| Letta Code | 本地运行的记忆优先编码 Agent | letta-ai/letta-code (TypeScript) |
🏗️ 系统架构
Letta API (服务端)
- REST API - /v1/agents, /v1/messages, /v1/tools
- WebSocket API - 流式响应、实时事件
- 核心服务 - AgentManager, MessageManager, BlockManager, ToolManager
- 数据层 - PostgreSQL + Embedding Store
Letta Code (客户端)
- 交互模式 - TUI 交互界面
- Headless 模式 - API 调用、脚本集成
- 记忆系统 - memory.ts, memoryGit.ts, memoryFilesystem.ts
🧠 记忆系统 (核心创新)
Memory Blocks
Letta 使用 Memory Blocks 作为记忆的基本单元:
- label - 唯一标识 (如 "persona", "human")
- value - 记忆内容
- limit - token 限制
- read_only - 只读标记
Block 类型
| 类型 | 标签 | 作用域 |
|---|---|---|
| 全局 Block | persona, human | 跨项目共享 |
| 项目 Block | project/* | 当前项目本地 |
Context Repositories (Git 备份记忆)
核心特性:
- 记忆存储为本地文件系统中的 .md 文件
- 使用 Git 进行版本控制
- 支持多个 subagent 并发写入
- 通过 git merge 解决冲突
记忆操作
| 操作 | 工具 | 描述 |
|---|---|---|
| 记忆初始化 | /init | 将记忆拆分为 15-25 个层次化文件 |
| 记忆反射 | Sleep-time | 定期回顾对话,提取重要信息 |
| 记忆碎片整理 | Defragmentation | 重组和优化记忆结构 |
| 按需记忆 | /remember | 主动添加记忆 |
⚡ 关键特性
Skills 系统
Letta Code 支持 Skills - 可重用的能力模块,存放在 .skill/ 目录。
Subagents
子代理架构,支持并发处理任务、分而治之的策略、记忆分布式写入。
MCP 集成
支持 Model Context Protocol,连接外部工具和服务(文件系统、数据库、APIs)。
🤖 模型支持
Letta 是 模型无关 的,支持:
- ✅ OpenAI (GPT-4o, GPT-5.2)
- ✅ Anthropic (Claude Opus 4.5)
- ✅ Google Gemini
- ✅ 本地 LLM (Ollama, vLLM)
- ✅ 自定义 Provider
🚀 快速开始
Letta Code
# 安装
npm install -g @letta-ai/letta-code
# 启动
letta
# 连接自己的 API Key
/connect
# 初始化记忆
/init
Letta API (Python)
pip install letta-client
from letta_client import Letta
client = Letta(api_key="...")
agent = client.agents.create(
model="openai/gpt-4o",
memory_blocks=[...],
tools=[...]
)
📁 代码结构
letta-main (Python)
- agent.py - Agent 核心 (1600+ 行)
- server/server.py - FastAPI 服务 (87KB)
- services/agent_manager.py - Agent 管理 (164KB)
- services/block_manager.py - 记忆块管理
letta-code (TypeScript)
- src/agent/memory.ts - Block 管理
- src/agent/memoryGit.ts - Git 集成
- src/agent/memoryFilesystem.ts - 文件系统
- src/cli/ - 命令行
🔗 参考资料
- 主仓库: github.com/letta-ai/letta
- Letta Code: github.com/letta-ai/letta-code
- 文档: docs.letta.com
- Discord: discord.gg/letta