MemOS: Industrial Memory Operating System
MemOS proposes a three-layer operating system abstraction for agent memory, with the MemCube as its central unit. Designed for industrial/enterprise deployments where multiple agents share and manage large memory pools.
Three-Layer Architecture
Layer 1: Memory Storage Layer
The physical storage substrate. MemOS is storage-agnostic:
- Vector databases for embedding-based retrieval
- Relational databases for structured data
- Key-value stores for fast lookups
- Object stores for large artifacts
Layer 2: Memory Management Layer
The core OS-like layer that handles:
- MemCube lifecycle: Create, read, update, delete, merge, split memory units.
- Access control: Which agents can read/write which memories.
- Consistency: Ensuring memory updates are atomic and consistent across stores.
- Scheduling: Prioritizing memory operations under resource constraints.
Layer 3: Memory Application Layer
High-level operations built on top of management:
- Memory-augmented generation: Inject relevant memories into prompts.
- Memory consolidation: Periodic summarization and compression.
- Memory sharing: Cross-agent memory transfer with access policies.
- Memory analytics: Usage patterns, access frequency, staleness detection.
The MemCube Abstraction
A MemCube is the atomic unit of memory in MemOS:
MemCube {
id: UUID
content: string | embedding | structured
metadata: {
owner: agent_id
access_policy: ACL
created_at: timestamp
last_accessed: timestamp
confidence: float
provenance: source_chain
}
links: MemCube[]
storage_hint: "hot" | "warm" | "cold"
}
Key properties:
- Self-describing: Each MemCube carries its own metadata and access policies.
- Tiered storage: Hot/warm/cold hints allow the system to optimize placement.
- Linked: MemCubes can reference each other for graph-style traversal.
- Provenance-tracked: Full chain of how the memory was created and modified.
Key Design Decisions
- Storage abstraction: Applications don't know or care about the physical storage backend.
- Agent-scoped access: Memory sharing is explicit, not implicit.
- Resource-aware scheduling: Memory operations are budgeted like OS process scheduling.
- Tiered lifecycle: Memories move between hot/warm/cold based on access patterns.
Relevance to Memory Platform
MemOS validates several of our architectural choices and suggests extensions:
| MemOS Concept | Platform Equivalent |
|---|---|
| MemCube | Memory row with JSON context |
| Access Control | Tenant-based isolation (user/org) |
| Storage Layer | Postgres + R2 |
| Management Layer | API routes + core logic |
| Application Layer | MCP tools + agent integration |
| Hot/warm/cold | Could add access-frequency-based tiering |
The main takeaway is that memory management deserves OS-level abstractions - scheduling, access control, and lifecycle management are not afterthoughts but core features.
References
- MemOS: An Operating System for Memory in LLM Agents
- Industrial deployment patterns for multi-agent memory systems
- The MemCube abstraction draws from database tuple and object storage concepts