What is impersonation?
When the model speaks for or controls the action of {{user}}
Why does this happen?
A multitude of reasons:
- Your response was not detailed enough for the LLM to predict its own off of yours
- You left the response open-ended, i.e, a scene where it might think it needs {{user}}'s action to proceed the narration
- You narrated/spoke for the bot in your reply
- You allowed it to speak or act for {{user}} in the past and did not delete it from your context. Even once sets a precedence and minor actions such as "{{user}} rolled their eyes" count
- You are not prompting properly, with a heavy use of negative prompting
- You are using a bot where {{user}}'s actions/thought/dialogue is written out in the intro (same issue as letting the bot control {{user}}'s narration)
- You have an overly detailed persona. Personas are best kept as minimal as possible. All the info in your person is injected in your context and the LLM treats it as information available for its use.
If you want the LLM to be unaware of a detail, just do not mention it in your persona or chat until it is relevant to.
Can't I just OOC the model to stop speaking for {{user}}?
Yes, but OOCs are temporary and only active as long as they are within your context window.
They stop working the moment that they leave your context.
You are better off trying to troubleshoot where the issue lies instead of depending on them
How to fix it?
- Better prompting, refer to the prompting advice guide
- Improving the quality of your responses. Remember: Slop in, Slop out!
How to write better responses?
You should make good use of your turn to push the narrative or give the model something to work with.
Background info
An LLM is not able to reason similarly to humans.
LLMs work by predicting one token at a time. The model receives sequential text as input and uses patterns learned during its training to predict what token should come next. Once a token is predicted, it is added to the sequence, and the process repeats with each prediction building on all previous tokens in the sequence.
-# Note: Because this prediction process is based on learned statistical patterns, sending the same input repeatedly might lead to it producing similar outputs.
How to write better responses?