AI agents can handle large context windows, yet still forget what happened after a session ends. Memory systems close that gap by preserving useful facts, preferences, relationships, and task state, giving agents continuity beyond a single prompt.
Open-source projects now approach memory through APIs, graphs, benchmarks, and portable agent state. In this article, we look at ten GitHub projects exploring AI memory: practical building blocks for agents that remember, retrieve, and improve over time.

Mem0 | General-purpose agent memory
A general-purpose memory layer for AI applications. It stores and retrieves user or agent memories so a system can carry information across sessions instead of rebuilding context every time. The project can preserve useful facts, preferences, and previous interactions, giving applications a practical way to maintain continuity without relying entirely on the current conversation context.
Why it matters: A practical starting point if you want to add persistent user or agent memory to an existing application without rebuilding the whole agent stack.
GitHub: https://github.com/mem0ai/mem0

Hindsight | Long-term memory and reflection
A long-term memory system built around remembering, recalling, and reflecting. It is designed to let agents retain information and use past experience when making later decisions. The approach helps agents build a more persistent understanding of previous interactions rather than treating each session in isolation.
Why it matters: The interesting part is the move from simple recall toward reflection over accumulated experience.
GitHub: https://github.com/vectorize-io/hindsight

memU | Proactive agent memory
A memory architecture for agents that treats stored experience as knowledge that can be organized and retrieved later. It is aimed at persistent, proactive memory rather than one-off context retrieval. This allows agents to build on information from previous interactions and surface relevant knowledge when it becomes useful for a new task or conversation.
Why it matters: Useful for thinking about memory as a continuously organized knowledge layer rather than a pile of retrieved snippets.
GitHub: https://github.com/NevaMind-AI/memU

Cognee | Graph-based knowledge memory
Turns documents, code, and conversations into connected, searchable memory. Its pipeline combines vector search with graph-based relationships so agents can retrieve information by meaning and by how concepts are connected. This gives agents a structured way to preserve relationships between pieces of information rather than storing them as isolated chunks. It can then use those connections to surface relevant context across future tasks and interactions.
Why it matters: Shows how vector retrieval and graph relationships can work together to give agents richer long-term context.
GitHub: https://github.com/topoteretes/cognee

Graphiti | Time-aware knowledge graphs
A temporal knowledge-graph approach to agent memory. Instead of treating facts as static records, Graphiti models how information and relationships change over time, which is useful for assistants that need evolving context. This lets agents distinguish between older and newer information and maintain a more accurate history of how relationships and facts have developed across interactions.
Why it matters: Temporal relationships matter when facts, entities, and user preferences change over time.
GitHub: https://github.com/getzep/graphiti

OpenViking | Persistent agent context
A memory and context system for agents that focuses on making agent state persistent and retrievable across interactions. It is designed for organizing context so an agent can reuse prior information instead of starting cold. This makes it easier to maintain continuity across sessions and retrieve relevant information when an agent encounters a similar task or needs to build on previous work.
Why it matters: The project is aimed at keeping agent state organized and reusable as interactions accumulate.
GitHub: https://github.com/volcengine/OpenViking

OpenMemory | Portable coding-agent memory
A tool for carrying coding-session context across agent harnesses such as Claude Code, Codex, and OpenCode. It can import and export sessions so developers do not lose context when they switch tools. The project focuses on making that context portable, allowing developers to pick up previous work without having to reconstruct the conversation or task state from scratch.
Why it matters: It addresses a different memory problem: keeping coding history portable when you switch between agent harnesses.
GitHub: https://github.com/mem0ai/openmemory
Agent memory is becoming an essential layer for building AI systems that can operate beyond a single conversation. While different projects workflows range from from compact facts and preferences to knowledge graphs, persistent sessions, and agent identity, they all solve the same fundamental problem.
The distinction is simple:
As agents take on longer-running and more complex tasks, that ability to remember, retrieve, and update past experience is what turns a stateless model into a system that can actually build on what it has learned.
A. AI memory allows agents to retain useful information from previous interactions and use it in later sessions. Instead of treating every conversation as a completely new task, an agent can store relevant facts, preferences, past actions, or knowledge and retrieve them when needed to provide more consistent and context-aware responses.ย
A. Agent memory helps systems build on previous interactions instead of starting from zero every time a new session begins. By retaining useful information and recalling it when needed, agents can maintain continuity, reuse past knowledge, and potentially perform tasks more effectively across repeated interactions.ย
A. No. AI memory can be useful across a much wider range of applications, including coding agents, research systems, search tools, and general-purpose assistants. These systems can use memory to retain information about previous tasks, conversations, findings, or user preferences and retrieve that information when it becomes relevant again.ย