They added a feature where it can reference content from any conversation you've had with it in the past. It's not clear how this works - probably some kind of vector search?
Prior to that change "memory" was a tool call: https://simonwillison.net/2024/Oct/15/chatgpt-horoscopes/#ho...
Here is what I have been able to reverse engineer for o3...
At high level it maintains about ~40 conversations in system prompt under a section called "recent conversation content". It only contains what the user typed, not assistant responses (probably due to prompt injection) - there a few corner cases though. :)
There are other sections in the system prompt now that contain aggregated info, so recent conversations turn into user insights over time I believe.
It can't actually "search" history afaik - that part I'm still wondering, as it was my first thought on how it might work...
I also found a way to exfiltrate the recent content - so hopefully that will be fixed soon...
Overall, this feature creates a lot of confusion and response quality declines at times too - and anything someone posts now online (like weird behavior or hallucinations,...) is likely influenced by their past conversations! So it will make it more difficult to understand what's really happening.
I think it would be cool if "projects" would be entirely isolated with their own memories and history etc. or have different "profiles"