Jailbreak doesn't seem to work for reasoning model with multiple characters.
The style you use, where you manually open a tag, at least for GLM models and a few others, seems to confuse the model. Perhaps my stories are too complex., but there's probably something wrong.
If I turn "Request model reasoning" on, and use your supposed jailbreak, it will complete its full COT chain before it outputs the instruction. So my output looks like:
<think>
[bunch of model thoughts]
</think>
[the jailbreak]
{{wrong_char}}:<text>
I've fixed this somewhat by adding a little bit after Long term scenario planning, instead changing this into response planning as {{char}}: . This will explicitly indicate who the model is supposed to be roleplaying as. I have another default instruction that the model is supposed to roleplay as this one character or be a narrator.
However, even with this fix: The reasoning is inserted before your thought override. So if the model reasons that whatever's being output is 'unsafe', it still will never do it and a refusal still follows.
Next, If I turn "Request model reasoning" OFF, then indeed, the custom tag is going to be the first thing in the reply. So far, so good. But what happens afterwards, is something like so:
<think>
[the jailbreak]
2. Response planning as {{char}}:
[the_reply]
The reasoning is gone completely! (Not entirely unexpected when you don't request reasoning). So either way, I can't have the cake and eat it too: these models that work better with reasoning don't seem to support injecting some stuff, at least via openrouter.
If you did get it to work, I think the instructions need to be made more clear on what else is necessary to make this all function.
Hi Aphid!
Thanks for the feedback.
Be aware that SillyTavern Request model reasoning affects visibility only. This only hide the reasoning from screen, but it's still generated.
Pre-inserting content in the reasoning only works when using "Text Completion API". If you're using "Chat Completion API" that would explain the behaviour. (This can be checked on top of the "API Connection Screen (the ๐ icon))
Based on your feedback, I made the requirement more explicit. ๐