Disclaimer: This text is written purely by human beings.
It may sound funny, but this kind of disclaimer might be necessary in the future and GPT-3 is one of the reasons why.
What it is?
GPT-3 is a language model released by the company OpenAI’s that has the ability to generate natural language texts that can be remarkably hard to distinguish from human-authored content. Although this model cannot be accessed by anyone, as a part of the course Service design workshop, we had an opportunity to interact with it and to witness its power.
With knowledge of the TV series Black Mirror, we approached GPT-3 with caution. It is a powerful tool, and it is capable of changing human lives. Question if for better or worse is up to us. Every designer should think about the consequences his product has on the lives of humankind.
This language model read almost the entire internet in 2019. That means it gained not only strong knowledge about kittens but also some biases and prejudices. And by using our GPT-3 powered prompts, we can unconsciously spread these incorrect mind settings further in society. For example, a human’s most favorite animal is a dog. But which animal is the most popular for single women in their fifties? Of course, it is a cat. That can be true for some women in this demographic group, but certainly not for all of them.
The text GPT-3 produces is, as mentioned, indistinguishable from text written by a human. This attribute can be abused by internet trolls, students cheating in their seminar papers, and more. It is possible that in the future, there will be a disclaimer similar to the one above, that the text you are reading was written by humans.
Continuous automation of certain areas of our life results in job losses. Everyone who produces text can be affected by GPT-3 and other language models. On the other hand, there will be a lot of new jobs created. For example, prompt writers, which is a role we got to try while creating our prompt-powered application. But there will always be some people, who need unspecialized jobs and these people can be in danger of detaching from employed society.
The typical use of the API involves providing a prompt and some initial text to get the model going, along with some optional parameters.
The biggest art of prompting is hidden in the depths of proper language usage, that basically means, that you have to tell GPT-3 what you need, but also give it some freedom to be “creative”. Description is a powerful tool to have on your toolbelt while working with GPT, since it somehow (even devs don’t know for sure how) understands what you need, if you are able to describe it properly. For example: You need a tool to write an abstract of your work, or maybe a paragraph, so you start with: This is a tool for creating an abstract of the given text. After that you provide the text, it is good if “Original text:” precedes it. Then you write “Abstract:’’ and let GPT do it’s magic. In the best scenario, you get a good abstract (you can also limit output length).
Sometimes GPT needs more information to give you the output you want. In those cases you need to show GPT an example or more examples. Given the example of abstract creation you put in “Text: Exemplary text you have with an abstract done” and “Output: Exemplary abstract you have” and then input your text. That gives GPT a better understanding of its task. but you also limit it’s output, because it learns to do the abstract “your way” and tries to mimic it.
There are a lot of possibilities of GPT-3 usages. It can be generating poetry, playing chess, doing arithmetic, or writing web interface code based on requirements expressed in natural language. It is hard not to be impressed with the results GPT-3 provides. However, the fact that it is untethered to the truth implies that some use cases are appropriate and some are not.
Our idea of GPT-3 usage
As an output of the Service design workshop, each team had to create one prototype of the application which uses GPT-3. We as a team (called Parmigiana) decided to design a web application that generates text for high-fidelity prototypes.
While designers are making the prototype of an app or website, they want it to be as realistic as possible so that the stakeholders can imagine the final product. Considering the text that should be used in these prototypes, it can be challenging and exhausting for the designers to come up with long and meaningful texts that match the purpose of the app. And this problem is where our idea came from.
The prompt creation was fairly simple. We started with a basic description of what we need GPT to do: “This is the tool for generating content inside interface prototypes. Based on App and Section topic”. It goes without saying that we gave GPT an example, because it is not an ordinary task to do.
So we asked GPT is separate prompt to tell us something about London Tower and used that in example as follows:
“Section topic: London Tower
App topic: Tourist guide
Generated text: London Tower is a skyscraper in London, United Kingdom. It was designed by architect Norman Foster and built between 1990 and 1994. The tower is 180 metres (591 ft) tall, has 42 floors and is the second-tallest building in the City of London (after the Shard), and the eighth-tallest building in London. It stands on the former site of the Baltic Exchange, which was destroyed in the Baltic Exchange bombing of 1992.”
Then we went through testing to find out that GPT was giving us quite short answers no matter the room we gave it. So we decided to add more examples (one short and one long to be exact), for GPT to know it has space to work it’s magic. Also the second example given was on much more lines than the original one.
The final prompt is quite long, you can see it in the picture below.
We called our app Content generator and its main (and only) use case is to generate the text that matches the topic entered by the user. There are two modes, one generates plain text and the other one fills the component copied from Figma with the generated text. Figma is now the top 1 designing tool which is the reason why we decided to add this feature.
The user flow consists of entering the topic of the app and describing the details of the section for which the text will be generated. It is possible to adjust the length, mood, and randomness of the generated text. (Mood = how formal / informal the text should be, Randomness = creative and random ideas or more typical opinions about the topic). Then, the user clicks the Generate button and here we go! The meaningful text is written in the output field.
We used Figma to make the final clickable prototype (you can try it here). There are added buttons that allows the user to copy or download the generated text or the filled Figma component.
On the final day of the workshop, we presented our prototype and the prompt to our colleagues and got some valuable feedback. We believe that the realization of our idea could result in a very useful and handy tool.
Authors: Natália Bebjaková, Ondřej Řepka, Martina Baláková