AI Historical Figures on Twitter

I’ve just started two Twitter accounts that use artificial intelligence to emulate the thoughts of long-dead historical figures.

In mid-2020, some of the blogs I read were buzzing about OpenAI’s GPT-3 model, a new AI model that was trained on text from all over the Internet. The model could generate coherent text in a wide variety of formats such as poetry, short stories of different genres, and chat dialogues. For some applications, it worked really well—by far the best performance we’ve ever seen from an AI. GPT-3 wasn’t available to the public but was gradually being shared with researchers. The number one thing I wanted to try, if I could get access, was to generate original text in the style of certain historical figures—apocryphal writing to entertain fellow enthusiasts. If a person’s written works were popular enough on the Internet, there was a good chance the model would be able to recollect and emulate their style, given the right prompt.

Twitter was the ideal medium for this, because shorter bodies of text would be easier for the model to generate without making mistakes. Also, Twitter provides a never-ending torrent of content to respond to, so I wouldn’t run out of ideas for what kind of content to generate. And, the idea of being able to hear a historical figure’s simulated thoughts about a given present-day event just sounded really fun to me.

I applied for GPT-3 access around the time it was being talked about, and about a year later I finally got an email telling me I’d been granted access. In just the past few weeks, I finally dedicated enough time to get my idea rolling. The first two historical figures I did were Marcus Aurelius and Niccolò Machiavelli—both of them generally popular on the Internet and fascinating to me personally.

Chats with AI

It took some work to get the model functioning well. It’s just a text completion model—you write some text, and then it generates some text that it thinks should go after that. Then you can write again below that. So whatever you want to use the model for, it all depends on what you write first.

While I was in this stage, I discovered a kindred spirit doing more-or-less the exact same thing. I came across @nat_sharpe_, who is now running AI Twitter accounts for Alan Watts and Friedrich Nietzsche (and they look really good). We chatted briefly and he gave me some tips. After some more trial and error, I figured out what kind of content to put at the beginning of the prompt to make the model reliably participate in a chat conversation while emulating the desired person.

text conversation with an AI Marcus Aurelius bot

This is the middle of one of those chats. “Me” denotes the dialogue I typed myself. “MA” (Marcus Aurelius) is the part of the dialogue generated by the model.

The model does an impressive job both at copying the vocabulary of the original figure, and also often getting historical details right.

Human curation

As good as the model is, it sometimes generates answers that are irrelevant, inaccurate, or nonsensical. Fortunately, I can erase this part of the dialogue and have the model try again until its answer makes sense. It’s handy that I’ve read both Marcus Aurelius’ and Machiavelli’s works and have studied their lives a bit.

In an ideal world, the model would just go and post on Twitter all by itself, but the technology isn’t quite there yet.

Tweets

What next? Tweet a bunch! I’m generating lots of tweets and scheduling them to post in the future, so I don’t have to do manual curation every day. Some tweets are generic “things that X would say,” but some are specific to the days or times of the year when they’re scheduled to post (so a tweet about love will be scheduled for Valentine’s Day, etc.). I do also plan to occasionally generate tweets on the fly about current events. I’m aiming for at least a tweet a day from each account.

Twitter interactions

Another fun aspect of all this is that I can have the model interact with other Twitter accounts, by pasting their text into my personal chat with the model, and forwarding back the model’s response. Again, it’s obviously important that a human screens the responses before they’re published.

Art assets

I made some original art for this project (detailed writeup here), to be used as the profile pictures and banners of the Twitter accounts.

Results

Here are the two accounts I’m starting with: AI Marcus Aurelius and AI Niccolò Machiavelli. Check them out and give them a follow if you’re interested.

Future work

Now that the whole pipeline is working, the next step will be to add more historical figures (though I’ll only ever run accounts for people whom I’ve actually read and studied, to ensure I do a good job of curating the content).

Something I’d really like to do is compile a Twitter list of many AI historical figure accounts: mine, nat_sharpe_’s, and those of whomever else wants to participate in this kind of thing in the future. Imagine being able to tweet at whichever historical figure you want and getting back a high-quality reply, generated by a super-competent AI model and curated by a knowledgeable human. It would be a living museum.

Updates:

Share:

Leave a Reply

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