The setlist — memory across sessions.
Start a new session and the window is wiped clean. So how does the model ever "remember" you at all?
The last two pages kept everything inside one session's window. Here's what surprises people: close that session, open a new one, and the window is wiped blank. The model has no idea what you played yesterday — or even a minute ago, in the session you just left.
So by default, the model does not remember you between sessions. Every new one is a fresh, silent stage. It's the same for a house band: the stage is cleared after every gig. If the bandleader wants to recall that you take it in B♭ next time, they have to write it on a setlist they carry between gigs.
That setlist is the trick — and it matters that the model itself never changes between sessions; nothing you say is learned into it. What persists is a small store of chosen facts saved outside the window: a name, a preference, a detail or two. At the start of a new session, a few are quietly loaded back into the fresh window, present from the very first note.
Tell the model a few things, then start a new session — on the left with the setlist off, on the right with it on. Watch what survives the wipe.
Memory is just a list, loaded back in.
Remembering isn't the model holding on to your old sessions. It's a short list of facts, kept on the side and re-loaded into each new window at the start.
# a new session starts with an empty window — it remembers nothing on its own window = [ {"role": "system", "content": brief} ] # the setlist is a SEPARATE store that lives outside any single session setlist = load_saved_facts(user) # e.g. ["alto sax", "B♭", "mellow"] # at the start of a new session, a few saved facts are loaded back in if setlist: window.append({"role": "system", "content": "About this player: " + "; ".join(setlist)}) # only now does the new session "know" you — the facts were re-loaded, not remembered reply = model.play(window + [{"role": "user", "content": request}])
Two kinds of memory.
The session window is working memory — wiped clean the moment a session ends. The model only recognises you across sessions if it keeps a separate setlist of saved facts and loads them back into each new window. No setlist, no recognition.
So "remembering" isn't the model clinging to your past sessions. It's a small, deliberate list of facts, saved outside the window and re-loaded at the start — something you can usually see, edit, and delete.