前回・前々回で設計してきたObsidianセカンドブレインについて、今回はいよいよ「実際に手を動かした」段階の記録です。材料の解析、CLAUDE.mdの磨き込み、そして実際のObsidian設定と正典ノートの第一歩まで、思っていた以上に長い道のりになりました。
「育つWiki」という考え方との出会い、その2
前回、Karpathy氏発案とされる「LLM Wiki」の考え方(Raw sources / Wiki / Schema の3層、Ingest / Query / Lintという3操作)を取り入れる話をしましたが、その後もう1本、関連する記事に出会いました。「メモは集めるだけでは意味がなく、実際に使われて初めて価値を持つ」という視点を強調したものです。
ここから取り入れたのは以下の3点です。
- プロフィールの「現在の重点」セクション:今のプロジェクト・書こうとしているテーマ・保留中の判断を明記し、Query時の関連性判断の基準にする
- 書くブリーフ/決断ブリーフというプロンプトの型:Vault内の確定情報だけを根拠に、外部知識を足さず材料出しをする専用プロンプトを
query-brief-runbook.mdとして定式化 - Lintに「未使用ノート」チェックを追加:リンクはあっても実際の執筆・判断に一度も使われていないノートを機械的に洗い出す
一方で、「集める/使う/しまう/Output」という4箱構造そのものは、既存のtype別フォルダ設計と衝突するため採用しませんでした。良いアイデアでもすべてを鵜呑みにせず、既存設計との整合性を見て取捨選択する、という当たり前のことを改めて実感しました。
eBSJインデックスファイルの謎解き
Baker Street Journal電子版(eBSJ)という過去のBSJを電子化したDVDがあるのですが、私は初版を持っていたのですが、初版発売後のBSJ(2011年まで)を含んだVol.2を今年1月のNY BSI Weekendで購入することができました。(オフィシャルでは既に販売終了でしたが、即売場のBSI出版のブースでまだ余っていたらしきものが一つ販売しており無事に購入できました。)
この電子データをうまく活用するところも今回のセカンドブレインの肝となります。
このDVD内に付属する.idx/.pdxファイルの正体を探るところから、地味に長い調査が始まりました。
最初はAdobe Acrobatのカタログ機能用の全文検索インデックス(人間がAcrobat上で検索するためのもの)だと分かり、「今回の仕組みでは直接活用できない」という結論にいったん至りました。ところが、バイナリの中身をstringsコマンドで覗いてみると、279号すべてのファイル名(号数・巻号・発行年月)が平文で埋め込まれていることを発見。ここから号一覧マスターリスト(ebsj_index_master.csv)を作ることができました。
さらに、同梱の利用規約PDFを読み込んだところ、Donald A. Redmond氏による記事単位の累積索引(1946〜1993年分)が同梱されていることが判明。これが今回の探索の本命でした。
Redmond索引(BSJ、eBSJ-000bとeBSJ-000dの2ファイル)は、スキャンPDFでOCR精度が低く、ページを画像化して視覚的に読み取る方式を採用。抽出方針・ページ範囲・バッチ分割・CSVスキーマをすべてredmond-extraction-runbook.mdにまとめました。
eSHJインデックスも確認
上記はアメリカのBSIの機関誌の電子版なのですが、イギリスのロンドン・シャーロック・ホームズ協会の機関誌であるSherlock Holmes Journalにも電子版が存在します。こちらはSHSLのサイトでの販売ではなく、カナダのホームズ専門出版社から購入しました。
今回、改めてこのDVDを確認したところ、累積索引(Geraldine Beare編纂、91ページ)というファイルがありました。これはネイティブテキストPDFで扱いやすかった一方、記事情報が3種の索引(Author and Title / Media News and Reviews / Subject)に分かれ、レコード型の判定が複雑でした。なんとか全13バッチの抽出が完了。最終的に号一覧105行、Author/Titleインデックス2,780行、Media/Reviewsインデックス1,585行、Subjectインデックス7,263行、号ノート101件という規模のデータセットが仕上がりました。
この過程で印象に残ったのが、「Holmes, Sherlock」「Hound of the Baskervilles」というSubject Indexの最重要2エントリで、副見出しが誤って独立見出しとして分類されていた293行(全体の約4%)の発見と修正です。地道な検証がなければ見逃していたはずの誤りでした。
CLAUDE.mdの再構成
作業を通じて、CLAUDE.mdが徐々に肥大化していく兆候が見えてきたため、「CLAUDE.mdは短く保ち、状況特化の手順は別ファイルに逃がす」という原則を紹介する記事を参考に、構成を見直しました。
- ルートのCLAUDE.mdは、普遍的なルール(絶対に守ること、フォルダ構成の概要)だけに絞る
- Ingest手順・Lint手順・Redmond索引抽出手順・Beare索引抽出手順など、特定の作業でしか使わない詳細は
docs/配下の個別Runbookに分離し、Read when:で読み込むタイミングを明記する
この方針のおかげで、後から_attachmentsフォルダやdocsフォルダを追加した際も、該当箇所だけを直せば済みました。とはいえ、フォルダ構成を変更した直後にCLAUDE.md本体の更新を忘れるという、まさに「ドキュメントのドリフト」を自分でも起こしてしまい、後日Obsidian上で実際の構成とCLAUDE.mdの記述のズレに気づいて修正する一幕もありました。
いよいよObsidianの実設定へ
材料の整理が一区切りついたところで、実際にMacにインストールしただけだったObsidianの設定に着手しました。
- Vaultフォルダ名は
221books-vaultに決定(ASCII・ハイフン区切りで、Cowork等のツールから扱いやすくするため) - 「フォルダを保管庫として開く」で、これまで整理したフォルダをそのままVaultとして読み込み
- コミュニティプラグイン(Dataview・Templater・QuickAdd)を有効化
- Templaterのテンプレートフォルダを
_templatesに指定 - 新規ノート・新規添付ファイルのデフォルト保存先を、それぞれ
00_Inbox・_attachmentsに設定
途中、複数のチャットで作業した成果物(BSJ側・SHJ側それぞれのCLAUDE.md、index.mdへの追記分、log.mdなど)をマージする作業も発生し、特にSHJ側チャットで作られた詳細な作業ログ(バッチごとの技術的判断根拠を含む)を、要約版で上書きしそうになったのは冷や汗ものでした。ここは「新しい方が正しいとは限らない、情報量が多い方を正とする」という判断が必要でした。
Dataviewの動作確認では、コードブロックの三重バッククォートが1行につながってしまい認識されない、というありがちなつまずきもありましたが、無事に号ノート101件がリスト表示されることを確認できました。
正典60編、ついに着手
最後に、Vaultの一番の基盤となる正典60編のスタブノートを一括生成しました。4長編・56短編それぞれについて、短編集区分・出版年・語り手・作品略号(Jay Finley Christ式)をマスターデータとして整備し、テンプレートに沿って60件のノートを作成。日本語タイトルは延原謙訳の標準的表記を仮に採用していますが、review-status: pendingのまま残し、原本との照合を今後の課題としています。
ここまでの整理
- 「育つWiki」の考え方を2つの記事から吸収し、使用実績の追跡・ブリーフ生成という新しい運用パターンを追加
- eBSJの謎ファイルからRedmond索引の存在を突き止め、BSJ・SHJ双方で本格的な記事単位データベースの抽出に着手
- CLAUDE.mdを「短く保つ」原則で再構成しつつ、実際にドリフトを起こして学びを得た
- Obsidian本体の設定(プラグイン・保存先・テンプレートフォルダ)が完了し、Dataviewの動作を確認
- 正典60編のスタブノートを作成し、Vaultの基盤づくりに着手
なお、今回のBSJ/SHJ索引データの解析には生成AIを利用しています。対象は正規に購入したeBSJ/eSHJ収録の資料であり、抽出した書誌データベースも現時点では個人の研究用途に限定し、外部への公開・配布は行っていません。利用規約には収録ファイルの複製・配布を禁じる条項があり、外部AIサービスへの資料アップロードという行為自体が今後どう位置づけられるべきか、引き続き注意深く運用していきたいと考えています。
次回は、正典ノートの本文充実(登場地名・人物のリンク付け)や、SHJ号ノートの「関連文献」セクションの紐付けなど、蓄積したデータを実際に「育てる」段階の記録になる見込みです。

コメント