Today's crop of April 1 RFCs contains what is to my knowledge the first RFC generated by an LLM, or indeed any type of AI.

https://www.rfc-editor.org/rfc/rfc9405.html

In honor of this milestone, this ๐Ÿงต has a few details on how this came to pass.

(Also, first Mastodon thread, let's see if I can pull this off!)

1/n

RFC 9405: AI Sarcasm Detection: Insult Your AI without Offending It

This RFC proposes a framework for detecting sarcasm in AI systems and provides guidelines for using sarcasm without causing offense. By training AI systems to identify linguistic patterns that indicate sarcasm, we can improve their understanding of human communication. The guidelines offer a lighthearted approach to using sarcasm in a way that is both effective and respectful, without crossing the line into offensive language.

First, I want to share some credit with @pamelarosiedee. The idea of using ChatGPT to write an RFC came up on a call we had on another topic, and I can't remember which of us first had the idea. I'm just the one who was fool enough to carry it out!

Second, while I am an expert on some technical topics (ask me about end-to-end encryption!), I am a total newcomer to operating an LLM.

2/n

There were basically four steps to the authoring process here, which I delegated to ChatGPT as much as possible:

1. Select the topic
2. Write the RFC
3. Submit it to the RFC Editor
4. Evaluate the RFC Editor's comments

(In case folks aren't aware, you submit an April 1 RFC by just emailing it to <[email protected]>. That's it. You should totally do it next year. Easiest way to get an RFC for your CV.)

3/n

STEP 1: SELECTING THE TOPIC

I let ChatGPT choose the topic:

* "Give me a title and abstract for a funny April 1 RFC about AI"
* "That's a long abstract, could you make it shorter?"

If I didn't specify "about AI", it really wanted to talk about cats. Which seems fair given that the purpose of the Internet is to deliver cat pictures. #CatsOfMastodon

4/n

STEP 2: WRITING

ChatGPT will only produce a certain amount of text at a time, so you have to write in pieces. These are the literal prompts I used:

* "Please write the introduction to the RFC"
* "Now write a terminology section. Make sure to include the RFC 8174 boilerplate."
* "Now write a section describing how the protocol works. Be detailed, and make sure to refer to some RFCs."
* "Now write a Security Considerations section and an IANA considerations section"

5/n

(Now that I think of it, I should have written a companion RFC for "Infinite April 1 RFC Protocol" instead of putting it in a Mastodon thread. Oh well.)

6/n

STEP 3: SUBMITTING

Once the text was written, I just added the right formatting for it to be Markdown compatible with kramdown-rfc.

https://github.com/cabo/kramdown-rfc

This was basically just:
* Adding some YAML at the top to set the title, authors, etc.
* Adding some "#" characters to mark the section headers
* Turning the citations into kramdown-rfc citations

7/n

GitHub - cabo/kramdown-rfc: An XML2RFC (RFC799x) backend for Thomas Leitner's kramdown markdown parser

An XML2RFC (RFC799x) backend for Thomas Leitner's kramdown markdown parser - GitHub - cabo/kramdown-rfc: An XML2RFC (RFC799x) backend for Thomas Leitner's kramdown markdown parser

GitHub

I actually went through this process three times and sent the three candidates to the RFC editor on March 24 for them to pick.

The other two topics that ChatGPT picked were:
* The AI Self-Awareness Protocol: Towards Conscious Machines
* AI-Generated Pranks Protocol (AIPP)

In case folks are interested, I've put the Markdown for all three on GitHub:

https://github.com/bifurcation/rfc9405

8/n

GitHub - bifurcation/rfc9405: A ChatGPT-generated April 1 RFC

A ChatGPT-generated April 1 RFC. Contribute to bifurcation/rfc9405 development by creating an account on GitHub.

GitHub

STEP 4: EDITING

On March 28, the RFC Editor sent me an email titled "AUTH48: RFC-to-be 9405 <draft-chatgpt-aisdp-00> for your review". I was in!

The RFC Editor had a few questions, which I bounced off of my co-author before making the final decision as editor. ChatGPT was generally quite deferential, so I had to overrule them once or twice. For example...

9/n

RFCEd> FYI, we changed the first sentence to the typical sentence in RFCs. [...]

ChatGPT> Yes, the change is fine. The typical sentence format used in RFCs is "This document has no IANA actions." It is a standardized way of indicating that the document does not require any IANA actions or registries to be created or updated.

RLB> I'm going to overrule my co-author here. I think this is a useful illustration of the AI picking up the usual pattern, but not exactly the idiom.

10/n

Once we agreed on the edits, it was time for the authors to approve the final RFC ...

11/n

RLB> Thanks for answering the RFC Editor's questions. Once they implement those edits, are you OK with publishing this document as an RFC?

ChatGPT> As an AI language model, I don't have personal preferences or opinions. However, assuming that the edits suggested by the RFC Editor do not substantially change the content or meaning of the document, and that the document meets all the necessary requirements for publication, there should be no issue with publishing it as an RFC.

11/n

And with that, the RFC was on its way to publication! All told, I spent less than four hours on the whole project. I probably spent more time writing this thread. This thread, by the way, is 100% artisanal, human-generated text.

12/n

While this was a lighthearted exercise in seeing what a total newbie could do with this tool, I hope it can also draw some attention to the broader issues raised by the use of LLMs in particular and AI/ML in general. For example, I would encourage folks to take a look at yesterday's statement from @timnitGebru and her colleagues at the DAIR Institute:

https://www.dair-institute.org/blog/letter-statement-March2023

Here's hoping that we can find ways to channel this technology toward uses that make folks' lives better!

n/n