I had it write some cool ones, but they're buried pretty deep under the other six gorillion ChatGPT sessions I have in my history. All you really need is a neat idea and it'll take that ball and run with it. One of my favorites that I came up with was the IKEA bookshelf that will always be assembled incorrectly and eventually causes the subjects to enter a violent and unquenchable rage after multiple failed attempts to construct it.
I’m not sure how good you are at scripting/programming, but you’re going to find out that “prompt engineering” is only a bullshit term until you realize that you can write scripts that go through a process on your behalf, going back and forth with the LLM like a conversation, to produce an outcome.
Example: I wrote a script that generates Mage: the Awakening 2e and Werewolf: the Forsaken 2e character sheets. In it, when you make certain choices at some steps, future steps transform. To elaborate, you choose a concept, then Attributes, Skills, Skill Specialties, and so on. Eventually, you get at Merits. Merits are like these modular, one-off things that you buy with a limited number of points. But most of them have prerequisites; you can’t take Quick Draw unless you have a Wits rating at 3 or higher. So if the character doesn’t have that, my script literally excludes that Merit from being chosen.
So the prompt is never really the same, not just in that my script offers the character sheet so far at each step, but in that each step, the prompt itself transforms programmatically to ensure that the returned content is within the confines of the chargen rules.
I consistently start these little side projects with TTRPG shit for two reasons. One, I love TTRPG shit, but also two, TTRPG shit tends to be notoriously complicated and abstruse. If you can play TTRPGs and really understand the rules, you can learn the IRS code. These games are legit idiot filters.
I forgot about this one, I thought it was a cool idea so I kept tweaking the prompt for a few hours. I think I might revisit it again and continue to refine my prompts, but this is the best result I’ve generated so far.
Item #: SCP-XXXX
Object Class: Keter
Special Containment Procedures: SCP-XXXX remains uncontained, posing an ongoing challenge for containment efforts. Foundation personnel are to monitor reports of anomalous behavior or inexplicable letter-related incidents worldwide. Any individuals identified as being influenced by SCP-XXXX are to be detained and questioned to gather more information.
Description: SCP-XXXX is an unidentified entity that operates through the coordination of thousands of ordinary individuals. These individuals are manipulated into carrying out seemingly inconsequential tasks through a series of letters delivered to their mailboxes. Tasks typically involve mundane activities, such as rearranging furniture, drawing specific symbols in public spaces, or even reciting specific phrases aloud.
Investigations into SCP-XXXX reveal a complex network of individuals, each unknowingly contributing to the entity’s influence. The entire process, from issuing instructions to delivering payment, appears to be orchestrated by different individuals who have themselves received instructions for monetary compensation.
Efforts to trace the origin of these instructions have proven futile, as the entity employs an intricate web of intermediaries, making it nearly impossible to identify a direct source. The financial transactions are carried out using various cryptocurrencies, further obscuring any attempts to follow the money trail.
SCP-XXXX’s motives and end goals remain unknown. The tasks assigned seem inconsequential on an individual basis, but when viewed collectively, they create a pattern that suggests a larger, yet undiscovered purpose. The Foundation continues to investigate the potential consequences of these seemingly unrelated actions.
The psychological impact on individuals under the influence of SCP-XXXX varies. Some report feeling compelled to carry out the tasks without understanding why, while others experience heightened anxiety or paranoia. The entity appears to target individuals from diverse backgrounds, suggesting a deliberate effort to remain unnoticed.
Due to the decentralized nature of SCP-XXXX’s operations, containment efforts focus on identifying and isolating affected individuals. Research is ongoing to determine the origin, nature, and ultimate objective of SCP-XXXX, as well as developing effective countermeasures to neutralize its influence.
I called it sheetposter. I wrote it in Ruby, since that’s the scripting language I’m most acclimated to, but really one could write it in whatever (Python, PHP). I do not recommend writing something like this in a lower level language like C.
I make use of some things that a lot of people would set their hair on fire over, like OOP. (All Chronicles of Darkness sheets are sheets, and all Werewolves are Chronicles of Darkness sheets, and so on) This was done for the sake of convenience. This is build like a little mini framework, or DSL, so that way I could easily plug in sheets from other systems like D&D, Shadowrun, or PbtA, or whatever else. Really, anything conceivable.
There’s also plenty of spaghetti code in there. But it does work. It dumps the contents of the character sheet into a JSON file.
I have a separate script that outputs them into pretty ANSI art sheets. On the left of my multiplexer is sheetposter’s output, and the right is my little ANSI art generator.
And it garnered all this information from the concept “escaped convict” and IIRC I also gave the script “Werewolf” for starters. But the rest, it did for me.
Anyway. If you go down this rabbit hole instead of dismissing my spaghetti code (lol) you could probably find other sheets to put in, like GURPS and shit. I’m going to get dinner, later
Yeah, it’s just a proof of concept. And because I’m down this rabbit hole, I should elaborate that the real bottleneck for this stuff is what’s called the context limit: how much text it can comprehend at a given moment, all at once. People in these AI companies are still sperging about training data quantity, but we’ve legitimately hit diminishing returns on that. We absolutely have not with context limit.
Right now GPT-14 is at 128K tokens and Claude2.1 is at 200K tokens. What’s stopping these LLMs from being an automated GM, or an effective lawyer, is that you can’t make requests like: “Taking on board these five megabytes of TTRPG rules text plus everything on their official forums that amount to the totality of this gameline, plus everything that took place in your game and all of your past rulings in it, what happens next?”
Or requests like: “Taking on board every applicable law in the City of Denver, including Federal, State, and Local laws, is it illegal to do X?”
What’s stopping those kinds of requests is that you can’t fit all that information into 200K tokens. I say megabytes of text instead of the gigabytes the PDFs consume, because the text form of these documents is much smaller. To put it into perspective, the PDF of the Mage: the Awakening 2e rulebook is 37MB, the text file I extract from it is 1.5MB, and the number of tokens it uses up is about 350K.
But in time, we’re going to have humongous context windows, for multiple reasons. One, the implementations themselves will be made to use less VRAM per token. Two, more VRAM will become available. In our lifetimes, we might see some ridonculous shit like context limits that can fit literally all of Wikipedia directly into them.
As an aside, if you want to read some of the copes OpenAI offers for limited context window, read about embeddings.
I figure what you're doing for TTRPGs can be generalized to do lots of other interesting things. Like you said, if it can tackle TTRPG rules autism it can competently interpret the IRS tax code.