I'd think of it more as keeping state in a separate object, and reassembling the prompt each time as system prompt + the most recent user/assistent conversation pairs + current user prompt. Then you can just shorten the conversation history in the middle to fit your context window. If you are fancy you add a summary of everything you have cut, but I'm not sure if ChatGPT does that.