MemGPT: Towards LLMs as Operating Systems

Large language models (LLMs) have revolutionized AI, but are constrained by limited context windows, hindering their utility in tasks like extended conversations and document analysis. To enable using context beyond limited context windows, we propose virtual context management, a technique drawing inspiration from hierarchical memory systems in traditional operating systems that provide the appearance of large memory resources through data movement between fast and slow memory. Using this technique, we introduce MemGPT (Memory-GPT), a system that intelligently manages different memory tiers in order to effectively provide extended context within the LLM's limited context window, and utilizes interrupts to manage control flow between itself and the user. We evaluate our OS-inspired design in two domains where the limited context windows of modern LLMs severely handicaps their performance: document analysis, where MemGPT is able to analyze large documents that far exceed the underlying LLM's context window, and multi-session chat, where MemGPT can create conversational agents that remember, reflect, and evolve dynamically through long-term interactions with their users. We release MemGPT code and data for our experiments at https://memgpt.ai.

BERT: Pre-training ofDeep Bidirectional…BERT: Pre-training of Deep Bidirectional Transformers for Language UnderstandingLinformer:Self-Attention with…Linformer: Self-Attention with Linear ComplexityLongformer: TheLong-Document…Longformer: The Long-Document TransformerReformer: The EfficientTransformerReformer: The Efficient TransformerTowards UnsupervisedDense Information…Towards Unsupervised Dense Information Retrieval with Contrastive LearningBeyond Goldfish Memory:Long-Term Open-Domain…Beyond Goldfish Memory: Long-Term Open-Domain ConversationTrain Short, Test Long:Attention with Linear…Train Short, Test Long: Attention with Linear Biases Enables Input Length ExtrapolationReAct: SynergizingReasoning and Acting in…ReAct: Synergizing Reasoning and Acting in Language ModelsToolformer: LanguageModels Can Teach…Toolformer: Language Models Can Teach Themselves to Use ToolsIn-ContextRetrieval-Augmented…In-Context Retrieval-Augmented Language ModelsActive RetrievalAugmented GenerationActive Retrieval Augmented GenerationLost in the Middle: HowLanguage Models Use Lon…Lost in the Middle: How Language Models Use Long ContextsFragRel: ExploitingFragment-level Relation…FragRel: Exploiting Fragment-level Relations in the External Memory of Large Language Models"Teach AI How to Code":Using Large Language…"Teach AI How to Code": Using Large Language Models as Teachable Agents for Programming EducationFrom IsolatedConversations to…From Isolated Conversations to Hierarchical Schemas: Dynamic Tree Memory Representation for LLMsWhy Do Multi-Agent LLMSystems Fail?Why Do Multi-Agent LLM Systems Fail?Deep Research: ASystematic SurveyDeep Research: A Systematic SurveyAgent KB: LeveragingCross-Domain Experience…Agent KB: Leveraging Cross-Domain Experience for Agentic Problem SolvingTowardsMulti-Granularity Memor…Towards Multi-Granularity Memory Association and Selection for Long-Term Conversational AgentsA Comment On "TheIllusion of Thinking"…A Comment On "The Illusion of Thinking": Reframing the Reasoning Cliff as an Agentic GapLook Back to ReasonForward: Revisitable…Look Back to Reason Forward: Revisitable Memory for Long-Context LLM AgentsSoK: AgenticRetrieval-Augmented…SoK: Agentic Retrieval-Augmented Generation (RAG): Taxonomy, Architectures, Evaluation, and Research DirectionsHiMem: HierarchicalLong-Term Memory for LL…HiMem: Hierarchical Long-Term Memory for LLM Long-Horizon AgentsExternalization in LLMAgents: A Unified Revie…Externalization in LLM Agents: A Unified Review of Memory, Skills, Protocols and Harness EngineeringMemGPT: Towards LLMs asOperating SystemsMemGPT: Towards LLMs as Operating SystemsEarlier referencesFocus paperCiting papersOlderNewer

Click a node to pin it, click the empty canvas to go back to this paper, or hover to preview. Open a node’s page from its title.