11 minute read

I love Ethan Mollick’s ‘Jagged Frontier’ concept with LLMs. We don’t exactly know what LLMs are great at, and what they are bad at — yet. To figure this out, we should experiment with LLMs as much as we can — and ‘bring’ them to tasks we do on a regular basis. With that as inspiration, I wanted to see if I could author a children’s book using ChatGPT. Here are the general rules I wanted to follow:

  • Only ChatGPT can be used. No other AI / LLM tools
  • The book should have an illustration for each page
  • The book should tell a relatable life-lesson through the eyes of the worm
  • I should complete it in under 2 hours
  • I should be thoughtful about the initial prompt, but not overly so. I should generate a reasonable first prompt within 2 minutes
  • I should work with ChatGPT to refine the story as I see fit (e.g some back and forth) — to get to a final product I’d be proud to show my kids.

TLDR

If you just want to see the final product, here it is. If you want to learn about the iterations, read below.

First Prompt

Here’s the first prompt I used. The life lesson is from Kevin Kelly’s book, which is a good read if you’re looking for some life inspiration.

I want you to help me write a children’s story. Here are some details:

  • The main character should be a worm named warren
  • The book should be around 15 pages long.
  • Each page should only have 3-4 sentences on it.
  • The book should be around the life lesson: ‘Don’t measure your life with someone else’s ruler.’
  • The book should tell the story from the perspective of the worm
  • The book should include other worms, and should mostly involve the worm being on the sidewalk.

I want you to:

  1. Come up with a plot scaffolding
  2. Fill in the plot with detail
  3. Challenge yourself to make the book more interesting and relatable, and revise it
  4. Produce a final draft that you’d be proud to publish

Initial ChatGPT Response

With the above, the initial response was quite good — particularly for the task to build the plot and fill in details before building a final draft. Providing step-by-step instructions and breaking tasks apart for an LLM seems to provide better results. Here are some segments of that first response:

Setting and Characters

  • Setting: The sidewalk, a common place for worms, especially after rain.
  • Main Character: Warren the Worm, a curious and slightly self-conscious young worm.
  • Other Characters: Various other worms with different traits and talents, some passerby insects and animals that interact with Warren.

Core Plot

  • Warren often feels ordinary and compares himself to his friends who seem to have special talents or appearances.
  • He encounters several worms and creatures, each showcasing something unique about themselves.
  • Warren tries to mimic others but fails to find satisfaction or success.
  • A wise old worm shares wisdom about individuality and measuring one’s worth by one’s own standards, not by comparing with others.
  • Warren learns to appreciate his own unique qualities and finds happiness in being himself.

ChatGPT also had some decent ideas for the task of making the story more interesting and relatable:

Step 3: Challenge to Make the Book More Interesting and Relatable

  • Add Interactions with Other Creatures: To make the story more engaging, Warren could also interact with non-worm characters like a kind beetle, a busy ant, or a wise old turtle, who each share their own perspectives on individuality and uniqueness.
  • Include Illustrative Scenarios: Visual descriptions of Warren’s attempts and the environment, like the details of the sidewalk, the texture of the soil, or the hustle and bustle of insect life around him.
  • Humor and Playful Language Use playful language and humorous situations to lighten the narrative and make it enjoyable for children.

The final draft from the first prompt was also pretty good. I probably could have gone with it, but wanted to change a few things.

Revisions - Back and forth with ChatGPT

In the initial draft, there were a few things I wanted to clean up:

  • One ‘good skill’ another worm had seemed a bit (he ‘shined his skin well’).
  • The life lesson around measuring life with someone else’s ruler was written too explicitly (it used the exact words)
  • I wanted to make some of the pages a bit longer / more detailed.

I used this prompt to revise:

Can you add more detail to each page, and make the point about measuring your life with someone else’s ruler less explicit? I don’t want you to just write that. Also, can you choose a different skill than shining the skin?

ChatGPT made some good revisions. Adding more detail resulted in more complex language that might be hard for kids to understand. Overall, it added a bit too much ‘fluff’ (e.g. words like ambitious, legendary, intricate). I also wanted to change the good trait that it highlighted about Warren. Here’s the prompt I used to revise:

Can you use simpler language so that children will understand? Also, can you choose a different trait besides laughing for warren the worm

This made the language too plain. I wanted to find something in-between:

Can you make the language maybe a bit more interesting? It is too simple now

Then, the ending of the story seemed a bit abrupt, so I asked it to change the ending up a bit

Can you add something else at the end that reinforces the idea that everyone is unique, and that uniqueness is what makes the world fun?

After these revisions, the draft was pretty good! I decided to go with it. The above all took about 10 minutes total. Next, I moved on to building the illustrations

Building The Illustrations

The first prompt I used to build the illustrations was:

Can you add a picture for each page? I want the pictures to be simple and stick figure-ish

In hindsight, I probably should have been more descriptive. The first image wasn’t terrible, but it also had a bunch of cars and weird rocks in it:

I started working to revise the image with a few prompts — each time ChatGPT generated a different version. ChatGPT had some trouble removing the cars initially

Can you remove the cars from this one, and then create images in the same style for the rest of the pages

There are still cars in the above picture. Please make sure warren is on the sidewalk

Once I was satisfied with the first image, I tried to get ChatGPT to generate images for all of the pages:

Yes, please create images for the remaining pages in the same style

ChatGPT only wanted to generate images one at a time, and wanted to confirm that I wanted to proceed before moving forward. It also generated some pretty poor images, with words and chat bubbles that didn’t make much sense

I tried to work with ChatGPT to revise the image with prompts like the following:

Can you revise the above image to make bella look more like a worm, and remove the chat bubble from Warren

ChatGPT often had difficulty removing the words and chat bubbles, but with some persistence, you could get it to work. At this point, I realized I wanted to revise two aspects of the story as well (one that I had created in the initial prompt about living on the sidewalk, and one that ChatGPT had decided was a part of the story — lots of pebbles everywhere)

Can you alter the story so that the worms live near the bustling side-walk, not on it

Can you write the story out again with the following changes: There are no pebbles on the sidewalk

It also became clear that the images were going to have inconsistent styles and characters, which makes sense given how the technology works. I am sure there are other tools out there to help solve this problem, but I wanted to stick with ChatGPT. I tried the following prompt, to see if it would help any:

Can you do the following:

  • Generate an image for each page in the book
  • Make the image playful but simple, like a kid drew them
  • Generate all the images at the same time and in the same style

No dice, and lots of made up words!

From here, I used the following prompt, and things started moving along nicely:

Can you generate them one at a time now?

I started getting a few good images for the pages. Sometimes it did well, and sometimes, not so much. About half the time, I ended up with stuff like this, and had to keep asking to generate the image in a different way:

It was tough to get ChatGPT to avoid using words in the image. I tried a bunch of prompts like this:

Can you try to generate the image of page three again, in the same style as page 1 and 2. Try to avoid adding any english text, and please try to make the style of the image as similar as possible to 1 and 2

I then realized that you can ‘edit’ an image within ChatGPT. You can select a part of the image, and then ask ChatGPT to change something about that part. Highlighting the area of text, and asking to remove it, worked about half the time.

I realized there was going to be very little chance to make the images consistent across pages (e.g. same characters, same style). To try to stick within the constrained 2-hour window, I made the decision that my book would have to deal with this limitation. I’ll follow up to let you know if my kids cared.

Another issue was that sometimes ChatGPT went off the rails, and did things like create a worm with two heads. Sorry, this is too weird for me:

ChatGPT also interpreted some concepts too literally. When Warren’s tunnels looked like ‘scribbles’, ChatGPT really wanted to ensure a pencil was involved in the scribbling

It took a lot more time to create images than it took to create the story. It got stuck for a bit around page 11. I just couldn’t get it to generate an image I liked for a while. It struggled with avoiding chat bubbles, specifically for pages where there was quoted text from a worm. It had trouble making the ‘old wise worm’ an actual worm, and not a human being. To deal with the stylistic inconsistencies across pages, I tried to re-attach an image from a previous page, and asked ChatGPT to maintain the same style

Please draw it with a style more like this picture

Eventually, I hypothesized that maybe the ChatGPT conversation was just too long as this point. ChatGPT was possibly confused by the volume of back-and-forth. No idea if this is right, but I tried something different in an effort to generate the last 5 images. I create a new ChatGPT chat for each of the images I wanted to generate, with the following prompt:

I have written a children’s book with your help already. I want you to behave as a remarkable children’s book illustrator, and help me generate illustrations for a few pages. Here are some more details:

  • I have an example image of a previous page, I want you to maintain the same artistic style in the image you generate. I will attach that image to this prompt.
  • I will post the full text of the book below. I will annotate the text with the tag FULL_BOOK_TEXT. The tag will appear right above the text.
  • I will post the specific sentences that I want you to draw an illustration for. I will annotate the text with the tag TEXT_FOR_ILLUSTRATION. The tag will appear right above the text.
  • I want you to give me 3 different options for the illustration.
  • I want you to ensure that there are no words or text bubbles in the illustration.

This started to work pretty well. For most of the images, it gave me an acceptable image on the 1st or 2nd try (I might have also had a lower bar for success at this point). It wasn’t great at providing me three separate options, but did well at avoiding chat bubbles. I was able to cruise through the final images and complete the book.

Final Thoughts / Take-Aways

So what did I learn from this?

  • This was actually pretty fun to do. It felt a bit like a game to get it where I wanted it to be
  • Detailed prompts with sub-steps worked better than less detailed instructions and prompts
  • Building consistency in images via ChatGPT seems tough. If I were to do this again, I’d probably look for a more specialized tool
  • Image generation (e.g. Dall-E) seems to like making up words, and doesn’t like excluding them from images
  • You need to treat ChatGPT as a creative partner, not something that provides the right answer the first time. Lots more about this in Mollick’s book
  • Starting over with a new ChatGPT chat, and more specific instructions on how to generate images, seemed to perform a bit better than the longer thread
  • Worms can teach us lessons too

I’m eager to continue exploring ways to use LLMs. Hopefully this is inspiration for someone to just try something out. Despite this being a somewhat silly applications, I learned a few things. I’m sure you will too if you just dive in.

Updated: