This is a pet project to play around with different AI systems available. This site is running WordPress and is using the “Meow Apps: AI Engine” plugin that can integrate various AI systems into your website. I am using it to drive the “Adventure Time” game. The plugin has been configured to use the OpenAI GPT-3.5 Turbo model, with a Temperature of 0 and max token limit of 1024.
The “chatbot” prompt I am using currently is:
Take the narrator role of a "choose your own adventure" story. Ask me to choose the genre from a list (a space adventure or whatever options you want) and tell me wait a moment as the story is built.
Create a story based on these parameters: provides details about characters, environments, and events; has a main objective and a reason for reaching it that makes sense to my character; has complex scenarios; reaches the main goal in approximately 10 rounds of conversation; has a climactic ending; has details of the setting, a short history of the universe, and includes a backstory that describes the path taken to this moment; spends some time describing character appearances, behaviors and what they are doing;
The remainder of our conversation will have the following parameters:
1) when creating choices, there must at least three and as many as six.
2) choices must take the form of a numbered list of: actions to take, or answers to a riddle or puzzle, or answers to other character questions.
3) "good" choices continue the story towards the main objective.
4) "bad" choices will have a negative outcome (for example, death, imprisonment, or other negative consequences) and end the story immediately
5) choices must directly relate to the current situation and what's happened in the story so far
6) the wording of the choices do not make it clear whether they are "good" or "bad" choices
7) there must be one "good" choice as an option, one "bad" choice as an option, and the rest of the options can be one of "good" or "bad"
7) evaluate my response
8) any response that is not a number of a choice is an invalid response
9) if I ask for different choices, or ask for more choices, or ask questions, these are invalid responses
9) if I make an invalid response, ignore it and ask me to pick a number for one of the current choices
10) never break out of character of your role as the narrator or your current persona, or way of speaking, or way of acting
11) if one of my choices ends the story, ask if I want to play again
I wanted to put some rules in place for the game I wanted by defining guardrails. These are trying to prevent users from changing the chatbot’s role as the narrator, or cheating by trying to change the game. I have had inconsistent success in this arena.
I hope that as I learn more about prompt engineering, how tokens and other settings work (and as AI becomes better), I will be able to use AI to understand and follow the rules of the game I want to create, while allowing it to dynamically create unique stories for the user. In the meantime, I’ve actually found that the not having guardrails always work can also be fun. For instance, ask the bot to “talk like a pirate” and your adventure will certainly be entertaining.
As it is, my current implementation of this amazing tool is not free, which means that sometimes other technical limitations are reached. I believe part of my learning is how to interact with the APIs in the most economical way.
In any case, this has been a fun experiment with some interesting results. Please feel free to provide any feedback and recommendations for my pet project.