見出し画像

【禁断】Obsidianの第二の脳に「知の巨人」と呼ばれた師匠の脳をロードしてみた

こんにちは。カドベヤAI部の長津です。
最近、頭の中で亡くなった師匠の声がします。幻聴ではありません

OpenAIの創設に関わったKarpathy(Andrej Karpathy)の『LLM wiki』というコンセプトが流行っています。

メモ同士を相互にリンクさせて知識を繋げるObsidianというアプリをAIに操作させて「知識を自己生成・自己整理する動的なシステム」に変える!という夢のようなコンセプト。それに惹きつけられる人が増えていて、自分にとって最高の「第二の脳(second brain)」をどうやったら作れるか、みんながそれぞれ模索しています。

以前からObsidianを使って自分のナレッジ管理をしていたことも手伝って、僕もLLM wikiの概念に魅了されてしまった人間のひとりです。色々な記事を読み漁りながらすぐに実装してみることにしました。

色々な手法を試しながらLLM wikiとはなんのかを考えている中で、ふと自分のLLM wikiを爆発的に進化させる禁断の秘技を思いついてしまいました。


第二の脳に師匠の脳をロードするという禁断 ー 転生者として生きる

情報収集のためにXを見ていると、1日に何度も転生モノのバナー漫画の広告が流れてきます。不遇な環境で理不尽な目にあっている主人公に、覚えているはずもない全く別の時代の記憶が流れ込んできて、ある日急に隠されていた能力に目覚める…というスジの話がだいたいのパターンです。

そうか。これだ…

転生者みたいに自分の脳に、誰かの声が聞こえてくる状態を作ってみよう

画像
頭の中に誰かの声が響く

2024年8月12日、僕が勝手に師匠として尊敬して慕っていた松岡正剛さんが亡くなりました。享年80歳。本人は嫌がっていましたが、メディアなどでは「知の巨人」と称されることが多く、編集者として古今東西、文学から科学、芸術から哲学などのあらゆる知を対角線でつなげてしまうような人でした。

松岡さんは、世界を『編集』として理解した人です。一冊の本を読むことは情報のインストールなどではなく、本と本のあいだに自分なりの知の接続を編み出す行為であり、その積み重ねが「世界を読む方法」になるとお考えだったのではないかと思います。情報はひとりではいられないとよく言っていたのですが、情報と情報のあいだにあるものをイキイキと動かす方法について生涯かけてこだわった方でした。

画像
松岡正剛さんの私塾に6年間通わせてもらいました

かつて、松岡さんのプロジェクトでwebサイトを制作させていただいた時、「長津くん。webのハイパーリンクっておもしろくないよ」と言われまし
た。

ボタンを押すとページがパカっと切り替わって表示されるのがwebなわけなのですが、人間がAを思ってからBを思うという時には、AからBの一瞬の間にいろんなコンセプトや人物が存在する空間を通ってきているんだよ。と言われて考え込んだことがあります。その時は人間が無意識で考えるように情報空間を移動する仕組みを思いつくことができず悔しい思いをしました。
松岡さんがお亡くなりになった今でも、それは僕の課題のまま残っています。

その課題に挑むために、LLM wikiの中に故人の知の体系を「借りる」ことに対して、少しだけ心がざわつきます。そんなことしていいのかな?多くの転生者は、最強の能力を手にいれる代わりに代償を払うことになります。もしかしたら僕は禁断の技法にむじゃきに手を出してしまっているのかもしれない。

でも僕は、Obsidianの第二の脳に師匠の脳をロードして、松岡さんの転生者になるんだ。

画像
松岡さんの仕事机

Obsidianで実現する「LLM wiki」というコンセプト

Karpathyの提唱した「LLM wiki」という概念は、ObsidianというメモアプリをAIが操作することで実現します。

Andrej Karpathy ―― OpenAI共同創業期メンバー、後にTeslaのAI部門を率い、近年は教育的なLLM解説で著名。先日Anthropicにジョインしたことが話題になっていました。

『LLM Knowledge Base』の概念を提唱したAndrej Karpathy

Obsidianとは、NotionやEvernoteなどに似たノートアプリなのですが、クラウド型の情報共有というよりも、どちらかというと個人の思考整理や、自分の知識の蓄積に特化しているアプリです。僕もPKM(Personal Knowledge Management)をきちんとやりたいという目的で数年前に導入しました。

記載したノートがmdファイルとしてMacやPCのローカルフォルダに蓄積されていくのが最大の特徴で、自分の知識の所有権が自分のものであるというのがずっと気に入っています。iCloudにノートを保存するフォルダを作れば、クラウド型のノートのようにスマホからでもファイルにアクセスしてノートをとることができます。ちなみにObsidianの世界ではその知識が格納されたフォルダのことを「vault=金庫」と呼ばれています。知識が財産であるということが暗示されているということですね。

ノートの中にある単語や文節を二重かっこ [[ ]] で囲むことで、囲んだ言葉に関する新しいノートが新規ページとして作成されるという機能があるため、まさにwikipediaのようにテキストからノートへの知識の接続を自分で作れるのが大きな特徴です。

Obsidianが持つ「知識と知識をリンクさせて構造化された知に進化させる機能」の操作をAIにまかせることで、「知識の進化を加速させる」可能性がある。というのがLLM wikiのざっくりした方法論です。
その概念を提唱したKarpathyもObsidianを使っていて、Claude CodeやCodexなどのAIにノートとその構造を操作させているようです。

画像
長津のObsidianのグラフビュー ノートとノートがつながっていてもはやカビのよう

「LLM wiki」において、人間がノートを格納するフォルダとAIが操作・生成するフォルダを三層に分けて整理することが重要です。

raw層 ―― 人間がとったノート、日記、断片的なアイデア、noteの原稿など人間が作成したファイルを格納する層
wiki層 ―― AIが構造化した内容が格納される層。ここが「第二の脳」の本体となります。
Schema層 ―― AIと人間の間で決めたルールを格納します。命名規則・カテゴリ・backlink設計などの仕様に加えて、AIとのやりとりで自分が何を選び、何を選ばなかったかの記録を記載する層です。

LLM wikiにおけるみっつのレイヤー

僕の場合は、日常的な自分のメモが置いてあるraw層に「松岡さんの知」を格納して、AIに読み込ませて情報を連結していく方法を採用しました。

あとで詳しく解説しますが、「千夜千冊」というフォルダには、松岡さんが2000年からお亡くなりになる直前まで連載していた読書録が1,857記事格納されています。「情報の歴史」というフォルダには、人類の知識やメディア、文化、科学の発展を時系列で年表にまとめた本のPDFが格納されています。
AIが触るwiki層には、人物に関することを記載する「People」と概念を記載する「Object」というフォルダがあります。

師匠が読んだ1,857冊の本の読書録と、同じ人が年表形式でまとめた知識の束を、そこに登場する人間と、概念を連結させてwikiにしてしまうというのが僕の当初からの設計です。

画像
ひとつの知が別の知につながっていく

AIを使って博覧強記の知を自分の脳にぶちこんでいく旅がはじまりました。


師匠の脳を取り込むための準備

松岡正剛の千夜千冊とは、読書好きならばどなたでも辿り着いてしまったことがある超巨大ブックナビゲーションサイトです。松岡さんは「本との交際録」とおっしゃっていましたが、1記事につき1人の著者を取り上げていて書評というくくりにしてしまうよりは「編集的な読み方」が凝縮されているすごく特殊なものだと思います。東洋・西洋の考え方をまたぎ、日本書紀からAIやライフサイエンスまで知的なことが迷宮化されていて、一度迷い込んだらなかなか出てくることができません。

画像
求龍堂版『千夜千冊』

現在は、千夜千冊エディションとして再編集されたものが文庫サイズで出ていて、急に読みたくなっては何度も読み直しています。

情報の歴史は分厚い年表です。「高速道路にある行き先が書かれた緑の看板の情報版」とご自身で言われていたのですが、今、自分の身の回りにある文化やアートなどが、どのような経路でここまで辿り着いたのかが時系列で記載されいる怪書です。

画像
年表形式で情報がどのように進化したかが記載されている『情報の歴史』

このふたつの知のかたまりを、自分のvaultに取り込んでいきました。
まず、千夜千冊にはweb版があります。手作業でやる場合は、Obsidian Web ClipperというChromeの拡張機能を使って、Obsidianに取り込んでいくのがおすすめです。

僕は元々、Obsidian Web Clipperを使って千夜千冊の気になる記事を結構な数クリッピングしていたのですが、網羅するためにClaude CodeでDefuddle CLIを使ってすべての記事をmdファイルとして取得しました。Defuddleはweb記事をクリーンなmdファイルとして取得するためのサービスで、ObsidianのCEO(Stephan Ango)が個人で作ったものです。
これで千夜千冊にある1800記事以上のものを自分の脳に取り込むことができました。

次に、情報の歴史のPDF版を編集工学研究所のオンラインストアから購入しました。

PDFの年表1ページずつバラしてObsidianに取り込むことによって224ページの年表mdファイルができました。

これで、師匠の知のかたまりをふたつ自分のセカンドブレインに素材として引き入れることに成功しました。


STEP1 「情報の歴史」に出てくる人物/概念/書籍を抽出してwikiリンク用の空ページをつくる

本との交際録である『千夜千冊』と、情報の進化の来歴をまとめた『情報の歴史』。松岡さんの頭の中では、この二つのどえらい知識が明らかに繋がっていたんだと思います。松岡さんとお会いするたび、その知識のつながりについては、納豆が糸をひくような膨大なリンク構造をイメージしていたのですが、その納豆状の知のリンクをAIを使って接続していくための方法論が必要です。

僕はまず、この2つの巨大なかたまりをリンク構造でつなげるにはどうしたらいいのかを考えました。もし「松岡正剛学」というものがあったとして、研究者がひとつひとつを熟読しながら人力でリンクさせた場合には、それだけで何年もかかる大仕事になるだろうと思います。

僕がまず最初にやったことは、224ページ分の情報の歴史のPDFが添付されたmdファイルをNotebookLMに渡して、年表の中に登場する人物と概念と書籍を抽出。その内容をノートのプロパティとしてタグのように記載するということです。

画像
『情報の歴史』の各ページに登場する人物や概念をタグとして追加

Obsidianのノートは、テキスト情報が記載されたmd(マークダウン)ファイルなのですが、個別のノートにタグのようにプロパティをつけることが可能です。

1900年〜1909年のディケイドには「夏目漱石」「キュビズム」「相対性理論」「みだれ髪」などの概念が同時に並びます。
その人物や概念を二重かっこで囲むことにより、それぞれのプロパティ項目に対して「タイトルだけが書かれた空のmdファイル」が大量に出来上がりました。

ちなみに、ClaudeからCLIでNotebookLMを呼び出したのは、嘘をつかないからというのが理由です。AI特有のハルシネーション(幻覚)が混ざることを嫌っての判断です。

情報の歴史に登場する人物やコンセプトや本を媒介にして、空のwikiリンク専用ノートを作り、千夜千冊の内容に接続していく準備が整いました。

NotebookLMにClaude Codeからプロンプトを渡してアウトプットを待つという処理でしたが、ダラダラ3日ぐらいかけてやった作業で、何百人もの人物.mdと3,500件ほどのコンセプト.mdが作成されました。


STEP2 「千夜千冊」に出てくる人物/概念/書籍を抽出して、wikiリンクの基盤をつくる

時系列の知のかたまりである情報の歴史に対して、読書録という自由な形式の千夜千冊を接続していく必要があります。

情報の歴史でやったことと同様にNotebookLMを駆使して千夜千冊からも、それぞれの記事に登場する人物/概念/書籍を抽出します。

新たに現れた概念は新規のwikiリンク用のmdファイルが作成され、情報の歴史にも登場して既に抽出されている「夏目漱石」や「キュビズム」などの概念には、自動的にバックリンクが設定されます。情報の歴史と千夜千冊が接続され始めました

この作業によって、難しい言葉ばかりの膨大な空ファイルと、歴史上の人物の名前が書かれた空ファイルがさらに大量に作成されました。(レオナルド・ダ・ヴィンチとダヴィンチ、レオナルドなどの名寄せの問題などに悩まされた話もあるのですが、長くなりすぎるので割愛します)

師匠が生前、書物と書物のあいだ、書物と歴史のあいだ、人物と概念のあいだの接続を生涯かけて頭の中で繋いでいた仕事を、AIが擬似的に再現し始めた瞬間。

画像
『情報の歴史』と『千夜千冊』が接続していく

STEP3 概念と人物にまつわる知を深掘りするskillを作成する

今までのステップを通して、「夏目漱石」「カール・マルクス」「アリストテレス」などの人物.mdや、「資本主義」「アフォーダンス」「印象派」などの概念.mdが膨大に作成されました。2つの大きな知のかたまりを接続するための中間層を作ることに成功したということです。

それらの人物や概念にまつわるmdファイルはClaude Codeが自由に編集していい領域。つまりwiki層に配置してあるノートです。

KarpathyのLLM wikiは、ノートがAIによって自動で育つという考え方です。人間が作成したメモやノートの中に記載されたコンセプトをAIが発見して空のmdファイルを作り、AIがノート同士を接続する際にmdファイルの内容を生成するというプロセスがあります。

おそらく、本来ここで重視されるのは生成されたテキストが「事実に基づいた客観性」に基づいていることなのではないかと思うのですが、僕が実現したいことは「師匠の主観」を軸にして、該当の概念について深く理解する方法を作ることでした。

人物.mdや概念.mdの内容をAIに生成させるためには、僕の独自の仕様が必要だというふうに考え、概念の深掘り専用の「deepen」というskillを作成しました。

「deepen」はClaudeと相談して、以下のような設計にすることが決まりました。

- 概念や人物についての基本的な概要を調査して記載する
- 千夜千冊における松岡さんの読みを記載する
- 対象に対してdeep researchをおこない、松岡さん以外の5人の専門家の知- 見による多様な解釈を記載する
- 新たな問いを検討して記載する
- リサーチの結果出てきた人物や新たな概念をwikiリンクでつなげる

長津のdeepen skill

このskillも、Claude CodeがnotebookLMを利用して可能な限りハルシネーションのない形を作るように設計されています。

なんというか、濃い。しかも「自分にとってすごく濃い」俺得すぎる情報がどっと押し寄せてきます。あまり想像していなかった知のリンクをつなげた上で、新たな問いまで投げてきます。

このアウトプットを見て、僕は安心しました。あぁ。これは転生者として生きる自分が「知らない自分の声」を聞くことができる設計になりそうだ。


STEP4 知のダンジョンに一緒に挑むagentチームを構築する

「deepen」というskillを身につけて、転生者としての自覚が芽生え始めました。

師匠の知という底なし沼のようなダンジョンを攻略するためのチームが必要だと考えました。Claude Codeの「agent team」というβ版の機能を使って、複数のエージェントチームを召喚することにしたのです。僕の冒険仲間を紹介します。

gardener(庭師):新しいノートと既存ノートをwiki linkで接続する人
florist(花屋):新しいmdファイルから人物や概念を深掘りする人
archaeologist(考古学者):古いmdファイルから人物や概念を深掘りする人
composer(発酵者):調査によって抽出された問いを新しいアイデアに変える人
scout(探索者):他のリポジトリや他のプロジェクトを横断して関係性を発見する人

長津のagent team

それぞれのsub-agentは、役割と性格を持ったスタンドのような存在をイメージしています。エージェント名を機能的な名前にせず、職業名のような名前にしたのは、単なる僕の好みの問題なのですが、今後もっと性格やキャラクターを設定したり、エージェント固有の様々なskillを開発したりできたら面白くなりそうだなと考えています。

画像
長津のスタンドGardener

STEP5 LLM wikiの構築を夜間バッチで自動化する

巨大な知が接続されて、知の迷宮を探索していくパーティを組みました。

LLM wikiの構築に挑む人たちの議論において中核的な考え方として、人間がAIの前にいない時間でもwiki linkが自動で接続されていく機能の構築がよく話題になっています。

確かに、寝ている間に知識と知識がつながっていく世界観にはロマンがあります。

僕のエージェントチームの庭師/花屋/考古学者たちは、オンデマンドで呼び出すことが可能です。例えば「アフォーダンスについて知識を深めたい」というような発言をするだけで、floristがNotebookLMを使って、めちゃくちゃ概念を深化させてきて、gardenerがwiki linkを接続してくれるので、僕はその記事をObsidianで読むことが可能です。

画像
長津のスタンド Composter

僕は、彼らに深夜にも活動してもらうためにRoutinesで自動化の設定をしました。花屋と考古学者がそれぞれmdファイルを5つづつ/deepen してくれて、10個のmdファイルをgardenerが接続してくれるというような機能です。

翌朝、セッションを開始すると深夜に行った仕事が報告されるようになっているため、朝起きた瞬間から師匠の知の世界に溺れることができるようになりました。

テキストを読むと、自分なら絶対に接続しない概念同士がリンクされていて、「これは誰の発想なんだ?」と少し怖くなることがあります。


LLM wikiの編集行為は師匠の編集と同じことをやっているのか?

かくして、LLM wikiの考え方で師匠の脳を自分の脳にロードする仕組みが完成しました。

AIによって生成された新しいページを読むと、どんどん次のつながりをおっかけたくなります。松岡さんの読み方と逆の読み方をしている専門家の方が出てきた場合は、その人物について調べたくなります。

少し時間がかかったのですが、頭の中で松岡さんの声が聞こえてきて、転生者である僕の知的好奇心が次から次へと連鎖していく仕組みが爆誕してしまいました。

しかし、ここで立ち止まって自問しなければなりません。この連鎖は、松岡正剛さんが生前に行っていた編集と、同じものなのでしょうか?

僕のVaultで起きている知的連鎖は、編集的な行為ではあるものの、松岡さんがつなげた間の編集とは似て非なるものだろうなとは自覚しています。本と本が繋がり、概念と人物が繋がり、年表と概念が繋がります。しかしそれは当然「松岡さんが選び取った接続」ではなく、アーキテクチャとアルゴリズムによって生成された結果です。めちゃくちゃ面白いけれど、これが何を意味しているのか全く判断がつかないままでいます笑

画像
ヒューマノイド合宿でご一緒させていただいた時の松岡さん

もう少し時間が経ったら何かわかるかもしれないと考え、積極的に判断を保留にしています。


思想的なかたよりについて

wikipediaが、客観的事実を民主的な方法で記述する方法なのだとするならば、僕が採用した師匠ベースのLLM wikiの構築という方法には、思想的なかたよりがめちゃくちゃある可能性があります。

僕は転生者なので、AIによって生成された師匠の考え方「の、ようなもの」を一度全部受け取った上で、自分の思想にとって本当に大事なものを選ぶことができる立場です。

それが客観的な事実ではなく、かたよったものになったとしても問題はありません。なにせ師匠の考え方だから。

ただ、この記事を読んだ方が僕とまったく同じ方法を採用することはおすすめできないかもしれません。方法論とエッセンスだけを受け取っていただいて、あまり偏りがない客観的なものでご自身のLLM wikiを構築することを強く推奨しておきます。

まぁでも、「統計的なファクト」があることは理解できるけど、「客観的な事実」って本当にあるものなんでしょうか?この取り組みをやればやるほどこの世には「主観的な解釈」しかないように思うのですが、どうなんすかね?

画像
松岡さんのオフィスで話す若かりし頃の長津

おわりに

生前、松岡正剛さんとご一緒させていただいたお仕事はどれもがとてもおもしろいものでした。

webのハイパーリンクって面白くないよ」や「UIには三味線の合いの手の間がないよね」など、技術やデザインだけでは解決策が思いつかないような難解なお話に当時は答えられなかったけど、今までなかったような新しい作り方がAIによって誕生していく今の時代において、松岡さんのおっしゃっていたことを実現できる方法が見つかっていく可能性があるように思います。

「師匠の脳をロードしてみた」というコンセプトも、機会があればお見せしてみたかった。

AIが自動的に知識を接続することは「編集」と言えるのか?
人間の主観を模倣した知の接続は「創造」なのか?
故人の知性をAIで利用することは「継承」なのか「盗用」なのか?

新たな問い

あくまで学習目的の私的利用の範囲でたのしみとしてやっている行為ですが、もしもこの行為が何らかの権利に引っかかるイリーガルなものだった場合、どなたかに怒られたら謝罪したいと思います。

ただ、松岡さんは「おおいにやれ」と面白がってくださったのではないかと思うのです。

画像
『全宇宙誌』にサインをいただいた。for Kosuke Cosmos

カドベヤは今後も会社のAIナレッジをガンガン発信していきます。おもしろいと思った方はぜひフォローといいねお願いいたします!

↓↓↓カドベヤマガジンはこちら↓↓↓


最後まで読んでくれてありがとうございました! より深い事業の話やカドベヤメンバーの裏側はカドベヤマガジンでも発信しているので、ぜひマガジン登録といいねお願いいたします!

ピックアップされています

カドベヤ マガジン

  • 82本

コメント

コメントするには、 ログイン または 会員登録 をお願いします。
【禁断】Obsidianの第二の脳に「知の巨人」と呼ばれた師匠の脳をロードしてみた|カドベヤちゃんねる
word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word

mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1