Zum Inhalt springen

MemGPT / Letta - OS-Style Agent Memory Cheatsheet

MemGPT / Letta - OS-Style Agent Memory Cheatsheet

MemGPT ist die Techniken — und Letta das Framework, das aus ihr wuchs — für das Geben von LLM Agenten Betriebssystem-Style Memory Management. Die Kern Idee: behandele das Context Window wie RAM (schnell aber klein) und füge “Disk” in der Form von durchsuchbar Archival Memory hinzu. Der Agent selbst entscheidet, via Tool Calls, was in Haupt Kontext zu halten und was zu Speicher zu paging, dadurch Erhaltung kohärent Langzeitgedächtnis weit über das rohe Context Limit. (Das Projekt wird nun als Letta entwickelt.)

Installation

MethodeBefehl
pippip install letta
Starte den Serverletta server
Dockerdocker run -p 8283:8283 letta/letta:latest
ADE (Web UI)verbinde die Agent Development Environment zum Server
Überprüfenletta version

Memory Architektur

EbeneAnalogieInhalt
Main Context (Core Memory)RAMPersona + Key Fakten immer im Prompt
Recall MemoryAktuelle DateienKonversations History, durchsuchbar
Archival MemoryDiskBeliebige Langzeitfakten, durchsuchbar
Der AgentDas OSEntscheidet was zu Paging in/aus via Tools

Core Memory (Immer In-Context)

BlockZweck
personaWer der Agent ist / wie er sich verhält
humanWas er über den User weiß
Custom BlocksDomain-spezifische immer-vorliegende Fakten

Der Agent bearbeitet diese Blocks mit Tools (core_memory_append, core_memory_replace) als er lernt.

Erstelle einen Agent

from letta_client import Letta

client = Letta(base_url="http://localhost:8283")

agent = client.agents.create(
    name="assistant",
    memory_blocks=[
        {"label": "persona", "value": "Ich bin ein prägnanter, hilfsbereiter Assistant."},
        {"label": "human", "value": "Des Users Name ist Nick."},
    ],
    model="openai/gpt-4o",
    embedding="openai/text-embedding-3-small",
)

Messaging & Memory Tools

response = client.agents.messages.create(
    agent_id=agent.id,
    messages=[{"role": "user", "content": "Remember I prefer dark mode."}],
)
Tool (Agent-invoked)Aktion
core_memory_appendHänge an ein immer-in-Context Block an
core_memory_replaceUpdate ein Core Memory Block
archival_memory_insertSpeichere ein Fakt zum Archival (Disk)
archival_memory_searchAbrufe aus Archival Memory
conversation_searchDurchsuche Recall Memory

Archival Memory

BefehlBeschreibung
client.agents.passages.create(agent_id, text=...)Einfügen Archival Memory
client.agents.passages.list(agent_id)Zeige gespeicherte Passages auf
Agent SucheAgent ruft archival_memory_search automatisch an wenn relevant

Persistenz & State

FeatureNotiz
Stateful AgentenAgent State persistiert auf dem Server über Sitzungen
StorageSQLite by Default; PostgreSQL für Production
Export/ImportSerialisiere Agenten zum Verschieben zwischen Deployments
Multi-AgentFühre und koordiniere mehrere Stateful Agenten aus

Common Workflows

# Ein langlaufender Assistant, der über Sitzungen hinweg erinnert
# 1) einmalige Erstellung mit Persona/Human Blocks
# 2) jede Sitzung, einfach Nachrichten versenden — Letta verwaltet Memory Paging
client.agents.messages.create(agent_id=agent.id,
    messages=[{"role": "user", "content": "Was erinnerst dich an mich?"}])
# Der Agent durchsucht Recall/Archival und antwortet mit persistentem Kontext

MemGPT/Letta vs Andere Memory

AspektLetta (MemGPT)Mem0Zep
ModellOS-Style Paging, Agent-verwaltetMulti-Tier StoreTemporal Graph
StatefulnessServer-Side AgentenLibraryService
ControlAgent entscheidet PagingApp entscheidetService verwaltet
Beste fürLangläufige Autonome AgentenPersonalisierungTemporal Fakten

Ressourcen