見出し画像

Obsidianのリンク作業がめんどすぎて、Gemini CLIにやらせてみた

Obsidian、リンク作るのしんどすぎ問題

Obsidianを使っていると、最初にぶち当たる壁が「リンク作業」のめんどくささ

私は普段ジャーナリングをするんですが、その内容をつなげて蓄積し、アウトプットに活かしたい!という希望があります。

でも知識を“つなげる”のがウリのはずなのに、その「つなげる」作業がめちゃくちゃ手間なんですよね。

メモ同士の関連性を考えて、ちまちまリンクを貼って、タグをつけて…みたいな地味作業の連続。

やれば便利になるのはわかってるけど、毎回それを手動でやる気力が出ない。

その結果、「リンク貼るのがめんどくさいから、Obsidianを触らなくなる」という本末転倒ルートに入ってしまう。

正直、自分自身もまさにこのルートにハマっていて、しばらくObsidianを放置していた時期がありました。


そんなときに見つけたのが、まりさんがやっていたGemini CLIとObsidianの組み合わせ。

彼女がまさに、noteの記事をObsidianに取り込むときにGemini CLIを使っていて、 「これならリンクづけまで自動でできるかもしれない」と思ったのが始まりです。

まりさんの記事は👇️からどうぞ。




そもそもGemini CLIって何者?

Gemini CLIは、GoogleのGeminiモデルをコマンドラインから手軽に使えるようにするツールです。

「LLMに聞きたいことを、ターミナルから直接投げかけられる」というだけでも便利なのですが、 このツールの面白いところは、ローカルのファイルに対して自然言語で指示を出せるという点。

たとえば、「このフォルダ内のMarkdownを全部読み込んで、それぞれの関連度に応じてリンクを貼って」といった処理が、 まさにそのままの日本語で通るような感覚で実現できる。

しかも、処理内容がシンプルなわりに柔軟で、「ObsidianのノートにAIの力を使って介入する」ための入り口としてちょうどいい立ち位置にあるツールなんです。


noteの記事をObsidianに取り込むまでの手順ざっくり

具体的にやったことはシンプルで、ざっくり言うとこんな流れです:

  1. noteから記事の一覧をエクスポート(noteの機能で一括出力)

  2. Gemini CLIにファイルを読み込ませる形で、記事ごとのMarkdownファイルを作成

  3. そのファイル群をObsidianのフォルダに配置

ここまでで、「note記事がObsidianで読めるようになる」状態は整いました。

が、本題はここから。次は、「どうリンクさせるか」です。

AIにリンクを任せてみたら大失敗した話

最初にやってみたのは、Gemini CLIに対して、

このフォルダ内のMarkdownを内容ベースで関連付けて、相互リンクを貼ってください

という素直なお願い。

するとどうなったか。

すべての記事に対して、ほぼすべての記事がリンクされるというカオスな事態に。

関連度もなにもあったもんじゃなくて、ただ全ノートにリンクを貼っただけの状態。

まるで全記事が無理やり仲良しグループにされてるみたいで、ネットワークというよりはリンクの山。

このとき「あ、AIといっても雑に頼むと雑に返してくるな」と痛感しました。


ベクトル化と類似度で“それっぽく”つながった?

そこで改めて、Gemini(2.5 Pro)に「どうやったらもっと意味のあるリンクが作れるか」を相談。

すると返ってきたのが、

  1. テキストのベクトル化

  2. コサイン類似度を計算

  3. 一定のしきい値を超えるものだけリンクする(とりあえず0.7に設定)

というアプローチでした。

検索エンジンで関連度順にWebサイトを表示したり、Amazonのおすすめ表示なんかに使われる方法だそうです。

なるほど、と思ってそのままGemini CLIに投げ直してみたところ、 今度は明らかに「それっぽい関連」があるノート同士がリンクされている感じが出てきました。

(たくさんPythonコード書いてくれましたが、全部無視してやることだけGemini CLIに渡しました)

自動でこれくらいつながった

シリーズものなんかは、前後に近い記事のみとリンクされてたりします。

一番下の部分がファイル同士のリンク
ジャーナリング系でリンクをつないでくれたり

ただし、今度は逆にしきい値が高すぎたのか、ちょっとリンクが少なすぎる問題が発生。

シリーズものは前後だけじゃなくて全部リンクしてほしい

それっぽい記事同士はつながってるけど、「あれ、これも関係あるのに?」みたいなケースがちらほらありました。

「つなげすぎてもダメ」「絞りすぎてもダメ」
──このあたりの調整は、まだまだ試行錯誤が必要そうです。


AIリンクの限界と、今後に向けた試行錯誤

今回やってみて感じたのは、AIにリンクを任せることは思っていた以上に“現実的”だということ。

ただし、精度を高めようとすると条件の調整やしきい値のチューニングなど、 結局こちらが何らかの判断を挟む場面が出てきがち。

でも、そこに人間の手を挟むのがまためんどくさい。 なので、基本的には「AIがルールベースで最後までやる」方向を目指すのが自分に合っていると改めて感じました。

今後やってみたいのは、

  • しきい値を複数段階で設定しつつ、自動処理の完成度を上げること

  • タグなどの補助情報を追加して、より意図に近いリンク生成ができるようにすること

人間がレビューして直す、という工程は極力入れない。

主観を抜いた“機械的なネットワーク”でも十分役立つという前提で、 その自動化精度を上げていく方向に進んでいきたいと思っています。

おわりに:とりあえずObsidianを触るハードルは下がった

今回やってみて、何よりよかったのは「リンクがめんどくさいからObsidianを開かない」という状態から脱却できたことでした。

完璧なネットワークでなくても、自動でそれっぽくつながった状態があるだけで、「まあちょっと見てみるか」という気持ちになれる。

リンクを手で貼るのが当たり前だった時代から、AIがそこを先回りして“つなげてくれる”時代へ。

その一歩目としてGemini CLIはとても使いやすく、Obsidianの入り口としてもちょうどいいツールでした。

今後ももっと雑に、もっと手間なく、自分の知識をつないでいける環境を整えていきたいと思います。

もしこの記事が少しでも役に立ったと思ったら、「スキ」と「フォロー」で応援してもらえると励みになります。

それでは皆様、お疲れ様でした。

いいなと思ったら応援しよう!

F.E.S もし記事が面白かった、役に立ったと思ったらよろしければ応援お願いいたします!