連載「Obsidianを第二の脳に」第2回

Obsidianを第二の脳にする 第2回: 原子ノートと網目リンク、index/logの回し方

目次 / INDEX

第1回で箱を作って、デイリーノートに毎日放り込むところまでやった。今回はその続きで、溜まった生の断片を「知識」に育てる工程をやる。やることは3つ。断片を1ノート1概念の「原子ノート」に割る、ノート同士を網目にリンクする、index.mdとlog.mdを回す。この3つが第二の脳の日常運転で、逆に言うとこれさえ回れば脳は勝手に育っていく。

先に言っておくと、この工程も最終的にはAIに丸投げする前提なので、難しそうに見えても身構えず、「あとでAIにどう指示するか」の型を掴むつもりで読んでほしい。

結論 第2回は育て方。1ノート1概念の「原子ノート」にして、リンクを網目状に張り、index.mdとlog.mdで回す。こうしておくと、後からAIが扱いやすい形になる。

原子ノート: 1ノート1概念

まず大原則。知識ノートは「1ノート=1概念」で作る。デイリーノートの断片を見返して「これは残す価値がある」と思ったら、その断片が含む概念ごとに1枚ずつノートを切る。

ルールはこう。

  1. タイトルはその概念そのもの。「〜について」「〜まとめ」を付けず、概念の名前をそのまま書く。日本語で、自分があとで検索しそうな語にする。
  2. 本文は短くていい。数行から十数行。長い解説を書こうとしない。
  3. 末尾に「作成: YYYY-MM-DD」を書く。あとで内容を書き換えたら「更新: YYYY-MM-DD」も足す。本文からは時制を消すぶん、日付は足元に残しておく。「このノート、いつの理解だっけ」に答えられるのはこの1行だけだからだ。

なぜ1概念で割るのか。リンクの精度が変わるからだ。「健康メモ」みたいな大きいノートに全部書くと、別のノートから「カフェインのあの話」だけを指したいときに、ノート全体にしかリンクできない。概念ごとに割ってあれば、指したい概念そのものに直接リンクできる。悪い例と良い例を並べるとこうだ。

悪い例:
健康メモ.md
  ├─ 睡眠の質を上げる話
  ├─ カフェインの効き方
  └─ 朝の運動の習慣
  ※1枚に3概念。外から「睡眠の質」だけを指せない

良い例:
睡眠の質.md        ← 本文中で [[カフェイン]] [[朝の運動]] に言及
カフェイン.md      ← 本文中で [[睡眠の質]] に言及
朝の運動.md        ← 本文中で [[睡眠の質]] に言及
  ※1枚1概念。互いに直接リンクできる

大きいノート1枚より、小さいノート複数を繋ぐ。脳の拡張性はこっちの方が高い。あとから概念が増えても、新しい1枚を足して既存の網に繋ぐだけで済むからだ。

もう一つ大事なのが書き方で、原子ノートは時制に依存しない文で書く。10年後に読んでもそのまま通じる書き方、いわゆるevergreenなノートにする。「来週の試験に出るらしい」「今やってる課題で使った」みたいな時限情報は知識ノートに書かない。締切・予定・進行状態はToDoやログの仕事で、知識ノートに混ぜると10年後に読めないノートになる。デイリーノートの断片には両方が混ざっているから、育てるときに知識と時限情報を分離するのがコツだ。

それと、運用しているとノートは膨らむ。「睡眠の質.md」に書き足しているうちに、気づいたら寝室の温度や照明の話も入っていた、みたいなことが普通に起きる。複数概念に膨らんだら分割する。新しいノートに切り出して、旧ノートには「この話は[[寝室の環境]]に分けた」と後継リンクを1本残しておく。これで旧ノートに辿り着いた人(未来の自分)も迷子にならない。

リンクは放射状じゃなく網目に張る

ノートを作ったらリンクを張る。ここでやりがちな失敗が、柱ハブ(第1回で作った「仕事」「趣味」みたいな柱の入口ノート)へのリンクだけ張って終わりにすることだ。全ノートがハブにだけ繋がった放射状の形になって、ノート同士の横の繋がりが無い。それだと芋づる式に辿れない。ハブを経由しないと隣に行けない脳は、正直あんまり脳っぽくない。

だから関連する細かいノート同士を直接相互リンクする。目安は各ノートに「柱ハブへ1本+関連ノートへ2本以上」。「睡眠の質.md」なら、柱ハブへの1本に加えて[[カフェイン]][[朝の運動]]に繋ぐ、みたいな形だ。リンクは張った側だけじゃなくバックリンクで張られた側にも見えるから、2本張れば網目は4方向に育つ。

で、リンクの張り方には規約を決めてある。僕が実際に使っているルールをそのまま書く。

  1. 固有名詞の初出を[[ ]]で囲む。同じノート内の2回目以降は囲まない。
  2. ノート末尾に柱ハブへのリンクを1本置く。
  3. 普通名詞を[[ ]]で囲まない。「[[勉強]]した」みたいに囲むと、存在しないノートへのリンク(幽霊リンク)が量産されて、グラフビューが幽霊だらけになる。囲むのはノートとして存在する(させる)概念だけ。
  4. コードスパンの中の[[X]]はリンクにならない。この記事で規約を説明できているのはそのおかげで、逆に「リンクさせたいのにリンクにならない」事故もここで起きる。
  5. 表の中で別名表示したいときは[[X\|別名]]とパイプをエスケープする。素の|は表の列区切りに食われて表が崩れる。
  6. ハブにしたいノートはfrontmatterにtags: [ハブ]を付ける。あとで「ハブ一覧」をタグ検索1発で出せる。

3番は特に大事だと思う。幽霊リンクは1本2本なら気にならないんだけど、放置すると「実在するノートへのリンク」と「思いつきで囲んだだけのリンク」の区別がつかなくなって、網目の信頼性そのものが死ぬ。囲む基準を最初に決めておくのが効く。

規約が6個も並ぶと面倒そうに見えるけど、丸暗記しなくて大丈夫。この規約は第3回でそのままAIへの指示書に化けて、守る係はAIになるからだ。ここでは「囲む基準を先に決めておく」という考え方だけ持って帰ればいい。

index.mdとlog.mdを回す

第1回で保管庫の直下に置いた2枚、index.mdとlog.mdをここで動かし始める。

index.mdは全ノートの1行カタログだ。「ノート名: 何のノートか」を1ノートにつき1行書く。中身はこんな感じになる。

- 睡眠の質: 深い睡眠を増やす具体策。カフェイン・朝の運動と接続
- カフェイン: 効き方と半減期、そして睡眠への影響
- 朝の運動: 続けるコツと、睡眠・気分への効果

そして新しいノートを作ったら必ず1行足す。これを絶対にサボらない。

なぜかというと、このカタログが無いと、保管庫の全体像を知るには全ノートを開いて読むしかないからだ。自分ならまだ記憶で補えるけど、AIに保管庫を触らせる(第3回でやる)と検索コストが爆発する。ノートが300枚あったら300枚読むことになる。index.mdがあれば300行読むだけで全体が見える。カタログの1行は書くのに10秒かかるけど、その10秒は毎回の検索コストを買い取る投資だ。

log.mdは追記専用の作業ログ。保管庫に対して何をしたかを上から書き足していく。ルールは2つで、過去の行は書き換えない(追記だけ)、書式を固定する。書式はこれ。

## [YYYY-MM-DD] ingest | 何を取り込んだか
## [YYYY-MM-DD] lint   | 何件検出・何件修正
## [YYYY-MM-DD] fix    | 何を直したか

ingestは断片の取り込み、lintは保管庫の点検(幽霊リンクや孤立ノートの検出)、fixはその修正。動詞を3種類に固定しているのは機械可読にするためで、書式が揃っていれば「先月ingestした行だけ抜き出す」がgrep1発でできる。人間の日記みたいに自由に書くと、あとで機械に読ませられない。

書式の固定とかgrepとか、急に機械の話になって引いた人もいるかもしれない。引かなくていい。こういう機械的な決まりごとは、機械的だからこそAIが正確に守れる部分で、いずれ書き足すのもAIになる。人間が毎回手でやる前提の話じゃないんだ。

育てる工程の全体像

部品が揃ったので、工程を通しで書く。デイリーノートの断片が知識になるまでの一連はこうだ。

  1. デイリーノートの断片を見返す。
  2. 知識になるものを拾う(締切や予定みたいな時限情報はToDoやログへ逃がす)。
  3. 概念ごとに原子ノートを作る。すでに同じ概念のノートがあれば、新規に作らずそこへ統合する。
  4. 柱ハブへ1本、関連ノートへ2本以上リンクを張る。
  5. index.mdに1行足す。
  6. log.mdに1行足す。

この1〜6を、週に一度まとめてやってもいいし、気づいたとき都度やってもいい。僕はどっちも使う。放り込むのは毎日、育てるのは気が向いたとき、で回っている。大事なのは頻度より、やるときに3〜6を省略しないことだ。リンク無し・index未登録のノートは、作った瞬間から孤立していて、書いたのに見つからない第1回のメモ帳と同じ状態に戻ってしまう。

そして正直に言うと、この工程は毎回やるには地味に面倒くさい。断片を拾って、割って、繋いで、2枚のファイルに1行ずつ。機械的な作業が多いと感じたと思う。感じたなら正しくて、機械的だからこそこの工程はAIに任せられる。次の第3回がまさにその話で、保管庫にschema層という指示書を置いて、ingest(取り込み)・query(検索)・lint(点検)の3つの動線をAIに回させる仕組みを作る。今回手で回した工程が、そのまま自動化の設計図になる。

手で一周やっておくと、AIが何をやっているか全部わかる状態で任せられる。まずは断片3つでいいから、原子ノートに育てて網に繋いでみてほしい!

それと、もし今回の工程を面倒だと感じたなら、その感覚は正しい。面倒なところから順にAIの担当になっていくのがこの連載の筋書きで、あなたが最後まで持つのは「何を残したいか」の判断だけだ。

よくある質問

原子ノートとは?

1つのノートに1つの概念だけを書くやり方。小さく分けておくと、他のノートからリンクで繋ぎやすく、後から再利用しやすくなる。

Obsidianのノートのリンクはどう張ればいい?

1か所から放射状に伸ばすより、関連するノート同士を網目状に相互リンクする方がいい。つながりが増えて、後から辿りやすくなる。

Obsidianのindexやlogは何のため?

index.mdは全ノートの1行カタログ(AIが全体を把握する用)、log.mdは取り込み・修正の作業ログ。運用を回す土台になる。