ローカルノートアプリ「Obsidian」が、AIコーディング向けの知識ベースとして開発者の間で関心を集めている。要件や設計意図をObsidianに整理して蓄積し、MCP(Model Context Protocol)でAIコーディングツールと接続することで、関連文書の参照からコード生成までを効率化できるためだ。一方で、情報設計の負荷やMCP接続の安定性には課題もある。
記者は今回、Obsidianを実際に試用し、AIコーディングの文脈管理にどこまで有効かを検証した。
Obsidianは、Markdownファイルをローカルに保存して管理するノートアプリだ。特徴は、ノート同士をリンクで結び付けられる点にある。特定の単語や文書タイトルを「[[ ]]」で囲むとリンクが生成され、関連性はグラフでも可視化できる。
例えば、あるノートから別の人物や資料のノートへリンクを張れば、それがどのメモや文書とつながっているかを一覧しやすくなる。フォルダにファイルを積み上げていく従来型の管理と異なり、メモ同士の関係性をそのまま蓄積できる構造になっている。
AIコーディングでObsidianが注目される背景には、文脈管理との相性の良さがある。AIから精度の高い出力を得るには必要な情報を適切に渡す必要があるが、入力できるコンテキストには上限がある。情報を詰め込みすぎると、かえって出力品質が落ちる場合もある。
このため、要件、設計意図、データフローなどをノートとして分けておけば、AIは必要な文書だけを選んで参照しやすくなる。さらにMCPを組み合わせれば、その流れを自動化できる。
Claude CodeにObsidian用のMCPサーバを接続すると、AIは保管領域(ボルト)内の文書を直接開き、バックリンクでつながる関連ノートもたどりながら文脈を把握し、コード生成を進める。人手でコピー&ペーストしたり、都度プロンプトを組み立てたりする手間を省けるという。
記者は、AIコンパニオンアプリの開発を想定してObsidianを検証した。対話応答生成モジュールが想定通りに動作するかを確認する必要があり、そのためのテストハーネスを設計した。
テストハーネスは、本番サービスのコードを変更せずに、特定機能が意図通りに動くかを自動で検証するための枠組みだ。今回はこの設計と実装の整理にObsidianを用いた。
最初のハードルは、フォルダ構成の設計だった。何を、どの構造で、どの順序でまとめるかをあらかじめ決める必要があったが、当初は手探りの状態だった。
その後、Claudeの支援を受けながら、構成を4フォルダ・13ノートに整理した。具体的には、「01_requirements」に機能要件と制約条件、「02_architecture」にコンポーネント構成、データフロー、ファイルレイアウト、「03_prompts」にAIへ渡す指示文の草案、「04_results」に実験結果をそれぞれ保存した。
各ノートには、テスト実行、データ注入、外部APIの置き換えなど、部品ごとの役割を記載し、バックリンクで相互に接続した。AIが1つのノートを読んだ後、関連ノートへ自然に移れるよう、参照経路も事前に設計した。
設計文書をそろえた後は、Claude Codeを起動し、ObsidianのMCPサーバパッケージをインストールしてボルトのパスを登録する。続いてMarkdownファイル名を指定し、ハーネスコードの作成を依頼した。
するとAIは、該当ノートを開いた上で、バックリンクをたどりながら関連ノートも参照し、コードを生成した。コピー&ペーストやプロンプト組み立ての工程は不要だったという。
生成したコードをpytestで実行したところ、6件のテストケースをすべて通過した。これと同程度の検証環境をゼロから手作業で構築する場合、半日ほどかかる可能性があるとしている。
一方で、非開発者にとっては導入のハードルもある。フォルダ構成の切り方や、どの情報をノートに入れるべきかを判断するには、前提としてコード構造への理解が求められるためだ。
日常的にメモを蓄積していても、そのまま流用できるとは限らない。フォルダ名の見直しやノートの再分類といった作業が別途必要になる。
MCPの接続プロセスもスムーズとは言えなかった。Obsidian用のMCPサーバがボルト内を探索する過程で、応答が数時間単位で遅延する現象が繰り返し発生したという。
GitHub上の開発者コミュニニティでも、同様のエラーや不具合に関する報告は多い。MCPのエコシステム自体がまだ初期段階にあり、安定性の改善は今後の課題として残る。
単発の単純作業では、かえって非効率になりやすい面もある。処理速度だけを見れば、Claude Codeで直接作業するか、Claude Projectに文脈を与えてアーティファクトを生成する方が速いケースもあるという。
そのため、Obsidianの強みは、複数モジュールが絡み、要件変更も多い複雑な長期プロジェクトで発揮されるとの見方がある。設計文書が蓄積されるほど、AIが参照できる文脈は厚みを増す。新機能を追加するたびに一から説明し直すのではなく、ボルトにノートを追加していけばよい、という使い方だ。