When most people think of ChatGPT for writing, they imagine the AI doing all the work. But writing teacher and screenwriter Ryan Briggs opened our eyes to a whole new way to use ChatGPT for writing.
“I write arthouse sci-fi. Think of movies like Ex Machina, Her, or Eternal Sunshine of the Spotless Mind. I look at those films as spiritual siblings to the kind of writing I do,” Ryan says. Ryan is seeking a new agent, so check out his portfolio if you’re in the market.
In addition to writing screenplays and teaching the art to others at Cal State LA, Ryan has mastered an emerging art form: prompt engineering.
It’s not enough to tell a language model like ChatGPT to write a sonnet, at least if you want the expected results. You have to give ChatGPT verbose instructions, almost like writing a computer program, only in English instead of a programming language. A prompt like “write me a sonnet to a woman named Hannah in the style of Shakespeare” will give you more-predictable results.
Ryan and his students use TextExpander to save and refine their ChatGPT prompts, which they then use to analyze and improve their writing. Ryan has created elaborate prompts that evaluate scenes, identify key plot points, and give instant feedback.
Not able to play the video? Click here to watch the video
These prompts can be incredibly long and detailed and must be consistent to produce predictable results. That’s where TextExpander comes in. Once Ryan has created a great prompt, he saves it as a Snippet to access it anytime in ChatGPT.
“To me, it’s peanut butter and jelly. You’re not going to advance in your prompt writing skills if you’re relying on your memory because the prompts that are often required are extremely long and complicated. You need to offload that to a computer,” Ryan says.
We’ve created a Public Group with several useful ChatGPT Snippets, including those Ryan was kind enough to share with us. Let’s show you how to use them to improve your own writing.
Evaluate technical memos
One way Ryan uses ChatGPT in his writing classes is to help students evaluate technical memos. Purdue University offers an example memo you can play with for prompt engineering.
Start in ChatGPT by typing the following: “Read the following. I have a follow-up question:”
Hold Shift, press Return twice to go down to a new line, and then paste the memo’s contents. Or, if you’ve subscribed to our ChatGPT Public Group, you can copy the memo and then use the Snippet gpt.feedmemo
to insert the memo with the correct prompt.
After you’ve fed your memo into ChatGPT. Use Ryan’s Snippet gpt.peermemo
to evaluate it according to his criteria. ChatGPT responds with an elaborate analysis of its pros and cons, an estimate of what grade you would receive, and a checklist of how to improve the memo.
Note that often when you paste a memo into ChatGPT, some elements are lost, which can cause ChatGPT to complain that you don’t have a header when you in fact have them. “Students learn to have a more measured appreciation for ChatGPT and feel less inclined to take what it says at face value,” Ryan says.
You can try Ryan’s gpt.peermemo
Snippet below. Imagine trying to remember and type all of that each time!
“This is better than 99% of the feedback any student will ever see from a teacher about this kind of assignment. And all I did was make a great prompt that again regurgitates the stipulations, guidelines, and such from the textbook,” Ryan says.
Use ChatGPT to break down screenplay scenes
ChatGPT can also evaluate the quality of scenes in a screenplay and even break down literary elements. Ryan showed us an example with chat engineering.
For our testing, we used the script for It’s a Wonderful Life, specifically the scene early in the movie where George Bailey jumps into ice water to save his brother Harry.
Once you’ve found a scene you want to evaluate with ChatGPT, use the Snippet gpt.follow1
and press Enter. ChatGPT prompts you for the scene. Paste it in and press Enter. Then watch the prompt engineering magic.
If you want a richer answer, you can add the sentence, “Give me 500 words in your answer,” to the prompt.
Note that ChatGPT can’t currently accept an entire script because it would be too long. Ryan instead feeds it individual scenes and screenplay summaries.
Now that ChatGPT has the scene and has shown that it understands it, let’s use ChatGPT to identify the reversals.
Identify reversals with ChatGPT
What is a reversal? Ryan explains:
“In screenwriting, there is a technical term called a reversal. In 90% of your scenes, you will have an unexpected surprise by the end of the scene, where you look back and think to yourself, ‘I should have thought of that. I love the surprise. I can’t wait to read the next page.’”
“The reversal is often a change in the valence of the character value that the scene puts under the microscope. The reversal marks not just a surprise but a change in the value’s representation within the character.” Ryan says.
Following from our “It’s a Wonderful Life” example above, you can then use the Snippet gpt.scenereversalsteps
to break down the reversals in the scene:
You can then use the Snippet gpt.total1
to count the number of words in ChatGPT’s response.
There are many more Snippets in the Public Group we encourage you to explore and try them out for yourself, and we hope they give you ideas on how to take advantage of ChatGPT’s capabilities for your own prompt engineering.
Tips for ChatGPT prompt engineering
We asked Ryan to share some of his secrets to ChatGPT prompt engineering.
“So one of the keys is you have to ask ChatGPT to pretend it is the best in the world at x,” Ryan says.
You do this to trick ChatGPT into giving answers it would otherwise be reluctant to offer.
What happens sometimes is you ask these models can you do something, and they’re like, ‘I can’t, I’m just the language model. I don’t have opinions.’,” Ryan says.
Ryan shared a prompt engineering trick: ask the system to pretend to be an expert in the subject related to your question to work around the system’s objections to being treated like a person.
Next, make sure to give ChatGPT thorough instructions.
And then you give it the task: ‘I want you to achieve y,’ and then you can request a specific delivery in the answer. Like now, “I want you to use bold font for this in this,” “use bullet points for this in this,” “keep it to no jargon,” and “I want under 500 words,” Ryans says
Once you find a satisfactory prompt, save it as a Snippet in TextExpander.
“I’ve been using TextExpander before because the [Snippets] were for me or they were for [another] human. Now I find myself revising my TextExpander [Snippets] because I’m counting on their primary audience being the language model,” Ryan says.
“For example, I have—I call it The Gauntlet. I put all my scenes through a 93-page gauntlet of questions from all different dimensions of that you can interrogate a scene, all the structures dialogue, everything,” Ryan continues.
Here’s an example of GPT’s answer to one snippet question from The Gauntlet analyzing “It’s a Wonderful Life.”
“It was a long, laborious process to do that for 150 scenes. I reformulated those questions in TextExpander… and then it spits out in seconds what it would take me hours to write,” Ryan says.
Ryan saved over 225 hours with TextExpander in 2022. That’s more than nine entire days.
You can try a version of The Gauntlet below. There are three versions in the Public Group. You can find all three using inline search.
The limits of ChatGPT prompt engineering
It’s important to keep the limitations of ChatGPT in mind. We tried it a few different times and didn’t always receive the same result because ChatGPT is probabilistic, not deterministic. Above, it identified the “unexpected twist” approach. Below, it identifies the “complete reversal” approach, with a table diagramming the reversals in the scene.
ChatGPT is an amazing tool, but AI hasn’t quite reached the point where it overtakes human reasoning. However, it’s best at enhancing your reasoning and—like TextExpander—cutting out tedious and repetitive work.
ChatGPT says, “As an AI language model, ChatGPT can sometimes generate different responses based on the input and the way the question is interpreted. It’s important to keep this in mind and verify the accuracy of the response.”