Controlling What AI Remembers and Forgets: The Memobase Way

TL;DR: This blog explains how Memobase handles memory's update/forget, with some code examples.
When integrating memory into AI systems, one of the most common questions developers ask is: Does Memobase forget?
This seemingly simple query reflects deeper concerns about the persistence of long-term memory, update mechanisms, and the control developers maintain over stored information.
For example, if a user once says, “I’ve been getting mouth ulcers lately,” will that fact be stored permanently? Can the AI later recognize that this condition has passed?
This article takes a closer look at how Memobase handles memory—how it retains key information, when and how it updates it, and how it empowers developers to maintain control.
The Real Question Behind "Does AI Memory Solution Forget?"
When designing AI-driven user experiences, memory isn't just about making the AI sound smarter. It also affects trust, recommendation accuracy, and privacy compliance.
A system that never forgets might keep bringing up sensitive topics the user would rather leave behind.
On the other hand, one that forgets too easily might fail to recognize important patterns, preferences, or contextual information over time.
That’s why Memobase was built with a simple yet powerful goal: Structured user profiles + automatic update logic — so the AI can remember what matters, and just as importantly, know how to move on when things change.
Memobase’s Memory Structure: Profile and Event
Memobase currently supports two key types of structured memory:
- Profile is the heart of the user model. It stores long-term, relatively stable information such as interests, identity tags, and health status. It is persistent by default, structured as key-value fields, and easily injected into system prompts. Fully designable
- Event, in contrast, is designed for time-sensitive or context-dependent dialogue fragments. Events are used for recall logic—retrieving relevant historical snippets when needed.
For example, when a user says, “I love traveling and food”, “I’m feeling really stressed today” that information would be stored in the Profile.
But if user later says, "I'm happy now", the memory should update the corresponding profiles instead of keeping stressed
:
Code Snippet: Inserting Profile and Event into Memobase
u.insert(pack_blob("I love traveling to China"))
u.insert(pack_blob("I'm feeling really stressed today"))
u.flush()
print("\n".join([f"- {p.describe}" for p in u.profile()]))
Output
User said: I love traveling to China
-----------------------
User said: I'm feeling really stressed today
-----------------------
MEMORY:
- psychological: mood - User is feeling really stressed today. [mention 2025/05/17]
- interest: travel - User loves traveling to China. [mention 2025/05/17]
-----------------------
User said: I'm happy today!
-----------------------
MEMORY:
- psychological: mood - User is happy today. [mention 2025/05/17]
- interest: travel - User loves traveling to China. [mention 2025/05/17]
-----------------------
As we can see, the psychological/mood
is updated from stressed
to happy
.
But you may wonder: did Memobase forget the fact the user was once stressed
?
Well, in profile we did forget because the profile should be the current picture of the user. That's where Memobase Event comes to help.

You can think Memobase Event as the history stream of the users. It is designed to be time-sensitive and remember the "outdated" information. In Memobase, events are designed to be retrieved by queries:
Code Snippet: Search the revelant events
u.search_event("stressed", topk=1)
Output
Events: 📅2025-05-18 06:38:28
## Events
- user loves traveling to China. [mention 2025/05/18]
## User Info
- User is feeling really stressed today. [mention 2025/05/18]
Every details are still stored in the Memobase, it just doesn't show in the profile.
Summarization: Preventing Overlong Memories
To prevent some hot profiles become too long, Memobase can automatically summarize profile content. You can adjust the configs to control the maximum token size of a single profile.
The Fallback
Nevertheless, a manual deletion is always possible😊. Find where the 'mood' memory is, and delete it:
Code Snippet: Manually delete the memory
id = [p.id for p in u.profile() if p.sub_topic == "mood"][0]
u.delete_profile(id)
Output
-----------------------
DELETE: mood
-----------------------
MEMORY:
- interest: travel - User loves traveling to China. [mention 2025/05/18]
-----------------------
The Hidden Cost of “Never Forgetting” AI
Structured long-term memory is powerful, but it can also lead to memory sticking in unintended ways.
For instance, if a user once says, “I’ve been feeling anxious lately,” that emotional state might continue to influence interactions even long after the mood has passed.
This could lead to awkward experiences—like an AI offering emotional support during a casual chat, simply because it believes the user is still distressed.
In fact, in many teams that we worked with, they might observed significant chat turn drops once they implemented the memory feature.
Why? An AI with out-dated memory is like an old person, deeply "nostalgic," while many people interact with AI for new experiences. That's why we believe a memory that is actively updated, refleshed, and only remembers on certain aspect is more useful for your AI.
The Philosophy of Long-Term User Modeling
Did you know the mostly asked questions after OpenAI announced they supported memory, are something like:
- "What do you know about me?"
- "Draw me a self-portrait based on your memory"
- ...
They're all "global" questions, meaning those questions need full picture of user, not information retrieval.
Unlike many RAG-based systems that emphasize accurate information retrieval, Memobase focuses on long-term, structured user understanding.
It doesn’t try to stuff your prompts with raw text snippets. Instead, it injects highly curated and structured user profiles, shaping the AI’s behavior through meaningful, high-signal information.
This approach is ideal for applications that aim to build a lasting “persona model”—AI assistants, recommendation engines, companion or roleplay chatbots.
Think of Memobase not as a search engine for memory, but as a platform for crafting evolving user identities.
Final Thoughts: Building a Controllable AI Long-Term Memory System
So, why you need to try Memobase? Memobase is the only memory that focus on keeping the memory as concise as possible, so that you won't worry about which information you should retrieve, which attributes you need to track.
You design the profiles, Memobase does the rest. That’s its strength: giving memory control back to developers and product teams.
Curious how controllable AI memory works in practice?
Sign up to explore the Playground and Dashboard – build, test, and shape your own memory-driven AI application. Try Memobase Now
Full code in this blog: Github