LabHub

Blog

Rebuilding the Second Brain — Personal Knowledge Management (PKM) in the AI Era

한국어English日本語

Introduction — We Read So Much, Yet Nothing Sticks

The HN front page, GeekNews, half a dozen newsletters, the article-sharing channel in the company Slack. We are the most-reading generation in history — yet ask most of us to explain an article we read a week ago, and we go blank. The confession post "I have 4,000 notes in Obsidian and cannot find anything" became a hit on Hacker News, and posts combining local LLMs with note systems keep climbing GeekNews — both are expressions of the same thirst.

There is another 2026-specific backdrop. With AI coding agents now ubiquitous, writing documents that feed context to agents — CLAUDE.md, AGENTS.md — has become standard practice. A well-organized personal note vault is no longer read only by humans; it becomes the context source for your AI. We have entered the era where your notes are your personal RAG (Retrieval-Augmented Generation) database.

This article distills the essentials of the classic PKM methodologies, clarifies what AI has changed, and then lays out a practical capture-process-connect-output system along with a 4-week build plan.

A Quick Tour of the PKM Classics — Zettelkasten and PARA

You do not need to read a whole methodology book. The essentials:

Zettelkasten — Connections Create Knowledge

The system with which sociologist Niklas Luhmann wrote 70 books from 90,000 note cards over a lifetime. Three core principles:

  1. Atomicity: one idea per note. Only then do connections become possible.
  2. In your own words: rewrite in your own sentences, never copy quotes. That act of translation is understanding itself.
  3. Connection first: every time you create a note, ask "which existing note does this connect to?" Knowledge accumulates not inside notes but between notes.

PARA — Classify by Actionability

Tiago Forte PARA is a folder-structure theory. You keep only four buckets, organized by actionability rather than topic:

P - Projects   : active work with deadlines (e.g., June blog redesign)
A - Areas      : ongoing responsibilities with no end date (e.g., health, team ops)
R - Resources  : topics of interest for someday (e.g., Rust, cooking recipes)
A - Archives   : finished or inactive things

The sorting question is singular: "What does this note move right now?" If it moves a project, P. A responsibility, A. Mere interest, R. Nothing, Archives.

The Two Methodologies Compared

AspectZettelkastenPARA
FocusConnecting and fermenting ideasExecution and project momentum
UnitAtomic permanent notesFolders and documents
StrengthWriting, research, long-term thinkingGetting things done, retrieval speed
WeaknessHigh upfront cost, over-engineering riskNo deep connective structure
Best forWriters and researchersPractitioners juggling projects

The punchline: they are not competitors. Manage working materials with PARA, ferment your thinking with Zettelkasten principles — mixing them is the realistic answer.

What AI Changed — Redefining the Role of Notes

From Search to Conversation

Retrieval used to mean keyword search and folder browsing. Now you embed your entire vault and ask questions in natural language. "What were the downsides of the saga pattern in that distributed transactions article I read last year?" is now a working query.

Automated Summaries — and Their Trap

In an era when AI summarizes your reading queue, the value of "copying out highlights" has dropped. But there is an important twist: reading a summary and understanding are different things. AI summaries are excellent as a capture-stage filter, but if you skip the processing stage of rewriting in your own words, no knowledge accumulates. Luhmann principle number two survives the AI era intact.

Notes Become RAG

The biggest shift. Notes have expanded from a human memory aid into a context source for AI:

[Before]  me -> write notes -> future me searches and reads

[2026]    me -> write notes -+-> future me searches / asks questions
                             |
                             +-> AI agents use them as context
                                 (writing assistance, reference docs for
                                  coding agents, automated weekly review
                                  summaries, suggested note connections)

This adds one more criterion for a good note: is it machine-readable? A clear title, consistent metadata, a self-contained unit — which, conveniently, matches the Zettelkasten atomicity principle exactly.

The Tool Landscape — Local-First and Privacy

ToolStorageAI integrationStrengthCaveat
ObsidianLocal markdownPlugins + local LLMOwnership, plugin ecosystemTemptation to over-install plugins
LogseqLocal markdownPluginsOutliner, daily notesVariable development pace
NotionCloudBuilt-in AICollaboration, DB viewsYour data lives on company servers
AnytypeLocal + P2PLimitedLocal-first philosophySmall ecosystem
Plain text + GitLocalFree-form via CLITotal control, longevityNo UI conveniences

The central 2026 debate is privacy. Connecting your notes to AI can mean sending your entire inner life somewhere. Three options:

  1. Cloud LLM + exclude sensitive notes: convenient, but requires classification discipline.
  2. Local LLM (Ollama, llama.cpp and friends): you can safely connect even diaries and performance memos. As of 2026, local models are genuinely sufficient for summarization, tagging, and question answering.
  3. Hybrid: embeddings and retrieval locally, long-form generation in the cloud.

My recommendation: storage must be local markdown (the notes outlive any tool), and start AI integration in hybrid mode.

Designing the Practical System — Capture, Process, Connect, Output

First, the whole pipeline in one picture:

+----------+     +----------+     +----------+     +----------+
| Capture  | --> | Process  | --> | Connect  | --> | Output   |
| (Inbox)  |     |          |     | (Link)   |     |          |
+----------+     +----------+     +----------+     +----------+
 RSS/HN curation  highlights to     links/tags      weekly review
 read-later app   permanent notes   MOC building    writing/talks
 daily notes      own-words pass    AI suggestions  asking the AI

Stage 1: Capture — the Reading Inbox

Principle: separate discovery time from reading time. Reading at the moment of discovery shatters your day.

HN/GeekNews routine (15 min/day, once in the morning)
1. Skim the front page, but never open an article (5 min)
2. Pick candidates by title + comment count, save to inbox only (5 min)
3. From yesterday inbox, choose only 1-2 things to read today (5 min)
   Leave the rest. Items older than a week may auto-delete, and that is fine.

Stage 2: Process — Highlights Into Permanent Notes

What you highlighted while reading is not yet knowledge. Conversion rules:

Permanent note conversion rules (1-3 min per highlight)
1. Without looking at the highlight, write one paragraph in your own words
   (if you cannot, you did not understand it -> reread or discard)
2. Title must be a complete claim sentence
   Bad:  "About caching"
   Good: "Event-driven cache invalidation is safer than TTL"
3. Keep the source link
4. End by asking: "Which existing note does this connect to?"

Not every highlight deserves a permanent note. A realistic ratio is 1-2 out of 10. Let the rest flow away.

Stage 4: Output — Without It, the System Dies

The Daily Note — The Heartbeat of the System

The engine that makes the capture-process-connect-output loop spin every day is the daily note. It starts from a single template auto-generated each morning:

# 2026-06-12 (Fri)

## Today focus
- (one line, written last evening or this morning)

## Work log
- 09:40 Reviewed the payment migration PR — liked the adapter boundary design
- 11:20 Saw a local-embeddings post on HN, sent to inbox
- 15:00 Incident retro meeting — the alert threshold discussion went in circles. Why?

## TIL
- (3 lines: learned / struggled / note to tomorrow me)

## Sent to inbox
- 2 links, 1 idea that surfaced during a meeting

## For tomorrow
- Develop the alert-threshold thought into a permanent note

Operating principles:

A Decision Tree for When Filing Stalls

A tree for deciding where new information goes within 3 seconds:

New information arrives
   |
   +-- Is it used by a project in progress?
   |      Yes -> straight into that project note in the Projects folder
   |
   +-- No -> Is it reading material?
   |      Yes -> into the inbox (judge later)
   |
   +-- No -> Is it my own thought/idea?
   |      Yes -> record it in the daily note for now
   |
   +-- No -> Is it reference material for someday?
          Yes -> save just the link in Resources
          No -> discard (discarding is also a function of the system)

This tree exists for exactly one reason: to prevent filing decisions from breaking your flow. If you deliberate longer than 3 seconds about where something goes, drop it in the daily note and move on.

AI Integration Recipes

Recipe 1 — Embed Your Notes Folder and Ask It Questions

Concept: split notes into chunks, store them as embedding vectors, embed the question too, retrieve the nearest notes, and pass them to an LLM as context. A minimal working example:

# pip install chromadb ollama
# Setup: ollama pull nomic-embed-text && ollama pull llama3.2
import os
import glob
import chromadb
import ollama

client = chromadb.PersistentClient(path="./note_index")
col = client.get_or_create_collection("notes")

# 1) Index the vault (paragraph-level chunks)
for path in glob.glob("vault/**/*.md", recursive=True):
    with open(path, encoding="utf-8") as f:
        text = f.read()
    chunks = [c.strip() for c in text.split("\n\n") if len(c.strip()) > 80]
    for i, chunk in enumerate(chunks):
        emb = ollama.embeddings(model="nomic-embed-text", prompt=chunk)
        col.upsert(
            ids=[f"{path}:{i}"],
            embeddings=[emb["embedding"]],
            documents=[chunk],
            metadatas=[{"source": path}],
        )

# 2) Ask in natural language
question = "What did I write about the downsides of the saga pattern?"
q_emb = ollama.embeddings(model="nomic-embed-text", prompt=question)
hits = col.query(query_embeddings=[q_emb["embedding"]], n_results=5)

context = "\n---\n".join(hits["documents"][0])
sources = [m["source"] for m in hits["metadatas"][0]]

answer = ollama.chat(
    model="llama3.2",
    messages=[
        {"role": "system",
         "content": "The following are excerpts from the user personal notes. "
                    "Answer only from the notes; if it is not in the notes, say so."},
        {"role": "user", "content": f"Notes:\n{context}\n\nQuestion: {question}"},
    ],
)
print(answer["message"]["content"])
print("Sources:", sorted(set(sources)))

In under 50 lines of code, "asking your notes" works. Everything runs locally, so indexing your diary is safe. Obsidian users can find community plugins that do the same job, but implementing the principle once yourself reveals the limits and possibilities of whatever tool you end up using.

Recipe 2 — A Summarization Prompt Template

A template for first-pass filtering of long articles at the capture stage:

Analyze the following article.

1. Core claim (3 sentences max)
2. The strongest and the weakest piece of evidence, one each
3. One counterargument the author does not address
4. Connection to my existing interests: which of
   [distributed systems, developer productivity, LLM evals]
   does this relate to, and why
5. Verdict: worth a deep read (high/medium/low) + one-line reason

Article: (paste body)

Item 4 is the point. Asking the summary to judge connections to your interests turns it from mere compression into a curation tool.

Recipe 3 — Automated Weekly Review Draft

Below are the notes created this week, with titles and bodies.

1. Is there a theme running through this week notes? What is it?
2. Suggest up to 3 pairs of notes that should be linked (with reasons)
3. Pick 1 seed note that could grow into an article
4. If any note from a month ago connects to this week themes, flag it

(paste note bodies or RAG context)

Caution: AI suggestions are drafts. Approving connections and assigning meaning is always a human job.

Preventing Note Debt — Guarding Against Perfectionism

The most common reason PKM fails is not laziness — it is perfectionism.

Three Developer-Specific Note Types

Code Snippet Notes

Title: Safely deleting duplicate rows in PostgreSQL
Tags: snippet, postgres
Context: used during the 2026-05 settlement table duplicate-load incident
Caution: CTID can change after VACUUM — trust only within a transaction
(code block)
Verified: tested on 2M rows in staging, 4.2s

The point is recording not just the code but the context and the caveats. Six months from now you will have forgotten all of it.

TIL (Today I Learned)

Three lines at the end of the day: "what I learned / what I struggled with / note to tomorrow me." The lowest-friction format, hence the most durable — and it becomes the source data for year-end retrospectives and resume updates.

Postmortem Notes

A personal-edition postmortem written after incidents and mistakes. Separate from the company document, it records "where exactly my judgment went wrong." The accumulated collection of these notes is what seniority actually consists of.

The 4-Week Build Plan

WeekGoalDoDo not
1Capture line runningDesignate 1 inbox, start the HN/newsletter routine, start daily notesWatch tool comparison videos
2Processing habitConvert 1 permanent note per day, titles as claim sentencesBulk-migrate old bookmarks
3Connecting beginsAt least 1 link per note, write your first MOCRefine an elaborate tag taxonomy
4Output and AIFirst weekly review, build the embedding index (Recipe 1), produce 1 output (a TIL share or short post)Install 5+ plugins

Verdict after 4 weeks: if the weekly review ran at least twice and at least one output exists, the system works. If not, do not switch tools — halve the size of the routine instead.

Anti-Pattern Collection

Anti-patternSymptomPrescription
Tool hoppingMigrating note apps every quarterLock to markdown, pledge no migration for a year
Collector sickness3,000 inbox items, 0 permanent notesStop capturing, process only for a week
Perfect-structure compulsionEndless folder redesignsTreat structure as a discovered artifact
Highlight copierAll quotes, no own sentencesRewrite-without-looking rule
Full AI delegationSummaries pile up, understanding does notKeep the processing stage manual
A garden with no harvestNotes grow, nothing gets writtenPut a monthly output slot on the calendar

Pitfalls and Critical Perspectives

Final Checklist

System

Note Quality

AI Integration

Health

Closing

The flood of information will not stop, and AI will only make it flow faster. What makes the difference is not the ability to read more, but the loop of digesting what you read into your own words, connecting it, and producing output. Tools merely assist; AI is merely an amplifier. Today's task is simple: pick one inbox, and write one note in your own sentences. The second brain is built exactly that way — one card at a time.

References

Comments

No comments yet.

Sign in to leave a comment