Adventures in AI Text Generation, pt 1 (of ???)

I’ve been trying my hand at writing with the assistance of ChatGPT and occasionally other tools. Mostly, it sucks, delivering the occasional turn of phrase that I like but not having an understanding of how prose should flow and often eliding the things that are most interesting about a scene. I think there’s promise there — unlike some other authors, I don’t think that AI is incapable of making art by its very nature. If you want to quibble about what “art” is, I’m happy to concede ground and say that AI is (or will soon be) capable of writing things that people want to read.

However, writing with AI is not like writing prose, nor is it particularly like the normal process for editing prose. If you want to write a novel using AI, you need a new workflow, an understanding of the AI and its limits, and a plan from the start to minimize the amount of fighting you end up doing with the AI.

That’s at least partly what I’ve been trying to get a handle on, with the ultimate goal that I put in a tenth of the work to get something that’s more than a tenth of a novel. I don’t think that this is necessarily the future, but as someone who’s a writer by trade, I think it’s something worth trying. I’ve read relatively few reports from other authors, so I’m doing my part to explore the frontiers and report back.

An Understanding of Context Windows

ChatGPT and other LLMs (large language models) have something called a context window. This is essentially the amount of information that the model can “see” at once. For GPT-3, it’s 2048 tokens. You can think of a token as being a word, which is basically correct, though words can split into different tokens, so generally speaking you get fewer words than you have tokens, especially with longer words. This context window includes both input and output, and everything outside the context window gets “forgotten”.

This means that if you ask GPT to write you a story, it will very quickly forget the beginning of the story. This, in turn, leads to inconsistencies, like a character’s hair being first described as brown and later as blonde. Generally speaking, consistency is one of the weak points of GPT’s writing, and one of the places where it needs the most help. There are, however, a few strategies that can be employed to try to get around this.

Adelia is a shy girl with strong inner reserves. She has brown hair, blue eyes, and wears conservative clothing.

This is a reminder for the AI, which can be put at the start of a prompt in order to get it to “remember” things. Regular reminders can help keep it on track, but there are a few issues with this. The first is that the AI will want to weave these things in, and most of the time, that’s not appropriate: we don’t need a description of hair color four times a chapter. The second is that these reminders limit your context window, and right now, context windows are quite small (less small if you use GPT-4, but still limited by ChatGPT if you’re not using the API, which I haven’t moved over to quite yet). I find the tendency to integrate reminded details the worse of these problems, and mostly think that it’s easier to just edit for consistency, especially with stuff like physical descriptions.

Adelia is traveling from Corenth to Madrial, in disguise because she’s wanted by the guard. The prior scene described her getting ready with Dirk and thinking up her new persona.

This is a summary of a previous scene, which works a lot better than feeding the entire previous scene in. You can have GPT summarize the prior scene for you as well, cutting down on working time, but I think at the current level, it’s better to do by hand. Part of the reason for this is that you can focus on what was important. Again, you have to be careful about the AI sneaking elements of the prompt into the prose, and you definitely don’t want a reminder of the previous scene in the prose itself unless you think your readers are idiots.

Mostly, the context window is something that you have to work around. I think right now, with widely available tools, best practices are to prompt it for chunks of text such that prompt and text fit entirely within the context window. This means lots of summarization and reduction in scope, so it’s outputting bite-sized pieces of prose that then get stitched together.

The Summarization Plan

Here’s a summary for a first chapter, using what I have found to be best practices.

Chapter 1
Scene 1a: Adelia wakes up early and goes to the attic, where she takes her grandmother’s spellbook out of its hiding place. She traces the spells, more for comfort than training, steeling herself for the day ahead of her. Today is her last normal day, because when night falls, she’s going into the ancient woods to raise a wizard’s tower from out of the Beyonds. Minimal exposition, show, don’t tell. Scene ends with her putting the book back in a place where she can easily grab it.
Scene 1b: Adelia’s stepmother is cruel to her as she goes about her daily chores. It is utterly mundane farmwork, but we get Adelia’s outlook on it, the majesty, the magic, the stories she spins out of thin air. Along with this come some light ruminations on her place within this world, her exit from it, and her history. She thinks of her father, lost to the sea in the Blood Ocean War. Again, minimal exposition. End scene with bittersweet feelings towards the chores, the chickens, and her childhood she’s leaving behind.
Scene 1c: During the time of day her stepmother is gone, Adelia quickly grabs her pack, her book, and heads off into the woods. She has a route planned out, but it only goes so far until she’s in uncharted territories. The woods aren’t entirely safe. She encounters a moss-wolf and fends it off. Scene ends when she arrives at the place of power, a weak spot where the Beyond can be called, three miles from her home, far enough away that she can find some peace.
Scene 1d: Adelia constructs the tower, using spells to pull it from the Beyond.

There are a few things to note here. One is that I include practically nothing in the way of description, hoping that GPT will fill some of that in for me. Another is that summaries are kept short and to the point, sometimes reinforced with writing advice that I hope will result in better output. I’m not sure how necessary this is, but it does seem to me to help a bit.

At the end of that block, append “write scene 1a” or “write scene 1b”. Because it has the summary of all scenes, it’s more likely to be able to understand the place of each scene within the chapter and the flow of tone, information, and exposition. That’s the ideal, anyway. Let’s take a look at some output.

Output

Chapter 1

Scene 1a:

In the breathless moments before dawn, Adelia rose from her narrow pallet, her sleep-shrouded eyes already filled with determination. She moved softly, each step towards the attic a feather-fall against the creaky wood of the old farmhouse. A rusted key emerged from beneath her pillow, its weight familiar and comforting in her hand.

The attic was a memory-cluttered sanctuary. A mingling scent of dust and age hung heavy in the air. At the room’s heart, beneath a worn tapestry, hid a secret compartment. The key slid in smoothly, and with a satisfying ‘click’, the compartment sprung open, revealing an old book. It was bound in worn leather, its corners frayed from time’s caress, filled with pages stained with ink and generations of knowledge.

Adelia’s fingers traced over the title lovingly, “Annals of the Arcane”, her grandmother’s spellbook. It whispered tales of ancient incantations and forbidden lore, each spell a key to an otherworldly door. She read them, not in search of wisdom, but for solace.

In the silence of the early morning, she whispered the ancient words, her voice soft, almost reverential. They danced in the air, ethereal and potent, weaving an intricate tapestry of strength and courage. A simple reassurance that she was not alone, a reminder of the magic that ran like lifeblood through her veins. She wasn’t practicing the incantations; she was cradling the lifeline they offered.

This day would be different from all others. Once night fell, she would leave her old life behind and step into the embrace of the ancient woods. There, in a realm of whispered secrets and watchful eyes, she would raise a wizard’s tower from the abyss of the Beyonds. The reality of this hung heavy in the air around her, each tick of the unseen clock pushing her closer to the precipice of change.

As the sun began to etch its first golden lines across the morning sky, Adelia closed the book. Her hand lingered on the cover, fingers pressed into the leather like a promise sealed. She slid the spellbook back into its hidden alcove, perfectly positioned for a hasty retrieval.

The quietude of the morning retreated as the world began to stir, pulling her back into the day’s looming reality. The spellbook, a beacon of her future, now lay waiting for the night, and with it, her destiny.

We get some typical problems right off the bat. Adelia treads carefully across the floorboards then grabs a key from beneath her pillow? Those should pretty clearly be in the opposite order. We get no description whatsoever of what Adelia looks like, in spite of this being the obvious place for it (generally speaking, anyway).

There are also a few places where I think the writing is a bit overwrought and too direct, particularly “the spellbook, a beacon of her future”. There are twenty or thirty edits that I would do to make this better, removals of some words to avoid repetition, show don’t tell things, too many metaphors, that kind of thing. I’d move the line about raising a wizard’s tower to the end of the section, rather than having it in the middle, because it’s one of the big things this section is for and shouldn’t sit awkwardly in the middle of it. I don’t think it’s horrible though, and there are lines that I could see myself writing, perfectly serviceable prose in some cases. “She slid the spellbook back into its hidden alcove, perfectly positioned for a hasty retrieval.”? That’s totally fine writing, and works even better if it’s not preceded by laying out the plan.

There are other things I like that I’m not sure are “on purpose”, things like questions that aren’t immediately answered: why is she being silent and secretive, hiding the book away? This is, in my opinion, good writing practice, urging the reader to keep reading in order to find out, which is especially important at the start of that story.

Scene 1b:

Sunrise painted the world in vibrant hues as Adelia stepped out into the farmyard. Her stepmother, a woman with a heart as cold as the northern frost, offered her only a stern glare before disappearing back inside the house.

Each task was a choreography of ordinary life, a dance Adelia had mastered through years of repetition. As she scattered grains for the chickens, her mind found wonder in the mundane. Each peck of a beak, each flutter of feathered wings, was a miracle choreographed by nature itself.

The chickens pecked around her feet, their soft clucks the rhythm to her thoughts. The grain, once simply fodder, became a shower of golden stars in a fable she spun in her mind. Even the chores, under the touch of her imagination, were woven with threads of enchantment and a sense of otherworldly charm.

A low hum of a folksong rose from her lips, the melody threaded with longing and hope. Her heart echoed the notes as her mind drifted towards the shimmering sea. A pang of sorrow caught her as she thought of her father, swept away in the blood-soaked waves of a war not of his making. A man of peace thrust into conflict, lost to a relentless tide.

These memories lived in every corner of the farm, hauntingly beautiful and melancholic, a spectral refrain in the symphony of her life. They whispered stories of courage, love, and loss, tales that shaped her into the person she was becoming.

As the day wore on, the weight of these stories grew lighter, leaving a bittersweet longing for a life she was preparing to leave behind. The chickens, the farm, the chores, they were all threads in the fabric of her existence, vibrant and vivid against the looming dusk. Yet, they were not the sum of her life. There was more waiting for her, just beyond the horizon of her known world.

As the sun set, she watched the chickens return to their roost, a final act in their daily dance. She held the moment close, a picture-perfect snapshot of her old life, a remembrance of simplicity amidst her forthcoming adventure. And with that, she bid farewell to the day, and her childhood, carrying with her a sense of poignant nostalgia that softly hummed like a lullaby.

Here are some more problems, one of them a thing that I’ve noticed GPT does a lot. I say in the summary “It is utterly mundane farmwork, but we get Adelia’s outlook on it, the majesty, the magic, the stories she spins out of thin air” and it says in the text “her mind found wonder in the mundane”. This is bad writing. Show, don’t tell. Certainly don’t make the driving goal of the paragraph into the text of the paragraph. GPT will tend to do this all the time, because it’s the easiest (and worst) way of getting things across to a reader. If you state a character’s motivation in the summary, GPT will have a tendency to just outright include that motivation as part of the text. “Jeff was still heartbroken over his son’s death”, that kind of thing. It’s awful, I hate it, and the only real solution I have is to either edit it out manually or write the summaries more obliquely.

I think there are more problems here than in the first extract. The focus on chickens is kind of bad, since how long does feeding chickens really take? I have fed chickens: the answer is not long. That was the only example I gave though, so it’s what GPT made the whole scene about. It’s a candidate for reprompting with more examples. I also think you can see the issues with the prose itself a little more: ” memories lived in every corner of the farm, hauntingly beautiful and melancholic, a spectral refrain in the symphony of her life” is way, way too much, especially with all the other sentences around it.

Scene 1c:

As the world was lulled into an afternoon siesta, Adelia found her opportunity. Her stepmother had left for her daily visits, leaving the house with a stark quietness that was both daunting and liberating. Adelia moved quickly, with purpose. She snatched her prepared pack from its hiding place and made her way to the attic to retrieve the spellbook, its familiar weight in her hands a comforting assurance.

Her feet, well acquainted with the terrain, moved almost of their own accord, tracing the path into the woods. The trees rose around her like ancient sentinels, their leaves whispering tales of ages past. The path was an old friend, a guide in her youth, now a beacon into the uncertainty of her future.

As the canopy thickened and the world she knew shrank away, Adelia found herself in uncharted territories. The sense of danger was palpable, a gnawing awareness that she was trespassing in a realm that didn’t take kindly to strangers.

A rustle of leaves sent a shiver down her spine. Emerging from the thick underbrush was a moss-wolf, its eyes glinting ominously in the dim light. Heart pounding, she grasped at the spells she had traced in the morning, their comforting patterns a sharp contrast against the impending danger. With a swift motion and a whisper of the arcane, she fended off the creature, sending it whimpering into the thicket.

Though shaken, Adelia pushed on, her fear driving her forward. The ancient woods had claimed many, but she would not be one of them. As the shadows of the evening crept in, she arrived at her destination – a place of power. This was the weak spot in the world, a tear in reality where the Beyond could be summoned.

The place was tranquil, untouched by the ceaseless march of time, with the earth humming a tune of ancient magic. Three miles from home, she was finally in a place that felt like her own. She cast a final look at the path she’d traversed, feeling a sense of calm as the night began to settle in. She was here, on the cusp of the great Beyond, ready to make her mark on the world.

Almost immediately, we have chronology issues, which we really shouldn’t have given that the previous scene should have still been within the context window. What was nightfall in the last scene becomes an afternoon siesta in this scene. Also, I don’t think I would ever use ‘siesta’ in a fantasy novel unless I was pulling in some Spanish influence.

It’s not how I would write it, and some of the output is undoubtedly down to how it was prompted. I would spend more time on preparations and final goodbyes to the house. I would give the moss-wolf more description, especially since it’s the first bit of magic we’re seeing, and definitely give the encounter more than a single paragraph given that it gives a good chance to reflect on her character and relationship with the world.

The whole thing also needs to be longer in order to convey the trip better, or at the very least, needs some kind of signifier of difficulty and distance. It feels as though she’s just barely stepped foot into the woods and is setting up camp on the doorstep of civilization. This is something that I think can be corrected with reprompting, and possibly by just inserting another few scenes into the chapter.

Scene 1d:

The transition from day to night in the heart of the ancient woods was a spectacle of its own. The symphony of twilight hummed with an otherworldly energy that echoed through the stillness, reminding Adelia of the task that lay before her.

She steadied herself, opening her grandmother’s spellbook to the worn pages filled with the secrets of the Beyonds. Her fingers, now familiar with each etched symbol and word, traced the spell for summoning. It was an incantation that had been passed down through generations, a key to unlock the doorway between realms.

She stood at the place of power, her heart resonating with the pulse of ancient magic. Holding the spellbook with one hand, she began to recite the incantation, her voice carrying through the silence of the woods.

The words were strange and intoxicating, each syllable a droplet in an unseen pool, sending ripples of power through the air. The spell danced around her, a potent waltz of anticipation and determination. The air thickened, charged with energy that prickled at her skin and caused her hair to stand on end.

Suddenly, the ground beneath her shivered, as though awoken from a slumber. The silence of the woods was shattered by a deep rumbling that rose from the bowels of the earth. From the corner of her eye, she saw a flicker, a wraithlike light coalescing at the center of the clearing.

With a final invocation, she sealed the incantation. A brilliant beam shot from the epicenter, piercing the night sky. It was as if time held its breath, the world around her frozen in anticipation.

Then, like a dream taking form, the ghostly silhouette of a tower began to rise from the earth. Stone by stone, level by level, it solidified, pulled from the Beyonds by the strength of her spell. The sight was ethereal, a testament to the magic she held within her, a beacon of her destiny manifesting before her very eyes.

As the final echoes of her incantation faded, she stood before a monumental wizard’s tower, her heart pounding with a mix of exhilaration and relief. It was an impossibility made real, a defiance of nature. This was her tower, a place from the Beyond now rooted in her world, a testament of her journey, and the beginning of a new chapter in her life. The magnitude of her accomplishment, solitary yet monumental, settled around her like a cloak of awe and pride.

Adelia looked up at the towering edifice against the star-studded sky, her breath hitching in her chest. She’d done it – brought a piece of the Beyonds into her world, an undeniable proof of her power and her lineage. And with that, the first day of her new life came to an end, a sentinel from the Beyonds standing tall in the heart of the ancient woods.

It’s … fine. Fine by the standards of AI text generation, anyway. There are parts I’d tone down, parts I would extend, pieces of exposition I’d try to slip in sideways. GPT doesn’t know what the Beyonds are, and I don’t either yet, but I would at least start laying the groundwork for their nature. The tower should have a lineage of its own, a history. We’re introducing a magic system here, right? It’s going to be very important going forward.

“Beginning a new chapter in her life” is way too on the nose, and needs to be cut, as do a few others. I think ending the chapter here is fine, but ending the day isn’t, not unless we firm up the timeline a bit. I like the idea of a first chapter covering the first day, beginning at sunrise and ending at sunset, but there needs to be more punch to it, the tower a refuge from the dark, a fire in its hearth both literal and metaphorical warmth, etc.

Stitch these four together and you get something that doesn’t really work, the individual pieces of it rubbing uncomfortably against each other. With a single editing pass, I think you can get it better, and with some reprompting, expansion, deletion, etc, I think you can get it to a quality level where people would actually read it. That does lead to a question though:

Can You Actually Write Like This?

I’m not sure. Mostly I’m not sure whether writing like this actually saves time and effort. The goal is to have a whole novel written from almost nothing, but I think in practice you need a guiding hand. Unfortunately, it doesn’t feel like that guiding hand saves much, if any work for someone who can write at a pretty good pace. Add in time for reprompting, reading, analyzing, editing for content, consistency, tone, etc., and it seems like a wash.

The future of this approach in the near term is having editors slap the AI text into shape, but I don’t think editors are cheap enough to make that profitable or sensible, and GPT can’t really do the editing on its own. Ideally, you’d have GPT not just writing these short scenes, but writing the summaries for the scenes, and summaries for the chapters, and iterating through the whole thing to stitch it all together … but the quality is just not there.

But you know what? I’m going to give it a shot, so long as it doesn’t take away from my other writing projects.

If you have found a spelling error, please, notify us by selecting that text and pressing Ctrl+Enter.

Adventures in AI Text Generation, pt 1 (of ???)

Leave a Reply

Your email address will not be published. Required fields are marked *

Scroll to top

Spelling error report

The following text will be sent to our editors: