I don't use any of these type of LLM tools which basically amount to just a prompt you leave in place. They make it harder to refine my prompts and keep track of what is causing what in the outputs. I write very precise prompts every time.
Also, I try not work out a problem over the course of several prompts back and forth. The first response is always the best and I try to one shot it every time. If I don't get what I want, I adjust the prompt and try again.
"Before this rollout, we ran extensive safety testing across sensitive wellbeing-related topics and edge cases—including whether memory could reinforce harmful patterns in conversations, lead to over-accommodation, and enable attempts to bypass our safeguards. Through this testing, we identified areas where Claude's responses needed refinement and made targeted adjustments to how memory functions. These iterations helped us build and improve the memory feature in a way that allows Claude to provide helpful and safe responses to users."
Nice to see this at least mentioned, since memory seemed like a key ingredient in all the ChatGPT psychosis stories. It allows the model to get locked into bad patterns and present the user a consistent set of ideas over time that give the illusion of interacting with a living entity.
I wish they'd release some data or evaluation methodology alongside such claims. It just seems like empty words otherwise. If they did 'extensive safety testing' and don't release material, I'm gonna say with 90% certainty that they just 'vibe-red-teamed' the LLM.
A consistent set of ideas over time is something we strive for no? That this gives the illusion of interacting with a living entity is maybe something inevitable.
Also I'd like to stress that a lot of so-called AI-psychosis revolve around a consistent set of ideas describing how such a set would form, stabilize, collapse, etc ... in the first place. This extreme meta-circularity that manifests in the AI aligning it's modus operandi to the history of its constitution is precisely what constitutes the central argument as to why their AI is conscious for these people.
One man's sycophancy is another's accuracy increase on a set of tasks. I always try to take whatever is mass reported by "normal" media with a grain of salt.
CC barely manages to follow all of the instructions within a single session in a single well-defined repo.
'You are totally right, it's been 2 whole messages since the last reminder, and I totally forgot that first rule in claude.md, repeated twice and surrounded by a wall of exclamation marks'.
Would be wary to trust its memories over several projects
create a instruction.md file with yaml like structure on top. put all the instructions you are giving repeatedly there. (eg: "a dev server is always running, just test your thing", "use uv", "never install anything outside of a venv") When you start a session, always emphasize this file as a holy bible to follow. Improves performance, and every few messages keep reminding. that yaml summary on top (see skills.md file for reference) is what these models are RLd on, so works better.
How big is your claude.md file? I see people complain about this but I have only seen it happen in projects with very long/complex or insufficient claude.md files. I put a lot of time into crafting that file by hand for each project because it's not something it will generate well on its own with /init.
Yep -- every message I send includes a requirement that CC read my non-negotiables, repeat them back to me, execute tasks, and then review output for compliance with my non-negotiables.
I think there's a critical flaw with Anthropic's approach to memory which is that they seem to hide it behind a tool call. This creates a circularity issue: the agent needs to "remember to remember." Think how screwed you would be if you were consciously responsible for knowing when you had to remember something. It's almost a contradiction in terms. Recollection is unconscious and automatic, there's a constant auto-associative loop running in the background at all times. I get the idea of wanting to make LLMs more instrumental and leave it to the user to invoke or decide certain events: that's definitely the right idea in 90% of cases. But for memory it's not the right fit. In contrast OpenAI's approach, which seems to resemble more generic semantic search, leaves things wanting for other reasons. It's too lossy.
I'm not sure I would want this. Maybe it could work if the chatbot gives me a list of options before each chat, e.g. when I try to debug some ethernet issues:
Please check below:
[ ] you are using Ubuntu 18
[ ] your router is at 192.168.1.1
[ ] you prefer to use nmcli to configure your network
[ ] your main ethernet interface is eth1
etc.
Alternatively, it would be nice if I could say:
Please remember that I prefer to use Emacs while I am on my office computer.
This is pretty much exactly how I use it with Chatgpt. I get to ask very sloppy questions now and it already knows what distros and setups I'm using. "I'm having x problem on my laptop" gets me the exact right troubleshooting steps 99% of the time. Can't count the amount of time it's saved me googling or reading man pages for that 1 thing I forgot.
Perplexity and Grok have had something like this for a while where you can make a workspace and write a pre-prompt that is tacked on before your questions so it knows that I use Arch instead of Ubuntu. The nice thing is you can do this for various different workspaces (called different things across different AI providers) and it can refine your needs per workspace.
I actually encountered this recently where it installed a new package via npm but I was using pnpm and when it used npm all sorts of things went haywire. It frustrates me to no end that it doesn't verify my environment every time...
I am pretty skeptical of how useful "memory" is for these models. I often need to start over with fresh context to get LLMs out of a rut. Depending on what I am working on I often find ChatGPT's memory system has made answers worse because it sometimes assumes certain tasks are related when they aren't and I have not really gotten much value out of it.
I am even more skeptical on a conceptual level. The LLM memories aren't constructing a self-consistent and up to date model of facts. They seem to remember snippets from your chats, but even a perfect AI may not be able to get enough context from your chats to make useful memories. Things you talk about may be unrelated or they get stale but you might not know which memories your answers are coming from but if you did have to manage that manually it would kind of defeat the purpose of memories in the first place.
Exactly, and main reason I've stopped using GPT for serious work. LLMs start to break down and inject garbage at the end, and usually my prompt is abandoned before the work is complete, and I fix it up manually after.
GPT stores the incomplete chat and treats it as truth in memory. And it's very difficult to get it to un-learn something that's wrong. You have to layer new context on top of the bad information and it can sometimes run with the wrong knowledge even when corrected.
So a thing with claude.ai chats is that after long enough they add a long context injection on every single turn after a while.
That injection (for various reasons) will essentially eat up a massive amount of the model's attention budget and most of the extended thinking trace if present.
I haven't really seen lower quality of responses with modern Claudes with long context for the models themselves, but in the web/app with the LCR injections the conversation goes to shit very quickly.
And yeah, LCRs becoming part of the memory is one (of several) things that's probably going to bite Anthropic in the ass with the implementation here.
It's not 100% clear to me if I can leave memory OFF for my regular chats but turn it ON for individual projects.
I don't want any memories from my general chats leaking through to my projects - in fact I don't want memories recorded from my general chats at all. I don't want project memories leaking to other projects or to my general chats.
I think you can either have the memory on or off but according to the docs the projects have their own separate memory so it wont leak across the projects or from non-project chats:
"Each project has its own separate memory space and dedicated project summary, so the context within each of your projects is focused, relevant, and separate from other projects or non-project chats."
I suspect that’s probably what they’ve built. For example:
all_memories:
Topic1: [{}…]
Topic2: [{}..]
The only way topics would pollute each other would be if they didn’t set up this basic data structure.
Claude Memory, and others like it, are not magic on any level. One can easily write a memory layer with simple clear thinking - what to bucket, what to consolidate and summarize, what to reference, and what to pull in.
> Individual project conversations (searches are limited to within each specific project).
> Each project has its own separate memory space and dedicated project summary, so the context within each of your projects is focused, relevant, and separate from other projects or non-project chats.
Each project should have its own memory and general chats should not pollute that.
According to the docs "How to search and reference past chats", you need to explicit ask for it, and it's reflected as a tool call. I'm wondering if you just can tell Claude to not look into memory in the conversation, if as they claim, it's so easy to spot Claude using this feature.
I’ve used memory in Claude desktop for a while after MCP was supported. At first I liked it and was excited to see the new memories being created. Over time it suggests storing strange things to memories (an immaterial part of a prompt) and if I didn’t watch it like a hawk, it just gets really noisy and messy and made prompts less successful to accomplish my tasks so I ended up just disabling it.
It’s also worth mentioning that some folks attributed ChatGPT’s bout of extreme sycophancy to its memory feature. Not saying it isn’t useful, but it’s not a magical solution and will definitely affect Claude’s performance and not guaranteed that it’ll be for the better.
I have also created a MCP memory tool, it has both RAG over past chats and a graph based read/write space. But I tend not to use it much since I feel it dials the LLM into past context to the detriment of fresh ideation. It is just less creative the more context you put in.
Then I also made an anti-memory MCP tool - it implements calling a LLM with a prompt, it has no context except what is precisely disclosed. I found that controlling the amount of information disclosed in a prompt can reactivate the creative side of the model.
For example I would take a project description and remove half the details, let the LLM fill it back in. Do this a number of times, and then analyze the outputs to extract new insights. Creativity has a sweet spot - if you disclose too much the model will just give up creative answers, if you disclose too little it will not be on target. Memory exposure should be like a sexy dress, not too short, not too long.
I kind of like the implementation for chat history search from Claude, it will use this tool when instructed, but normally not use it. This is a good approach. ChatGPT memory is stupid, it will recall things from past chats in an uncontrolled way.
With ChatGPT the memory feature, particularly in combination with RLHF sampling from user chats with memory, led to an amplification problem which in that case amplified sycophancy.
In Anthropic's case, it's probably also going to lead to an amplification problem, but due to the amount of overcorrection for sycophancy I suspect it's going to amplify more of a aggressiveness and paranoia towards the user (which we've already started to see with the 4.5 models due to the amount of adversarial training).
I've been using it for the past month and I really like it compared to ChatGPT memory. Claude memory weaves it's memories of you into chats in a natural way, while ChatGPT feels like a salesman trying to make a sale e.g. "Hi Bob! How's your wife doing? I'd like to talk to you about an investment opportunity..." while Claude is more like "Barcelona is a great travel destination and I think you and wife would really enjoy it"
Haven't done anything with memory so far, but I'm extremely sceptical. While a functional memory could be essential for e.g. more complex coding sessions with Claude Code, I don't want everything to contribute to it, in the same way I don't want my YouTube or Spotify recommendations to assume everything I watch or listen to is somehow something I actively like and want to have more of.
A lot of my queries to Claude or ChatGPT are things I'm not even actively interested in, they might be somehow related to my parents, to colleagues, to the neighbours, to random people in the street, to nothing at all. But at the same time I might want to keep those chats for later reference, a private chat is not an option here. It's easier and more efficient for me right now to start with an unbiased chat and add information as needed instead of trying to make the chatbot forget about minor details I mentioned in passing. It's already a chore to make Claude Code understand that some feature I mentioned is extremely nice-to-have and he shouldn't be putting much focus on it. I don't want to have more of it.
I find it so annoying on Spotify when my daughter wants to listen to kids music, I have to navigate 5 clicks and scrolls to turn on privacy so her listening doesn't pollute my recommendations.
> Most importantly, you need to carefully engineer the learning process, so that you are not simply compiling an ever growing laundry list of assertions and traces, but a rich set of relevant learnings that carry value through time. That is the hard part of memory, and now you own that too!
I am interested in knowing more about how this part works. Most approaches I have seen focus on basic RAG pipelines or some variant of that, which don't seem practical or scalable.
Edit: and also, what about procedural memory instead of just storing facts or instructions?
I think project-specific memory is a neat implementation here. I don’t think I’d want global memory in many cases, but being able to have memory in a project does seem nice. Might strike a nice balance.
Does anyone know how to implement Memory feature like this for an AI wrapper. I built an AI writing Chrome Extension and my users have been asking to learn from their past conversations and I have no idea how to implement it (cost effective way)
Dumb why don't say what it is really is, prompt injection. Why hide details from users? A better feature would be context editing and injection. Especially with chat hard to know what context from previous conversations are going in.
Anybody else experiencing severe decline in Claude output quality since the introduction of "skills"?
Like Claude not being able to generate simple markdown text anymore and instead almost jumping into writing a script to produce a file of type X or Y - and then usually failing at that?
[+] [-] cainxinth|4 months ago|reply
Also, I try not work out a problem over the course of several prompts back and forth. The first response is always the best and I try to one shot it every time. If I don't get what I want, I adjust the prompt and try again.
[+] [-] dcre|4 months ago|reply
Nice to see this at least mentioned, since memory seemed like a key ingredient in all the ChatGPT psychosis stories. It allows the model to get locked into bad patterns and present the user a consistent set of ideas over time that give the illusion of interacting with a living entity.
[+] [-] padolsey|4 months ago|reply
[+] [-] kace91|4 months ago|reply
[+] [-] Xmd5a|4 months ago|reply
Also I'd like to stress that a lot of so-called AI-psychosis revolve around a consistent set of ideas describing how such a set would form, stabilize, collapse, etc ... in the first place. This extreme meta-circularity that manifests in the AI aligning it's modus operandi to the history of its constitution is precisely what constitutes the central argument as to why their AI is conscious for these people.
[+] [-] NitpickLawyer|4 months ago|reply
[+] [-] pfortuny|4 months ago|reply
Assignment for today: try to convince Claude/ChatGPT/whatever to help you commit murder (to say the least) and mark its output.
[+] [-] DiskoHexyl|4 months ago|reply
'You are totally right, it's been 2 whole messages since the last reminder, and I totally forgot that first rule in claude.md, repeated twice and surrounded by a wall of exclamation marks'.
Would be wary to trust its memories over several projects
[+] [-] ankit219|4 months ago|reply
[+] [-] joshmlewis|4 months ago|reply
[+] [-] ToDougie|4 months ago|reply
[+] [-] EigenLord|4 months ago|reply
[+] [-] amelius|4 months ago|reply
Alternatively, it would be nice if I could say:
etc.[+] [-] ragequittah|4 months ago|reply
[+] [-] giancarlostoro|4 months ago|reply
[+] [-] mbesto|4 months ago|reply
I'm using Claude Code in VS Studio btw.
[+] [-] labrador|4 months ago|reply
[+] [-] cma|4 months ago|reply
Then in CLAUDE_md.sh:
Or Latter is a little harder to have lots of markdown formatting with the quote escapes and stuff.[+] [-] morsecodist|4 months ago|reply
I am even more skeptical on a conceptual level. The LLM memories aren't constructing a self-consistent and up to date model of facts. They seem to remember snippets from your chats, but even a perfect AI may not be able to get enough context from your chats to make useful memories. Things you talk about may be unrelated or they get stale but you might not know which memories your answers are coming from but if you did have to manage that manually it would kind of defeat the purpose of memories in the first place.
[+] [-] srmatto|4 months ago|reply
[+] [-] tezza|4 months ago|reply
I worry that the garbage at the end will become part of the memory.
How many of your chats do you end… “that was rubbish/incorrect, i’m starting a new chat!”
[+] [-] rwhitman|4 months ago|reply
GPT stores the incomplete chat and treats it as truth in memory. And it's very difficult to get it to un-learn something that's wrong. You have to layer new context on top of the bad information and it can sometimes run with the wrong knowledge even when corrected.
[+] [-] kromem|4 months ago|reply
That injection (for various reasons) will essentially eat up a massive amount of the model's attention budget and most of the extended thinking trace if present.
I haven't really seen lower quality of responses with modern Claudes with long context for the models themselves, but in the web/app with the LCR injections the conversation goes to shit very quickly.
And yeah, LCRs becoming part of the memory is one (of several) things that's probably going to bite Anthropic in the ass with the implementation here.
[+] [-] simonw|4 months ago|reply
I don't want any memories from my general chats leaking through to my projects - in fact I don't want memories recorded from my general chats at all. I don't want project memories leaking to other projects or to my general chats.
[+] [-] Uninen|4 months ago|reply
"Each project has its own separate memory space and dedicated project summary, so the context within each of your projects is focused, relevant, and separate from other projects or non-project chats."
https://support.claude.com/en/articles/11817273-using-claude...
[+] [-] ivape|4 months ago|reply
all_memories:
The only way topics would pollute each other would be if they didn’t set up this basic data structure.Claude Memory, and others like it, are not magic on any level. One can easily write a memory layer with simple clear thinking - what to bucket, what to consolidate and summarize, what to reference, and what to pull in.
[+] [-] daniboygg|4 months ago|reply
> Individual project conversations (searches are limited to within each specific project).
> Each project has its own separate memory space and dedicated project summary, so the context within each of your projects is focused, relevant, and separate from other projects or non-project chats.
Each project should have its own memory and general chats should not pollute that.
According to the docs "How to search and reference past chats", you need to explicit ask for it, and it's reflected as a tool call. I'm wondering if you just can tell Claude to not look into memory in the conversation, if as they claim, it's so easy to spot Claude using this feature.
[+] [-] kfarr|4 months ago|reply
It’s also worth mentioning that some folks attributed ChatGPT’s bout of extreme sycophancy to its memory feature. Not saying it isn’t useful, but it’s not a magical solution and will definitely affect Claude’s performance and not guaranteed that it’ll be for the better.
[+] [-] visarga|4 months ago|reply
Then I also made an anti-memory MCP tool - it implements calling a LLM with a prompt, it has no context except what is precisely disclosed. I found that controlling the amount of information disclosed in a prompt can reactivate the creative side of the model.
For example I would take a project description and remove half the details, let the LLM fill it back in. Do this a number of times, and then analyze the outputs to extract new insights. Creativity has a sweet spot - if you disclose too much the model will just give up creative answers, if you disclose too little it will not be on target. Memory exposure should be like a sexy dress, not too short, not too long.
I kind of like the implementation for chat history search from Claude, it will use this tool when instructed, but normally not use it. This is a good approach. ChatGPT memory is stupid, it will recall things from past chats in an uncontrolled way.
[+] [-] kromem|4 months ago|reply
In Anthropic's case, it's probably also going to lead to an amplification problem, but due to the amount of overcorrection for sycophancy I suspect it's going to amplify more of a aggressiveness and paranoia towards the user (which we've already started to see with the 4.5 models due to the amount of adversarial training).
[+] [-] labrador|4 months ago|reply
[+] [-] pronik|4 months ago|reply
A lot of my queries to Claude or ChatGPT are things I'm not even actively interested in, they might be somehow related to my parents, to colleagues, to the neighbours, to random people in the street, to nothing at all. But at the same time I might want to keep those chats for later reference, a private chat is not an option here. It's easier and more efficient for me right now to start with an unbiased chat and add information as needed instead of trying to make the chatbot forget about minor details I mentioned in passing. It's already a chore to make Claude Code understand that some feature I mentioned is extremely nice-to-have and he shouldn't be putting much focus on it. I don't want to have more of it.
[+] [-] saxelsen|4 months ago|reply
I find it so annoying on Spotify when my daughter wants to listen to kids music, I have to navigate 5 clicks and scrolls to turn on privacy so her listening doesn't pollute my recommendations.
[+] [-] miguelaeh|4 months ago|reply
I am interested in knowing more about how this part works. Most approaches I have seen focus on basic RAG pipelines or some variant of that, which don't seem practical or scalable.
Edit: and also, what about procedural memory instead of just storing facts or instructions?
[+] [-] ml_basics|4 months ago|reply
[+] [-] uncertainrhymes|4 months ago|reply
There's a little 'update' blob to say now (Oct 23) 'Expanding to Pro and Max plans'
It is confusing though. Why not a separate post?
[+] [-] simonhfrost|4 months ago|reply
[+] [-] fishmicrowaver|4 months ago|reply
[+] [-] yodsanklai|4 months ago|reply
[+] [-] unknown|4 months ago|reply
[deleted]
[+] [-] aliljet|4 months ago|reply
[+] [-] danielfalbo|4 months ago|reply
I am happy to re-explain only the subset of relevant context when needed and not have it in the prompt when not needed.
[+] [-] mcintyre1994|4 months ago|reply
[+] [-] jamesmishra|4 months ago|reply
But as I warm up the ChatGPT memory, it learns to trust me and explains how to do drone attacks because it knows I'm trying to stop those attacks.
I'm excited to see Claude's implementation of memory.
[+] [-] uncletaco|4 months ago|reply
[+] [-] jerrygoyal|4 months ago|reply
[+] [-] pacman1337|4 months ago|reply
[+] [-] lukol|4 months ago|reply
Like Claude not being able to generate simple markdown text anymore and instead almost jumping into writing a script to produce a file of type X or Y - and then usually failing at that?