开发过AI应用的朋友们可能都深有体会,大语言模型(LLM)虽然聪明,但“记性”往往不太好。一次对话结束后,再次开启新对话时,它可能就把之前聊过的内容忘得一干二净,每次都需要重新介绍背景,用户体验大打折扣。
Letta 这个项目正是为了解决这个痛点而生。该项目在 GitHub 上已经斩获超过 20.8K 的星标,它的目标是赋予AI如同人类般的长期记忆能力,并且能够在交互中持续学习和进化。这绝非简单的对话历史记录,而是一套真正的、结构化的记忆管理系统。

Letta是什么?
这个项目前身名为MemGPT,是一个专门为大型语言模型添加记忆功能的开源项目。它的核心能力是让AI记住并理解你们过往的所有交互,并在持续的聊天过程中不断学习、迭代,从而变得更加智能和个性化。

它提供了两种主要的使用方式:一个是命令行工具 Letta Code,安装后即可在终端运行一个具备长期记忆的AI助手;另一个是完整的API服务,你可以将这套记忆系统集成到你自己的应用程序或服务中。
更重要的是,它支持“技能”(Skills)和“子代理”(Subagents)机制,这意味着AI可以自主调用工具、进行联网搜索、执行代码等。它对模型没有限制,OpenAI、Claude等主流模型都能兼容,官方推荐使用 Opus 4.5 或 GPT-5.2 以获得最佳效果。
它能做什么?
真正的长期记忆系统:区别于简单的历史记录存储,Letta提供了结构化的记忆管理。AI能够记住用户的身份、偏好、过往的对话细节,并能在需要时主动进行回忆和关联。
持续的交互式学习:AI会在使用过程中不断积累关于用户的信息,记住用户的工作方式、常用工具和习惯,在下一次交互中直接应用这些知识。
强大的技能系统:内置了多种预制技能,如网络搜索、文件读写、代码执行等。开发者也可以根据自己的需求编写自定义技能来扩展功能。
子代理协作:允许你创建多个具有专门功能的子代理,并让它们协同工作以完成复杂的任务链。例如,一个子代理负责搜索资料,另一个则负责根据资料编写代码。
完善的API支持:提供了 Python 和 TypeScript 的 SDK,文档齐全,可以非常方便地集成到现有应用或新产品中。
为什么值得关注?
- 记忆真实可靠:它并非“假装记住”,而是构建了一套完整的记忆存储、检索、更新和管理的底层系统。
- 开源与自主可控:代码完全开放,你可以根据需求进行修改,并部署在自己的服务器上,保障数据安全和隐私。
- 模型普适性强:不绑定任何特定厂商的模型,无论是 OpenAI、Anthropic 的商业模型,还是各类开源模型,都能良好支持。
- 活跃的社区生态:超过20.8K星标,157位贡献者,拥有活跃的Discord社区,开发中遇到的问题通常都能得到及时的解答。
- 功能形态完整:同时提供CLI工具和API,既能满足个人开发者的尝鲜与实验需求,也适合企业集成到产品中,体现了很强的开源实战价值。
支持哪些技术栈?
- AI模型:支持OpenAI全系列、Claude、Llama等,主流开源模型基本覆盖。
- 记忆管理:支持结构化的记忆块,包括人设(Persona)、用户背景(Human)、对话历史等多种类型。
- 工具集成:集成网络搜索、网页抓取、文件操作、代码执行等多种工具。
- 数据存储:使用PostgreSQL存储记忆数据,并支持向量检索以高效查找相关记忆。
如何快速开始?
通过命令行体验(最快的方式):
首先确保你的环境已安装 Node.js 18 或更高版本,然后执行:
# 安装 Letta Code 命令行工具
npm install -g @letta-ai/letta-code
# 安装完成后直接运行
letta
运行后,你就可以在终端与一个具备长期记忆的AI助手进行对话了,它可以协助你编写代码、查询资料甚至执行系统命令。
通过API集成到你的应用:
TypeScript/JavaScript 版本:
npm install @letta-ai/letta-client
import Letta from "@letta-ai/letta-client";
const client = new Letta({ apiKey: process.env.LETTA_API_KEY });
// 创建一个拥有预设记忆的智能体(agent)
const agentState = await client.agents.create({
model: "openai/gpt-5.2",
memory_blocks: [
{
label: "human",
value: "姓名:张三。职业:程序员。喜欢用Python开发"
},
{
label: "persona",
value: "我是一个AI助手,擅长帮助程序员解决技术问题"
}
],
tools: ["web_search", "fetch_webpage"]
});
// 向该智能体发送消息,它会基于记忆进行回复
const response = await client.agents.messages.create(
agentState.id,
{ input: "你还记得我是干什么的吗?" }
);
Python 版本:
pip install letta-client
from letta_client import Letta
import os
client = Letta(api_key=os.getenv("LETTA_API_KEY"))
# 创建智能体
agent_state = client.agents.create(
model="openai/gpt-5.2",
memory_blocks=[
{
"label": "human",
"value": "姓名:张三。职业:程序员。喜欢用Python开发"
},
{
"label": "persona",
"value": "我是一个AI助手,擅长帮助程序员解决技术问题"
}
],
tools=["web_search", "fetch_webpage"]
)
# 发送消息
response = client.agents.messages.create(
agent_id=agent_state.id,
input="你还记得我是干什么的吗?"
)
获取API Key只需前往 app.letta.com 注册即可。完整的开发文档可以在 docs.letta.com 找到。
这个项目的设计思路颇具启发性,它没有停留在简单堆砌上下文长度上,而是从架构层面实现了AI的记忆系统。这使得AI与用户的交互次数越多,对用户的了解就越深,使用起来自然也就越来越得心应手。对于正在探索更复杂AI应用场景的开发者而言,这无疑是一个值得深入研究和尝试的工具。如果你对这类前沿的AI智能体技术感兴趣,不妨到云栈社区的开发者广场看看,那里有更多相关的讨论和分享。
项目地址:https://github.com/letta-ai/letta