Open3

Obsidian x Claude Code

hirose30hirose30

もともと、ObsidianはMarkdown対応のメモ帳として利用してたけど、今年に入って、AI連携やローカルLLM、RAGの知識源としての活用を模索し始める。
当初はVS CodeでObsidianのファイルを開き、コーディングエージェントと併用していましたが、2つのエディタを併用する手間があり、あまりはかどらなかった。

2月にClaude Code がでたときもコーディングエージェントとしてしかみていなかったので、あまり琴線に触れなかった。

6月に、Claudeのモデルと、ClaudeCodeがアップデートされたClaude CodeをVS Codeのターミナルで試したところ、その完成度の高さに気づいた。

そして、同じ環境をObsidianのターミナルプラグインで再現できることに思い至り、現在はObsidian内で直接Claude Codeを利用する形に落ちついた。

polyipseity/obsidian-terminal: Integrate consoles, shells, and terminals.

VS Code で文章書きながら、Obsidian を使っていると、どうしても、ドキュメントの自動セーブがないので、手を入れた状態で未セーブのファイルが発生しイライラしていた。

Obsidianのように、書き込みが強制保存されていく環境のほうが、コーディングエージェントの別プロセスからの書き込みが発生する状況にはいいと思う。(コードの管理は別の話だと思うが)


この時点でだいぶ満足度は高く、色々文章記述に活用できると思っていたが、Obsidianに溜め込んだKnowledgeをClaude Codeを使ってLLMに流し込めることで、いろいろな活用が出来るとわかったので、それをメモって共有しておくために、スクラップを作りました。


環境は
Mac M2 MBA
Windows のClaude Code はWSL内に入れたけど、Windows側に出してくるのが面倒になってWindows環境のObsidianで環境構築するのはまだ試していない。

hirose30hirose30

ObsidianでClaude Codeを使い始めた当初、そのメリットはファイル編集時のコンフリクト解消といった、日々の小さなストレスを減らしてくれる点にあると思っていました。
手動での修正とAIの編集がぶつからない、というのVS CodeのRooCodeでObsidianをいじっていた頃に比べればだいぶ快適です。

ただ、使い続けるうちに、本当の価値はもっと別のところにあると気づきました。
それが、書き始める前に、ドキュメントの情報を構造化し、整理できることでした。

探索・計画・実装・コミット

Claude Codeを使う上でのベストプラクティスとして「探索・計画・実装・コミット」というワークフローがよく知られています。これはコーディングのための手法ですが、ドキュメント作成に応用してみてもとてもしっくりきます。

  1. 探索 (Explore)
    まず、書きたいテーマに関する情報を集める。自分のObsidian Vaultに蓄積したメモからはもちろん、必要なら外部ソースからも情報を収集する、材料集めの段階。

  2. 計画 (Plan)
    次に、集めた材料をもとに、ドキュメントの骨子を組み立てまる。LLMと対話しながら「この情報をどう見せれば伝わるか」「どんな構成が論理的か」を練り上げていく。

  3. 実装 (Implement)
    計画したアウトラインに沿って、実際の文章を生成していく。LLMが生成したドラフトに対して「この表現を直して」「この点をもう少し詳しく」と行った感じに、対話的に理想のドキュメントへ仕上げていく。

  4. コミット (Commit)
    完成したドキュメントを最終版として保存・共有します。コーディングにおけるバージョン管理のように、一つの成果物として確定させるプロセスです。


結局のところ、これは普段から頭の中で行っている「情報収集 → 構成 → 執筆」という流れと同じです。しかし、その各プロセスにおいて、LLMがこれほどスムーズに、そして的確にアシストしてくれる体験は新しいものでした。

Roo Code でも、同じようなことをやろうと思えばできたかもしれませんが、「探索・計画・実装・コミット」というメンタルモデルとそれを前提として実行をサポートするツール・エージェントの挙動がセットであるのが、ClaudeCodeの特長であり、この触り心地は、今まで使ってきたコーディングエージェント(執筆エージェントではない)とは別格でした。