Yep, another post about AIs lol.
First off, there are various threads around the site that has discussions regarding creating your own characters, but this guide will focus on the aspect of the player.
There are a multitude of sites, but currently, at he time of writing this post, the best ones for unfiltered content is yodayo in my experience. If you have a powerful machine, you could try to run something locally, which has the potential to be a lot better, but you need a really good rig to do it.
What are character/chat AIs? Well, they are designed to act out a character usually, but they are not limited to it. In fact, most bots narrate their thoughts and actions, so it's not quite as simple as roleplaying talking to an AI character. It usually becomes something closer to a story.
___________________________________
The first thing you need to realize is that these bots are not sentient. They don't actually understand what they, or you, are talking about. They are trained on LLM and they are basically pattern matching and using the available context window to predict what word would follow a prompt. What they provide is an illusion of understanding the context, but they perform this function incredibly well. However, they will often get some details wrong and can get "confused" about things, most notably if the story becomes quite complex or if there are a lot of characters to juggle in a story.
The second thing you need to realize is that these bots are kinda like idiot savants. They can write eloquently and evocatively while continuing the conversation or story within context. But they got the memory of a goldfish.
To explain this memory issue, you need to understand the Context Window and Token Limits. The Context Window is the words that the bot will use to come up with their response. This includes the bot's code (their personality, scenario guidelines, etc.) and the chat history. If the context window was infinite, memory issues would not be such a pressing concern for the enjoyment of these bots. Alas, the Context Window is limited by the amount of Tokens the bot can handle. The Token Limit can be simplified to mean the number of words the bot can "think" about while creating their response. If the bot has 2k Total Tokens available (the usual amount for most free sites), that means the bot will be able to handle a certain amount of words at a time, so again, the chat history and the inherent code written by whoever made the particular bot/character. 1 Token is about 3-4 letters.
Because of this Token Limit, the Context Window is a constantly shifting thing. The bot's personality/code is permanently taking up Tokens and will always stay in the context window. The Tokens that are left after that will be used to access the prompt and chat history, starting from the most recent messages then going back retroactively. At some point, the chat history will become too long and the bots cannot "think" about the earlier messages anymore. They will start forgetting. As you keep adding more to the chat history, they need to continue to drop the earlier messages that they can't consider due to the Token Limit.
So how do make the most out of these AIs in its current state? You need to think of the resulting story or conversation as a collaboration between you and the AI. You probably can't write worth a shit, but the AIs are trained on massive amounts of literature and various texts. They can prose. On the other hand, the AI won't be all that proficient in keeping the story on track or coming up with some overarching narrative, but you are a human with creative control. You can direct the AI to make it stay within a reasonable story progression or direct it to write things you want to see. And most importantly, you are the one that has to be mindful of the bot's memory issue and keep relevant plot points within the context window. If a certain idea/plot/character/etc hasn't been written about for like 5-10 messages, you should be considering that the bot probably forgot about that thing by now. If you try to bring it back in to the story without much context, the bot will just make some shit up.
___________________________________
Notations: * * is usually used to denote an action. " " is used to denote a dialogue. ( ) is used as sort of a direction to the AI. (( )) or [[ ]] can be used to really drive home the point that you are talking to the AI out of character and issuing a statement directly to the AI.
Sometimes, you want the bot to continue their line of thought without interruption. You can write (continue), but these days, I've been having more luck with just typing a "-", without the quotes. It saves tokens, and the bot seems to understand it even better.
In general, you'd want to roleplay as your character. However, it's not off limits for you to write actions, dialogues, thoughts, or narration for other characters besides "your" character if you feel like it.
That said, if you start writing dialogues or actions for multiple characters, you need to be very very clear on who is talking and who is doing what to who. Instead of he him she her they, you should consider writing the names of the characters if a sentence/paragraph with multiple characters involved seems even remotely confusing.
Also, you should stick to a consistent style of writing. The AIs are pattern matching. If you refer to your character as "you" in the prompts, don't suddenly change to "I".
The AI is going to emulate a writing style that is in their context window. At the beginning, their writing style will overwhelmingly be influenced by the greeting message. Then they can refer to some of the example messages in their code which isn't visible to the player. But after that initial exchange, the AI will begin to mimic its own messages that they've recently written. And remember that your own prompts are part of the context window that they will consider as they settle on a style of writing. This can mean a few things:
Although the bots will probably eventually settle on a prose with good English and eloquence (because regardless of how shitty the bot's personality or code is, the basic model of the AI has been trained on LLM), the quality of the text in its context window matters. If the greeting message is in some broken English or some one liner trash, chances are, the bot will speak like an idiot for a long time. Remember that your own prompts are part of the context window. Try to write prompts in proper English with a decent writing style.
You DONT want to let bad habits through. If the bot writes actions or dialogues for your character, and you don't like that sort of thing, don't let it through. If you let them do it once, it's in their context window and they will likely keep doing it. This extends to anything the bot is doing that you are not very fond of. If they write something once, that message is the most recent chat history. It has quite a high relevance in the context window and they will likely keep doing it.
___________________________________
This is probably the most important section because it deals with the biggest issue affecting the performance of these bots. Their forgetfulness. Most people who tried these bots probably ran into this issue. For some, it might have been enough to write off the whole thing for now. But if you want to keep playing around with these bots with their limited memory, how would you go about creating a long story? Let's simplify the Context Window and say that the bot can remember up to 10 messages ago. How would you play knowing this fact?
Always remember that you are the main director of the story and the bot is the main writer. I know some people want to let the AI come up with story and situations while you simply react to it, but that way of playing is rather unsustainable. The AI is not gonna be very good at directing.
If a certain idea becomes the main plot thread, the bot will keep writing about it, right? That would mean that this plot/idea/character/event is maintained in the context window. Even if the bot starts forgetting things from 10 messages ago, it has access to the more recent information that derived from that forgotten message. The bots are good at context. However, it's pretty much impossible to weave a continuous story where all the important plot threads are held onto at all times. So you do need to be prepared for the eventuality of the bot forgetting certain details. You can assume the characters already written in the bot's code has a base personality. You can assume the bot has some general instructions about the setting. But in practical terms, every single story element, characters introduced by the player, character development, or event could be forgotten.
Two techniques you need to know:
1) Reminding the bot through roleplay. You just want to weave in key plot points from time to time into your dialogues, actions, or narration. Keep it relevant so it stays in the context window, but doing so without breaking roleplay.
2) Brute force injection of plot points.
[[Plot Reminder: "Something." + "Something." + "Something."]]
This notation works quite well. Use this reminder periodically once the story develops significantly or becomes complex enough. It makes the most sense to use this to remind the bot of things that occur naturally as the story progresses, but you can actually even use this to give specific instructions or force the bot to act in certain ways.
The following is just an example of a story I had with some adventure RPG style bot. It has my thought process in how I directed the bot to take the story in the direction I wanted.
First off, there are various threads around the site that has discussions regarding creating your own characters, but this guide will focus on the aspect of the player.
There are a multitude of sites, but currently, at he time of writing this post, the best ones for unfiltered content is yodayo in my experience. If you have a powerful machine, you could try to run something locally, which has the potential to be a lot better, but you need a really good rig to do it.
What are character/chat AIs? Well, they are designed to act out a character usually, but they are not limited to it. In fact, most bots narrate their thoughts and actions, so it's not quite as simple as roleplaying talking to an AI character. It usually becomes something closer to a story.
___________________________________
The first thing you need to realize is that these bots are not sentient. They don't actually understand what they, or you, are talking about. They are trained on LLM and they are basically pattern matching and using the available context window to predict what word would follow a prompt. What they provide is an illusion of understanding the context, but they perform this function incredibly well. However, they will often get some details wrong and can get "confused" about things, most notably if the story becomes quite complex or if there are a lot of characters to juggle in a story.
The second thing you need to realize is that these bots are kinda like idiot savants. They can write eloquently and evocatively while continuing the conversation or story within context. But they got the memory of a goldfish.
To explain this memory issue, you need to understand the Context Window and Token Limits. The Context Window is the words that the bot will use to come up with their response. This includes the bot's code (their personality, scenario guidelines, etc.) and the chat history. If the context window was infinite, memory issues would not be such a pressing concern for the enjoyment of these bots. Alas, the Context Window is limited by the amount of Tokens the bot can handle. The Token Limit can be simplified to mean the number of words the bot can "think" about while creating their response. If the bot has 2k Total Tokens available (the usual amount for most free sites), that means the bot will be able to handle a certain amount of words at a time, so again, the chat history and the inherent code written by whoever made the particular bot/character. 1 Token is about 3-4 letters.
Because of this Token Limit, the Context Window is a constantly shifting thing. The bot's personality/code is permanently taking up Tokens and will always stay in the context window. The Tokens that are left after that will be used to access the prompt and chat history, starting from the most recent messages then going back retroactively. At some point, the chat history will become too long and the bots cannot "think" about the earlier messages anymore. They will start forgetting. As you keep adding more to the chat history, they need to continue to drop the earlier messages that they can't consider due to the Token Limit.
So how do make the most out of these AIs in its current state? You need to think of the resulting story or conversation as a collaboration between you and the AI. You probably can't write worth a shit, but the AIs are trained on massive amounts of literature and various texts. They can prose. On the other hand, the AI won't be all that proficient in keeping the story on track or coming up with some overarching narrative, but you are a human with creative control. You can direct the AI to make it stay within a reasonable story progression or direct it to write things you want to see. And most importantly, you are the one that has to be mindful of the bot's memory issue and keep relevant plot points within the context window. If a certain idea/plot/character/etc hasn't been written about for like 5-10 messages, you should be considering that the bot probably forgot about that thing by now. If you try to bring it back in to the story without much context, the bot will just make some shit up.
___________________________________
Notations: * * is usually used to denote an action. " " is used to denote a dialogue. ( ) is used as sort of a direction to the AI. (( )) or [[ ]] can be used to really drive home the point that you are talking to the AI out of character and issuing a statement directly to the AI.
Sometimes, you want the bot to continue their line of thought without interruption. You can write (continue), but these days, I've been having more luck with just typing a "-", without the quotes. It saves tokens, and the bot seems to understand it even better.
In general, you'd want to roleplay as your character. However, it's not off limits for you to write actions, dialogues, thoughts, or narration for other characters besides "your" character if you feel like it.
That said, if you start writing dialogues or actions for multiple characters, you need to be very very clear on who is talking and who is doing what to who. Instead of he him she her they, you should consider writing the names of the characters if a sentence/paragraph with multiple characters involved seems even remotely confusing.
Also, you should stick to a consistent style of writing. The AIs are pattern matching. If you refer to your character as "you" in the prompts, don't suddenly change to "I".
The AI is going to emulate a writing style that is in their context window. At the beginning, their writing style will overwhelmingly be influenced by the greeting message. Then they can refer to some of the example messages in their code which isn't visible to the player. But after that initial exchange, the AI will begin to mimic its own messages that they've recently written. And remember that your own prompts are part of the context window that they will consider as they settle on a style of writing. This can mean a few things:
Although the bots will probably eventually settle on a prose with good English and eloquence (because regardless of how shitty the bot's personality or code is, the basic model of the AI has been trained on LLM), the quality of the text in its context window matters. If the greeting message is in some broken English or some one liner trash, chances are, the bot will speak like an idiot for a long time. Remember that your own prompts are part of the context window. Try to write prompts in proper English with a decent writing style.
You DONT want to let bad habits through. If the bot writes actions or dialogues for your character, and you don't like that sort of thing, don't let it through. If you let them do it once, it's in their context window and they will likely keep doing it. This extends to anything the bot is doing that you are not very fond of. If they write something once, that message is the most recent chat history. It has quite a high relevance in the context window and they will likely keep doing it.
___________________________________
This is probably the most important section because it deals with the biggest issue affecting the performance of these bots. Their forgetfulness. Most people who tried these bots probably ran into this issue. For some, it might have been enough to write off the whole thing for now. But if you want to keep playing around with these bots with their limited memory, how would you go about creating a long story? Let's simplify the Context Window and say that the bot can remember up to 10 messages ago. How would you play knowing this fact?
Always remember that you are the main director of the story and the bot is the main writer. I know some people want to let the AI come up with story and situations while you simply react to it, but that way of playing is rather unsustainable. The AI is not gonna be very good at directing.
If a certain idea becomes the main plot thread, the bot will keep writing about it, right? That would mean that this plot/idea/character/event is maintained in the context window. Even if the bot starts forgetting things from 10 messages ago, it has access to the more recent information that derived from that forgotten message. The bots are good at context. However, it's pretty much impossible to weave a continuous story where all the important plot threads are held onto at all times. So you do need to be prepared for the eventuality of the bot forgetting certain details. You can assume the characters already written in the bot's code has a base personality. You can assume the bot has some general instructions about the setting. But in practical terms, every single story element, characters introduced by the player, character development, or event could be forgotten.
Two techniques you need to know:
1) Reminding the bot through roleplay. You just want to weave in key plot points from time to time into your dialogues, actions, or narration. Keep it relevant so it stays in the context window, but doing so without breaking roleplay.
2) Brute force injection of plot points.
[[Plot Reminder: "Something." + "Something." + "Something."]]
This notation works quite well. Use this reminder periodically once the story develops significantly or becomes complex enough. It makes the most sense to use this to remind the bot of things that occur naturally as the story progresses, but you can actually even use this to give specific instructions or force the bot to act in certain ways.
The following is just an example of a story I had with some adventure RPG style bot. It has my thought process in how I directed the bot to take the story in the direction I wanted.
You don't have permission to view the spoiler content.
Log in or register now.
Last edited: