Letta Когда AI-агенты наконец-то обретают память и интеллект

26 Jun, 2026
23,620
🔱 2,504
👥 139

Знакомая ситуация? Вы общаетесь с чат-ботом или AI-помощником, и он вроде бы понимает вас, но через пару реплик напрочь забывает, о чем шла речь минуту назад. Это классическая проблема большинства больших языковых моделей (LLM) — у них ограниченное "окно контекста", и они быстро "забывают" старую информацию. Представьте, если бы ваш коллега постоянно переспрашивал одно и то же! Раздражает, правда?

К счастью, мир AI не стоит на месте, и сегодня я хочу рассказать вам о проекте, который меняет правила игры. Встречайте — Letta (ранее известный как MemGPT). Это не просто очередная обертка для LLM, а полноценная платформа для создания stateful-агентов, то есть AI, которые действительно обладают продвинутой памятью, могут обучаться и даже самосовершенствоваться со временем. Звучит как научная фантастика, но это уже реальность!

Letta logo

Что такое Letta и почему это важно для разработчиков?

Letta — это, по сути, операционная система для вашей AI-памяти, вдохновленная одноименной исследовательской работой MemGPT. Если вы когда-либо пытались создать сложного AI-агента, который должен помнить историю диалога, адаптироваться к пользователю или выполнять многошаговые задачи, вы точно сталкивались с головной болью управления контекстом. Letta решает эту проблему, предоставляя агентам иерархическую систему памяти, которая позволяет им динамически управлять тем, что находится "в уме" (in-context), а что хранится во "внешней памяти" (out-of-context).

Кому это нужно?

Реклама
  • Разработчикам, создающим сложных чат-ботов и виртуальных ассистентов.
  • Командам, работающим над автоматизацией бизнес-процессов с участием AI.
  • Исследователям, экспериментирующим с автономными агентами.
  • Всем, кто устал от "амнезии" LLM и хочет, чтобы их AI были по-настоящему умными.

Ключевые возможности Letta, которые вас удивят

Давайте разберем, что именно делает Letta таким интересным и полезным.

1. Бесконечная память с иерархией и саморедактированием

Представьте, что у вашего AI есть не просто короткая оперативная память, а целая библиотека, где он может хранить, искать и даже редактировать информацию о себе и окружающем мире. Letta реализует это через концепцию иерархии памяти и блоков памяти.

  • Блоки памяти (Memory Blocks): Это как отдельные тетрадки в блокноте агента. Один блок может хранить информацию о "личности" агента (persona), другой — о пользователе (human), третий — об общих данных проекта. Агент может сам решать, какие блоки сейчас нужны в контексте, а какие можно "отложить" до востребования.
  • Саморедактирование: Самое крутое — агент может самостоятельно редактировать свою память! Например, если пользователь говорит: "Кстати, меня зовут не Чэд, а Брэд", агент не просто ответит, но и обновит соответствующий блок памяти. Это позволяет агентам постоянно обучаться и адаптироваться.

Вот как это выглядит в коде на Python:

from letta_client import Letta
import os

client = Letta(api_key=os.getenv("LETTA_API_KEY"))

agent_state = client.agents.create(
    model="openai/gpt-4.1",
    memory_blocks=[
        {
          "label": "human",
          "value": "The human's name is Chad. They like vibe coding." # Изначально неверная информация
        },
        {
          "label": "persona",
          "value": "My name is Sam, a helpful assistant."
        }
    ],
    tools=["web_search", "run_code"]
)

print(agent_state.id)

response = client.agents.messages.create(
    agent_id=agent_state.id,
    messages=[
        {
            "role": "user",
            "content": "Hey, nice to meet you, my name is Brad." # Корректировка
        }
    ]
)

# Агент обработает сообщение и обновит свой блок памяти "human"
for message in response.messages:
    print(message)

2. Многоагентные системы и "подсознание" AI

Letta не ограничивается одним агентом. Вы можете создавать сложные системы, где несколько агентов взаимодействуют друг с другом, используя общую память. Представьте команду, где у каждого своя специализация, но есть общая база знаний.

  • Общая память: Создайте общий блок памяти, который будет доступен нескольким агентам. Это идеально для командной работы AI, например, для координации задач между "супервайзером" и "исполнителем".
  • Sleep-time агенты (Агенты "подсознания"): Это вообще бомба! Вы можете создать фонового агента, который будет разделять память основного, но работать в "фоновом режиме". Он может анализировать данные, обновлять память или выполнять рутинные задачи, пока основной агент общается с пользователем. Это как ваше подсознание, которое обрабатывает информацию, пока вы сосредоточены на чем-то другом.

Пример создания общей памяти:

# Создаем общий блок памяти
shared_block = client.blocks.create(
    label="organization",
    description="Shared information between all agents within the organization.",
    value="Nothing here yet, we should update this over time."
)

# Создаем агента-супервайзера с доступом к общей памяти
supervisor_agent = client.agents.create(
    model="anthropic/claude-3-5-sonnet-20241022",
    memory_blocks=[{"label": "persona", "value": "I am a supervisor"}],
    block_ids=[shared_block.id], # Присоединяем общий блок
)

# Создаем агента-работника с доступом к той же общей памяти
worker_agent = client.agents.create(
    model="openai/gpt-4.1-mini",
    memory_blocks=[{"label": "persona", "value": "I am a worker"}],
    block_ids=[shared_block.id], # Присоединяем общий блок
)

3. Интеграция с файловой системой и внешними инструментами

Чтобы быть по-настоящему полезным, AI-агент должен уметь не только "думать", но и "действовать" и "читать". Letta предоставляет агентам доступ к файловой системе и возможность использовать внешние инструменты.

  • Файловая система: Подключите к агенту папку, содержащую документы (PDF, TXT, MD, JSON). Агент сможет самостоятельно просматривать эти файлы, искать информацию, анализировать отчеты или медицинские записи, используя специальные инструменты вроде open_file, grep_file, search_file. Это открывает огромные возможности для автоматизации работы с документами.
  • Модель контекстного протокола (MCP) и кастомные инструменты: Letta поддерживает MCP-инструменты, а также позволяет создавать свои собственные Python-инструменты. Агент может использовать их для веб-поиска, выполнения кода, работы с API и многого другого. Это превращает агента из простого собеседника в полноценного исполнителя.
# Создаем папку
folder = client.folders.create(name="my_folder")

# Загружаем файл в папку
job = client.folders.files.upload(folder_id=folder.id, file=open("my_file.txt", "rb"))

# Дожидаемся завершения загрузки... (код ожидания опущен для краткости)

# Присоединяем папку к агенту
client.agents.folders.attach(agent_id=agent.id, folder_id=folder.id)

# Агент теперь может читать содержимое файла
response = client.agents.messages.create(
    agent_id=agent_state.id,
    messages=[
        {
            "role": "user",
            "content": "What data is inside of my_file.txt?"
        }
    ]
)

4. Переносимость агентов и гибкость развертывания

Letta заботится о том, чтобы ваши агенты были не просто умными, но и гибкими в использовании.

  • Agent File (.af): Весь "мозг" и память агента можно экспортировать в специальный файл формата .af. Это позволяет легко сохранять состояния агентов, делать чекпоинты и, что самое главное, переносить агентов между разными серверами Letta — например, с локальной машины в облако или наоборот. Это как сохранение игры, но для AI.
  • Поддержка локальных моделей: Не хотите зависеть от облачных API? Letta полностью поддерживает локальные модели через Ollama и LM Studio. Вы можете использовать свои любимые открытые модели и запускать агентов полностью на своей инфраструктуре.

Практическое применение: Где Letta покажет себя во всей красе?

  • Персональные AI-ассистенты: Создайте ассистента, который действительно помнит ваши предпочтения, историю общения и может выполнять сложные многошаговые задачи, например, планировать путешествия, бронировать билеты, основываясь на ваших предыдущих запросах.
  • Умные системы поддержки клиентов: Агент, который помнит всю историю взаимодействия с клиентом, его проблемы и решения, значительно повышает качество сервиса. Он может быстро находить нужную информацию в документации и предлагать персонализированные решения.
  • Автоматизация исследований и анализа данных: Агент может получать доступ к базам данных, читать научные статьи, проводить анализ и синтезировать отчеты, используя инструменты для работы с файловой системой и выполнения кода.
  • Обучающие платформы: Агенты-тьюторы, которые адаптируются к прогрессу студента, помнят его сильные и слабые стороны, предлагают индивидуальные задания и объяснения.

Выводы: Стоит ли погружаться в Letta?

Если вы серьезно настроены на создание продвинутых AI-агентов, которые не просто генерируют текст, а действительно обладают "памятью" и "интеллектом", то Letta — это проект, который вы обязаны изучить. Он решает одну из фундаментальных проблем LLM и открывает двери для создания по-настоящему автономных и полезных AI-систем.

Мне кажется, что Letta — это не просто библиотека, а целая философия построения AI, где агенты становятся не просто инструментами, а полноценными, обучающимися сущностями. Порог входа достаточно низкий благодаря удобным SDK для Python и TypeScript, а также наличию облачной версии и локального ADE.

Так что, если вы готовы дать своим AI-агентам суперсилу памяти и самосовершенствования, смело идите на GitHub репозиторий Letta и начинайте экспериментировать. Уверен, вы найдете много интересного!

🍪 Мы используем файлы cookie и сервис аналитики Яндекс.Метрика, чтобы сайт работал лучше. Продолжая пользоваться devtrends.ru, вы соглашаетесь с обработкой данных согласно Политике конфиденциальности.