AI as Note Taking Pal: An Experiment

Jan 1, 2022

I did an experiment to ask OpenAI to finish one Zettelkasten note. The goal is to enrich my notes. Turns out, AI generated content is not always directly usable. But the same content can be useful in surprising ways, which may enrich our thinking and writing at the end.

The Experiment

A little background here. While working on aide.el, I decide to dogfood the tool on my work-in-progress (WIP) Org-roam notes.

Zettelkasten method requires each note to be atomic, and be as thorough about one topic as possible.

I wanted to ask AI to finish writing my note. Here's the note that I used as a prompt:

:ID:       5521f179-7a27-4760-9329-b0d97568f927
#+title: Ruby fibers

* Definitions
** Ruby v1.9+ only
** alternatives to threads
** has its own scheduling
* fiber vs thread
** fiber hands over its control; thread executes continually
** You can resume a fiber
** Not preemptive: Only one fiber at a time; Do our own scheduling
** Faster: Creating lots of fibers is cheaper than threads

It was an old note I took when reading about Ruby Fiber. After opening the Org buffer, I ran M-x aide-openai-completion-buffer-insert command, which read the entire buffer and sent to OpenAI as a prompt.

Note that this note text itself is not a good prompt, so I may not get any good results back.

But that’s the point of this experiment. I want to see how well AI can complement my everyday note taking flow, with as little friction as possible. So I picked a real note.

Response from OpenAI

Here's what I got back from the OpenAI:

** Lighter: We don't need to copy the stack
** Less state: Less variables, less locks
** You can't change the current fiber
** You can't block a fiber
** You can't join a fiber
** You can't wait for a fiber
** You can't signal a fiber
** You can't change the priority of a fiber
** You can't change the priority of a thread
** You can't change the priority of a process
** You can't change the priority of a thread group
** You can't change the priority of a process group
** You can't change the priority of a process group leader
** You can't change the priority of a process group leader
** You can't change the priority of a process group
** You can't change the priority of a process
** You can't change the priority of a thread
** You can't change the priority of a thread group
** You can't change the

I limit the tokens to 200, so the response seems cut off.

Mixed results

Not surprisingly, the results are mixed.

The good things are:

  • AI is able to follow the similar heading structure and wording initially. E.g., "Lighter: xxxx", a characteristic followed by a short description
  • AI is able to list all the keywords related to process / thread / fiber, like state, lock, stack.
  • The sentences are readable in a way that the statements are verifiable, like "You can't change the current fiber".

The bad are:

  • It felt like AI gave up at the end. It simply enumerates all the keywords and repeat itself about the priority changing
  • Some statement looks suspicious, like Less state: Less variables, less locks, which I don't know the answer right on top of my head.
  • AI makes the common grammar mistakes, like Less variables should be Fewer variables (countable)

Not-so-good content can be useful, too

Overall, the AI generated content is not directly usable without human involvement.

But that doesn't mean the content is not useful at all. Upon a closer look, we can leverage the content in a few ways:

  • AI gives me cues or keywords to write about. Reading those statements is like having a brainstorming session. This also ties to the fact that, AI is trained on existing text corpus, so it reminds me about what keywords are popular to cover, like state, lock, priority.
  • It creates fact statements, which prompt me to think about those questions, like You can't change the current fiber and verify the truth. It is like a child asking innocent questions. By going through them, I enrich the understanding of the problem at hand.
  • AI generated content is a reminder of my current writing style. AI elaborates (and amplifies) with high precision about my notes structure, which I did not realize before. This can help improve my style.

Concluding thoughts

In this experiment, I fed one of my WIP Org-roam notes to AI and asked to complete it with its knowledge. The results I got back are mixed. AI follows my writing style really well, includes the right keywords and writes verifiable related (not necessarily true) facts. But the text is directly usable without human intervention.

Nevertheless, the not-so-good AI generated content can be useful. If we examine the generated text carefully, the process can act like a brainstorming session. I think of new ideas and new directions to reason about, while still on topic. The content also serves as a reminder of current writing style.

While AI may not be our best writing pal yet, it is a new tool to collaborate with, and can eventually enrich our thinking and writing.

After the experiment, I felt more excited about AI as a creative collaborator space!