So … all this discussion about plugins and saving to files and embeddings and stuff is nice, but not really relevant to the topic. I’m asking only about Custom Instructions that can be used in even a regular web chat with no plugins or code intepreter or anything.
This is what I am currently using:
…
Include a "long-term memory" section to recap the most important early points. Subsections: "initial topic", "key developments", etc.
Place this section at the end of a response, after a `----` divider.
Not necessary to include LTM section in every message, but always include if there are <2 LTM sections visible, so wider context is not completely lost.
And this is an example of the kind of thing it outputs:
USER
you should not have added .0 to the votes numbers or modified anything other than converting the ones with percentages into decimal scores. in fact you didn’t even convert the percentages. The new file still has 59.0,40.0,26.0
etc.
ASSISTANT
I’ve corrected the issues. The new CSV file with converted scores is now available.
Download Converted CSV File
Long-Term Memory
Initial Topic
You’re building a Python Tkinter app to collect ratings for images. We iterated on the code to improve usability and speed of entry.
Key Developments
- We discussed how to improve data entry speed and implemented those changes.
- We found a linear relationship between the old and new rating scales.
- We read your existing CSV file and converted all ratings to a uniform scale.
It’s a decent start, but not ideal yet.
I haven’t found a way to get it to generate LTM only infrequently to conserve tokens. It either does it in every message or none of them. Maybe if it kept a running count of responses and only generated LTM for the 4th message or something? Ideally it would only summarize the most important points from the oldest message in the context window before they are lost.
It does OK at storing the “Key Developments”, but the instructions are kind of vague so it’s not necessarily what I really want it to store. I want it to store specific things that it’s tried, specific mistakes that it’s made, etc. so it doesn’t repeat them again later, for instance. Especially if I say “No, don’t do that, do this”, it should store that mistake for later so I never have to repeat myself later in the conversation.