Potatoes are like people
Can LLM's be funny? Let's find out!
Published Mar 11, 2024
How can you define creativity or humor if you have to explain it with rules?
It's a simple question with a difficult answer. By joining the PartyRock Hackathon, I've tried to answer this question for myself: how surprising, or funny, can a machine which generated 'most probable next words' be? Is it simply a matter of asking the right question, or is there more to it?
I wanted to test this, so meet my new app:
If you are like me and wondered what kind of potato you are, you came to the right place. Like snowflakes, potatoes are unique too. Not just in shape and size, but color, firmness, taste, ambitions and who knows what more. I thought it would be a fun way to start with prompt engineering.
The idea is based on the dutch site tostiszijnnetmensen.nl (people are like grilled cheese sandwiches), which is a similar concept but more static and non-personalized. It's 20 year later, so we can do better! Right!?
The app taught me in a fun way that (my) humor depends on a certain randomness, that fades away almost completely the moment you give the LLM enough context. The moment you ask it to 'generate a potato to describe person X', it comes up with predictable words or analogies which are just not surprising enough. So I broke it down:
Step 1a: Create engagement. Immerse the user in a world where everything is possible and different each time he or she visits the app.
Step 2: Ask for input to personalize the experience
Step 3: Generate a bizarre scene most of the time that sparks your imagination (sentient potatoes, potatoes going for world domination), or a totally normal 'unfunny' scene (you're a moldy, wet potato).
Step 4: somehow match this bizarre scene to the user input to make it a bit less random. This sometimes adds funniness since sometimes it's quite accurate on its analogies ("Luuk may find humor in envisioning himself as a regal potato monarch amid the mundane realities of his job. A chance to daydream could provide some levity and relaxation for the 30-year-old cloud engineer." - ouch).
Step 5: Since it's the 21st century, we have to make it shareable with a funny image and 2 sentence summary with emoji's.
Total engagement time: few minutes, which is already quite long. Also the amount of reading is too much I think for todays' standards, but hey, it's a start!
Well, no. I struggled with a lot of things. Prompt engineering is no joke. Some examples:
- creating repeatable images that are similar enough to tell a story is nearly impossible. The current partyRock models are 'too random' for images.
- Prompting has a lot of rules and patterns. First provide context, then end with your request. Don't ask to much at once. Try to either break a problem down, or summarize it. Ask it to do things step by step. Etc. etc.
- Passing and filtering proper context between different inputs and outputs is not very transparant. It takes a lot of reverse engineering to understand what exactly is being prompted if you include context from a chat or generated field.
- It's a lot of reading for it to be fun and 'surprising'. It takes a certain audience which enjoys reading to enjoy these apps.
There is more logic and rules to prompt engineering than I'd have expected. But still, there are surprising results to be made! I'm very keen on how new, specialized models are going to revolutionize entertainment.
In case you were wondering, try out or remix the app here:
https://partyrock.aws/u/lux-CC/na0fDaPxy/Potatoes-are-like-people