The chat Ai model changed. The context is smaller and handled less intelligently so the things in context often get mirrored in fresh responses before they get removed from context. To make matters worse, anything that enters context, such as replies as counting, now becomes a repeated standard until corrected. Without accounting for this, that same context regards character definitions on equal terms as chat history, so what you get is a lot of circling dialogue. The AI coding agent has the same problem.
The solution is to have more built on the generator side of things to make the chat AI able to focus more on just generating the chat responses; with the generator coding handling much of the behind the scenes work. The cheap answer to this is establishing fixed character cards and having details from the character cards fed into the chat AI context periodically so that it doesn't need to retain them as context. Other setting data can be handled in the same way through defining lore. But this bites into context with every single response so you need to budget intelligently from the prompting side of the code. The added difficulty is depth and persistence since new context floods old without much reasoning. Meanwhile none of this gives the chat AI the ability to drive the conversation; so it just remains a passenger wherever you take it. Addressing this is additional programming that is usually specific to how your project works, so simple examples would fall short. The premise however is that you need to establish directions the AI can go and have hooks that the AI can use to declare those directions before their response is generated. Honestly though, this is a long procedure that you would have to develop with your project.
If you're wanting to avoid most the fine tuning, try having your generator assimilate this spec. The spec was based off one for a much larger project, refactored for usage with a blank generator. So no matter where your project lies you can likely get something from it. Your own custom tuning will still be needed.
https://github.com/sylviarose-meow/Loose-Files/blob/main/PORTABLE-ARC-SPEC.md
https://github.com/sylviarose-meow/Loose-Files/blob/main/arc-machine.js