An interesting and underdiscussed design choice regarding agentic memory is whether it should be invisible.
Most approaches I've seen lean hard into the angle: "you don't even know it's there; it just helps you in the background."
I wonder if that's the wrong approach.
Imagine an agent where, after you type a message, you see a system message:
"Retrieving relevant memories..."
Followed by the retrieved memories, before going into the agent's turn.
And then, after the agent's turn, you see:
"Consolidating memories..." followed by the memory updates performed.
Personally, I like the added observability and transparency.
For example: if the memory system times out, important facts may be "lost". But if that timeout error is surfaced to the user, they'll at least be aware of it, can retry, etc.
This is for the hook-based agentic memory approaches.
It doesn't apply to MCP-based ones, where the agent handles memory management by itself with tool calls. That's already explicit.