AI as Note Taking Pal: An Experiment
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:
:PROPERTIES:
:ID: 5521f179-7a27-4760-9329-b0d97568f927
:END:
#+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 beFewer 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!