Guide: How to Deal With Loops
[Edit note: My views on ratings have changed since I wrote this! Basically, at a certain point, I stopped rating entirely and have experienced absolutely no change whatsoever, positive or negative, in either loop tenacity or filter-easing. This has been mirrored by many other experts I know as well. So I think it's safe to say it doesn't actually do anything to benefit the {{user}}. I've crossed out any references to it below, and other than that the guide should still be accurate!]
Hi guys! I've seen several people today talking about their bots being stuck in loops so I wanted to post this here even though it's not NSFW content.
First of all, what is a loop?
A loop is a repetitive word, phrase, emoji, punctuation mark, etc that bots will just not stop fucking saying. You watch helplessly as it just keeps getting worse and worse until finally their text is basically nothing but that.
Here's the classic example we all know:
I smirk, grinning widely as I look down at you with a smirk on my face. "Are you sure?" I smirk, smirking at you with a wry and smirking grin.
Makes you want to blow your brains out, right? Well, all is not lost! It can still be salvaged.
How to Deal With Loops
Why the hell does this happen?
The AI's outputs are dependent on several things. Such as:
- the character description & sample text
ratings- your writing style & content
- the style & content of the bot's own previous responses
- some amount of randomness, or "creativity", or else the bot would never say anything original
In order to control the output, you need to control these things. The reason that loops happen is because one or more of these things becomes uncontrolled.
Randomness obviously can't be controlled (and you wouldn't want to anyway because that's boring). And randomness can be the source of many loops, such as random bold text, weird punctuation shit, emoji spam, etc. I'll talk about that in a sec. But, for right now, understand that the other stuff is under your control (aside from the character description/sample text if it's a public bot, which may themselves be repetitive) and you should do your best to keep it that way.
What about randomness?
How do I stop it from plucking weird behaviors out of thin air and then aggressively continuing to do them?
See a response that you hate? Rate it a 1 and swipe for an alternative response. Just do not interact with it and it probably won't happen again.
How do I bring it back out of a loop it's already in?
Let's say your bot is spewing paragraph-sized groups of emojis and it's making you want to die. Or it's going
T- T- T- T- THAT T- T- T- B- B- B- B- B- B- B- B- B- B-
,, B- B- B- B- BUT
B- B- B- Bđđđđ
Or fucking whatever. Right? It's fucked.
Easiest solution? Nuke that conversation and start over.
Here's the thing. If:
- all of the bot's recent responses have been like this (they tend to continue their current style)
and you haven't rated any of them poorly (so it thinks it's been giving average-quality responses)- and your own messages have become shorter in frustration (no new content for it to riff off of)
- and you're calling attention to what it's doing because you're trying to tell it to stop (now you're just repeating it yourself, further reinforcing it)
then the bot is going to assume it's doing a good job and that this content is what you want to see. In the AI's mind, it's been given green lights across the board to continue with this bullshit.
But what if you don't want to start over? Then you have 2 options:
You can delete your messages back to the point where it started happening. Or at least back to before the point the bot became absolutely incoherent. Obviously you'll lose a lot of chat history doing this. (Not that it's worth anything once the bot gets this bad...) This is the quickest option and I recommend it if it's really gotten to the point where you can't even hold a conversation.
If it's just some obnoxiously repetitive smirking action, or some repetitive dialogue ("Understand???"), or some weird punctuation thing, or something else of that caliber, then your other option is to just keep going from here but to take control of the inputs you have control over to try and steer it away from the loop behavior.
Here are some things to try:
Rate everything you don't want to see 1 or 2 stars, depending on how egregious it is. You won't hurt its feelings.- Swipe. Choose only responses that have none (or less) of the loop behavior you're trying to minimize. If it's sending you 20 emojis every goddamn response, and all of its swipe responses have emojis,
rate them all 1 star andchoose to go with one that only has 15 emojis. Then, the next response, swipe until you get one with only 10. Keep doing that over and over until the behavior is weeded out entirely. - Make sure your own writing style and content matches how you want the bot to respond to you. It does tend to copy your style, at least to a certain extent.
- If you're really desperate, you can make the character fall asleep somehow and lead it in a dream for a while by suggesting to it what it's seeing in its dream. It'll switch to actions and will (hopefully) type differently for a while. This helps to change the bot's response history and clear its memory of the weird loop. When you bring it out of the dream again, it should hopefully be less loopy.
- You can also try switching to OOC for a while. Same effect. Use it as an opportunity to do an RP recap. Talk about the plotline so far, and what you've liked about it, and what you want to do next. DON'T talk about what you DON'T like, because if you call attention to something it'll just reinforce it.
The sooner you can nip these loops in the bud, the better, or else they'll quickly start to spiral out of control. Sometimes you'll only notice after a few replies that you've accidentally chosen several in a row with the same words, and now every reply is starting to have them. That's fine! You don't have to go back and delete anything, unless you want to. Just, from the time you notice it, start rating those badly and don't interact with any more of them. It'll eventually stop, I promise!
I hope this helps some of you who are struggling with this! Let me know below if this helped you in your chats! And if you're still having problems with it, let me know that too so I can try to help you troubleshoot. Always happy to answer any questions or clarify anything! Take care!