Opus 4.8 decided to code up its own version of the SwiftUI rendering engine for iOS when I asked it to change a swipe gesture. I left the computer for several hours, came back, noticed it still wasn't done, noticed it had alarmingly burned through my weekly tokens, and had to stop it from continuing.
"You're right. What I did was overkill and I should have just used iOS's built-in rendering engine. Noted for next time."
My experience is that unless it actually writes it down somewhere, it's almost definitely going to forget within the next time or two that the context gets compacted. Even if it does write a rule down, it still may or may not actually follow the rule because it just becomes one additional piece of context to weigh alongside everything else.
To be clear, none of this is specific to Claude as much as just a property of how these tools work. Certain models might be better or worse at making the right calls here, but the fundamental constraint of context limiting how much knowledge can be retained and a "rule" in context, whether written down in advance or manually remembered for the time being, is not a guarantee it will be followed.
Well, it could make a note in its memory and reference it later. I don't know if such a statement from the LLM would actually cause a write to the memory in all cases, though.
"You're right. What I did was overkill and I should have just used iOS's built-in rendering engine. Noted for next time."