Перейти к содержимому
Letta Agents SDK: TypeScript SDK для AI-агентов с сохраняемым состоянием
5 мин чтения

Letta Agents SDK: TypeScript SDK для AI-агентов с сохраняемым состоянием

lettastateful-agentstypescript-sdkai-agentsagent-memory

Letta представляет Agents SDK — библиотеку TypeScript для разработки AI-агентов, которым важно не забывать контекст после завершения сессии.

SDK рассчитан на агентов с сохраняемым состоянием. У каждого из них есть собственная идентичность, накопленный опыт и долгосрочная память; агент может переходить между компьютерами, не теряя историю, контекст или текущее состояние. Не одноразовый чат-бот, а, скорее, постоянный цифровой исполнитель.

Agents SDK подходит для многопользовательских продуктов, динамической оркестрации агентов, кастомных интерфейсов и мультиагентных систем, где участники работают параллельно, но не начинают каждый разговор с чистого листа.

SDK для агентов с сохраняемым состоянием

Letta Agents SDK создан для долгоживущих агентов. Их можно развернуть с разными бэкендами состояния — в облаке или локально — и запускать на разных машинах, сохраняя одну и ту же память и контекст работы.

Единый интерфейс SDK позволяет взаимодействовать с агентами в Letta Cloud, самостоятельно развернутом App Server или на локальном компьютере:

Облако · Самостоятельно развернутый App Server · Локальный запуск
import { LettaAgentClient } from "@letta-ai/letta-agent-sdk";

const client = new LettaAgentClient({
  backend: "cloud",
  apiKey: process.env.LETTA_API_KEY,
});

const agentId = await client.createAgent({
  model: "letta/auto",
  persona: "Я Нора, аналитик-исследователь, отслеживающий наших конкурентов.",
});
import { LettaAgentClient } from "@letta-ai/letta-agent-sdk";

const client = new LettaAgentClient({
  backend: "remote",
  url: process.env.LETTA_APP_SERVER_URL!,
  authToken: process.env.LETTA_APP_SERVER_TOKEN,
});

const agentId = await client.createAgent({
  model: "letta/auto",
  persona: "Я Нора, аналитик-исследователь, отслеживающий наших конкурентов.",
});
import { LettaAgentClient } from "@letta-ai/letta-agent-sdk";

const client = new LettaAgentClient({ backend: "local" });

const agentId = await client.createAgent({
  model: "letta/auto",
  persona: "Я Нора, аналитик-исследователь, отслеживающий наших конкурентов.",
});

Регистрация и работа на нескольких компьютерах

Агент не привязан намертво к машине, на которой его создали. Облачный агент может работать в управляемой песочнице либо на любом компьютере, зарегистрированном в Letta: ноутбуке, рабочей станции, виртуальной машине или контейнере. Компьютер предоставляет файлы, shell, учётные данные и установленное ПО, а агент сохраняет идентичность, память и историю диалогов.

Поддерживать такой парк машин в постоянной готовности — отдельная работа: нужны доступные круглосуточно узлы, обновления окружения и присмотр за учётными данными. Если брать её на себя не хочется, мы развернём и возьмём на сопровождение инфраструктуру для агентов.

// Получаем список компьютеров, зарегистрированных в учётной записи
const { computers } = await client.computers.list();

// Выбираем компьютер для текущей сессии
await using session = client.resumeSession(agentId, {
  computer: { name: "work-laptop" },
  cwd: "/workspace/project",
});

Кастомные интерфейсы для AI-агентов

Agents SDK использует тот же интерфейс WebSocket, на котором построен Letta Desktop. Поэтому поверх агентов можно собрать свой клиент: веб-приложение, мобильный интерфейс, Kanban-доску или внутреннюю рабочую панель. Подключение возможно и к Letta Cloud, и к самостоятельно развернутому App Server.

Демо-приложение Expo показывает, как выводить список агентов, транслировать ход рассуждений и активность инструментов, а также обрабатывать запросы на подтверждение действий в мобильном клиенте. Репозиторий можно форкнуть и адаптировать под собственный брендинг, тему или продуктовые сценарии — всё довольно прямолинейно.

Три экрана приложения Expo, созданного с помощью Agents SDK: список агентов, сеанс программирования с потоковой передачей данных и запрос подтверждения вызова инструмента.
Мобильное демо-приложение Agents SDK: список агентов, потоковый сеанс программирования и подтверждение вызова инструмента.

Примеры кастомных интерфейсов и приложений на базе Agents SDK:

  • Веб-чат передаёт ход работы агента в интерфейс браузера.
  • Dungeon Master использует постоянную персону и память на базе Git, чтобы вести кампании с течением времени.
  • Letta ACP открывает доступ к тому же агенту с сохраняемым состоянием из ACP-совместимых редакторов, включая Zed, тестовые среды и CLI-клиенты, сохраняя память при смене клиента и перезапуске адаптера.

Динамические рабочие процессы между моделями и машинами

Agents SDK поддерживает динамические рабочие процессы, в которых агент выполняет задачи не в одиночку. Например, локально запущенный агент может создавать в облаке новые диалоги с самим собой, чтобы параллельно разбирать несколько направлений работы. Поскольку агенты умеют писать на TypeScript, повторяющиеся операции можно превратить в программы: разовые помощники, переиспользуемые команды, автоматизации по расписанию, обработчики событий или долгоживущие сервисы, открывающие новый диалог при поступлении задачи.

Здесь разделение ролей простое: программа отвечает за предсказуемый управляющий поток и внешние события, а агент — за интерпретацию задачи и использование инструментов с учётом уже накопленной памяти. Это особенно полезно там, где нужна агентная память и RAG, а не короткий контекст на одну сессию.

Примеры динамических рабочих процессов с Agents SDK:

  • Research Team координирует постоянных агентов в общем исследовательском процессе.
  • Release Notes изучает предпочтения к форматированию и создаёт тексты на основе истории Git.
  • Dynamic Workflows программно вызывает агентов для сравнения планов разных моделей, перепроверки исследований и переноса файлов в изолированных облачных песочницах.

Управляемые агенты без привязки к конкретной модели

Letta Agents SDK поддерживает и полностью локальный цикл выполнения агента, и работу с агентами, состоянием которых управляют удалённые серверы, а подключаться к ним могут сразу несколько клиентов. В этом смысле SDK объединяет привычную локальную разработку и модель управляемых агентов в одном интерфейсе.

Letta Agents SDK поддерживает локальное и удалённое управление состоянием агентов.

В Letta Cloud цикл работы агента выполняется на сервере, а клиентские инструменты могут запускаться локально, в облачной песочнице или на любом зарегистрированном компьютере. Получается сочетание двух подходов: «агент в песочнице» и «агент с песочницей». Того же агента, которого используют при локальной разработке, можно запустить как управляемого — при этом секреты для LLM-инференса и серверного MCP остаются изолированными от клиентов.

Например, агенту можно выдать API-ключи с доступом только на чтение к менее чувствительному сервису, чтобы он создавал инструменты или навыки для работы с ним. Более критичные ключи при этом останутся на сервере как зарегистрированные MCP-инструменты: агент сможет их вызывать, но не изменять. Такой подход полезен, когда при проектировании важна безопасность AI-агентов и чёткое разделение прав доступа.

Начните разработку

Установите SDK:

npm install @letta-ai/letta-agent-sdk

SDK решает инженерную часть задачи, но не отвечает на вопрос, какой именно агент нужен вашей компании и на каких данных он будет работать. Если хотите пропустить этап экспериментов — внедрим агентов с памятью в ваши процессы и доведём до рабочего результата.

Дополнительные материалы:

Источник: letta.com