-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
AI-designed, AI-generated novel-length story generator #6
Comments
Previously: NaNoGenMo/2022#15 |
Thank you. I've made some small edits to this issue, to emphasize how much this space has changed since 2022. |
Meanwhile, from the "cheating non-entry" department, based on an idea that I've had for ... a number of years now, I threw together this: https://static.catseye.tc/lab/LiveMarkov/ The relevancy to this issue, is that its code was 99% generated by Claude Sonnet 3.5. I made only a few tweaks to it by hand. I probably could have made those tweaks by prompting. But having already run down a number of blind alleys, I didn't really have the patience. If I'm planning to do this novel generator entirely by AI, with no hand tweaks whatsoever, then I'm going to have to deal with this effect. |
I'm about ready to make a progress report on this, but first, I've edited the issue again to clarify the approach, which I didn't really consider thoroughly before starting. I made the mistake of giving the darned thing creative control. At the outset, I asked it to design a program to generate a novel - and of course it took "novel" to have its usual meaning, not its NaNoGenMo meaning - and to produce an architectural document describing the design. And then, to follow that document to create the implementation. So this is not just an AI-generated novel generator; it is an AI-designed novel generator too. And of course this turns out to not really be a "mistake" at all - it's been quite entertaining to see what its idea of a novel generator involves. So far it has generated 3481 lines of Python code in 36 source files. (Well, actually, rather more than that; these are just the ones that survived.) This is the result of 11 conversations consisting of 21821 words in total (according to And this code does run, and does produce output. Here is the novel it currently generates, in its entirety:
|
Hey, this is great. I should just stop here.
|
I was right. I should've just stopped there. This is not fun. Or, idk, maybe it's some sort of non-Euclidean fun that I, as a mere human, cannot appreciate. The occasional glimpses of seeing it work at a very high level... (i.e. "You are a best-selling novelist working alongside an expert software developer. Here is a novel generator and here is a novel it generated. Critique the novel and recommend ways it can be improved. Pick one of those improvements and propose changes to the generator that would implement it." ... and it just goes and does that...) ...are outweighed by it taking days to talk it into fixing simple things like calling the protagonist by their name instead of calling them "protagonist" or figuring out why it suddenly stopped formatting text into sensible paragraphs and is now glomming it all into two giant paragraphs per chapter. I am in the midst of that last thing and I'm not exactly thrilled to be spending my time (and the energy consumption of probably roughly 2 household A/C units) this way. So here is are some updated results that date from a few days ago. 8539 lines of code in 72 source files. 53076 words in 34 conversations (though I have reason to believe that word count is an overestimate for technical reasons). Sample output:
|
People have in past NaNoGenMo's used LLMs to generate novels, but this plan is different. Coding-assistant AIs are now good enough that they can generate substantial amounts of runnable code. I plan to talk Claude Sonnet 3.5 into designing and generating a program that will generate a story, and then, without making any manual changes to that program, run it to generate a 50,000+ word novel.
The text was updated successfully, but these errors were encountered: