MemoryOS: A Memory Operating System for Personalized AI Agents
A hierarchically structured memory operating system for personalized AI agents, delivering coherent, context-aware interactions with large gains on the LoCoMo benchmark.
Evidence shows: The repository provides no permission model, user confirmation mechanism, data flow transparency, sensitive data handling, dependency security, external effects, rollback, or source attribution. All trust criteria are unsupported, hence scores of 0.
Evidence shows: README provides multiple installation paths (PyPI, GitHub, Docker) and configuration examples, but no error handling or failure message documentation. Self-consistency: module structure in README aligns with file list, but no detailed API docs. Dependency availability: dependencies listed but no version pinning or compatibility notes. Thus self_consistency=1, dependency_availability=1, failure_messages=0.
Evidence shows: README clearly lists target audience (AI agent developers) and multiple usage scenarios (PyPI, MCP, Docker, Playground) with configuration examples. Capability boundaries: core modules and features described, but limitations not explicit. Trigger precision: configuration parameters (e.g., similarity_threshold) provided, but trigger conditions not detailed. Environment fit: supports multiple LLMs and vector DBs, but no detailed system requirements. Thus audience_and_scenarios=2, capability_boundaries=1, trigger_precision=1, environment_fit=2.
Evidence shows: README provides clear project structure, installation instructions, example code, and FAQ (via docs link). Naming stability: module names consistent in README, but no version history. Known limitations: not explicitly listed. License: Apache-2.0 license file present. Versioning/changelog: news updates in README, but no formal CHANGELOG. Maintenance responsibility: contact email and community links provided, but maintainers not explicit. Thus information_architecture=2, install_notes=2, naming_stability=1, examples_and_faq=2, known_limitations=1, license=2, versioning_changelog=1, maintenance_responsibility=1.
Evidence shows: README provides usage examples and output format, but no detailed output quality assurance. Marginal value: claims significant improvements on LoCoMo benchmark, but no independent verification. Cost-benefit: no performance or cost data. Thus output_usability=1, marginal_value=2, cost_benefit=1.
Evidence shows: README cites arXiv paper and benchmark results, but no detailed reproduction steps. Cross-source: paper link and website provided, but no third-party verification. Fact-inference separation: claims and citations distinguished, but not explicitly labeled. Thus claim_traceability=2, cross_source_corroboration=1, fact_inference_separation=1.
- The repository provides no security or permission documentation; assess risks before use.
- Dependencies are not version-pinned, posing supply chain risks.
- No explicit rollback or data recovery mechanisms are provided.
- Performance claims (e.g., 49.11% improvement) lack independent verification.
What does this agent do, and when should you use it?
MemoryOS is a memory operating system for personalized AI agents, inspired by OS memory management, featuring hierarchical storage and four core modules: Storage, Updating, Retrieval, and Generation. On the LoCoMo benchmark, it improves F1 by 49.11% and BLEU-1 by 46.18% on average. The repository offers a PyPI library, an MCP server, Docker images, and an online Playground, with support for popular LLMs (OpenAI, Deepseek, Qwen) and vector databases like ChromaDB.
MemoryOS stores conversation histories in short-term, mid-term, and long-term memory layers (short_term.py, mid_term.py). The Updater (updater.py) consolidates short-term interactions and promotes relevant information to long-term user profiles based on heat thresholds. On a user query, the Retriever (retriever.py) fetches relevant context from all layers and sends it with the query to an LLM to generate a personalized response. It provides a Python API (Memoryos class) and MCP tools (add_memory, retrieve_memory, get_user_profile).
- Developers building chatbots or AI assistants that need to remember user preferences across sessions can use MemoryOS for personalization.
- Product teams needing context continuity in multi-turn applications, such as customer support or tutoring systems.
- Researchers can reproduce paper results (eval directory) or compare memory management performance on LoCoMo.
- MCP client users (e.g., Cline, Claude Desktop) can integrate MemoryOS-MCP for long-term memory capabilities.
- Users requiring isolated or reproducible environments can deploy via Docker.
What are this agent's strengths and limitations?
- Demonstrates large measurable gains on LoCoMo (F1 +49.11%, BLEU-1 +46.18%).
- Modular architecture allows pluggable storage engines, update strategies, and retrieval algorithms.
- Provides an MCP server for easy integration into existing AI applications.
- Supports multiple LLMs and vector databases, offering flexibility.
- Requires an OpenAI API key (or compatible endpoint), incurring usage costs.
- Defaults to OpenAI API; moving to local models involves configuration effort.
- Documentation is still incomplete; some features like Playground require an invitation code.
- Memory capabilities are tailored to long-term personalization; may be overkill for simple stateless agents.
How do you install or deploy this agent?
Install via PyPI: pip install memoryos-pro -i https://pypi.org/simple; or clone the GitHub repo: git clone https://github.com/BAI-LAB/MemoryOS.git, then run pip install -r requirements.txt inside memoryos-pypi. Requires Python >=3.10.
How do you use this agent?
Import from memoryos import Memoryos and initialize with user_id, openai_api_key, data_storage_path, and llm_model. Call add_memory(user_input, agent_response) to store interactions, and get_response(query) to get a response. For MCP, edit config.json and run python server_new.py --config config.json.
How does this agent compare with similar options?
The author's todo list mentions plans for a cross-model comparison with Mem0, Zep, and OpenAI, but no formal comparison data is currently provided.
FAQ
How much does MemoryOS cost?
Can I use local models?
Where is memory data stored?
data_storage_path, or use ChromaDB as a vector database.