自律型セカンドブレイン:Claude Code × Obsidian で睡眠中にノートを自動整理・接続する方法

@nobel_824
日本語4 週間前 · 2026年6月21日
122K
98
10
0
274

TL;DR

本ガイドでは、自律型のナレッジパイプラインを作成する方法を詳しく解説します。Claude Code を「夜間シフト」のエージェントとして、Obsidian をインターフェースとして活用することで、未整理のノートを構造化され、相互リンクされたセカンドブレインへと自動的に変換できます。

今年、記事を200本くらい保存しました。なのに手元に残っているのは、40個のメモと、二度と開かない「あとで整理」フォルダだけです。

メモがたまるだけでうまく使えないのは、あなたのせいではありません。どんなメモ術も、結局は「集めて、整理して、関連づけて、見直す」という作業を、自分一人でずっと続けることが前提になっています。忙しい毎日のなかでこれを続けられる人は、ほとんどいません。続かないのは気合いの問題ではなく、手間が多すぎるからです。

もし、その面倒な整理を、寝ている間に肩代わりしてくれる仕組みがあったらどうでしょう。昼は思いついたことをメモに放り込むだけ。夜のうちに、ぐちゃぐちゃの走り書きがきれいに整理され、関連するメモ同士が自動でつながり、「3週間前のあなたのメモと矛盾しています」という指摘まで添えられて、朝には机の上に並んでいる。

しかもこれは、特別な環境がなくても、いまは自分で組めます。使うのは Claude Code と Obsidian。どちらも手元のパソコンで動く、ふつうのツールです。この記事では、その仕組みの作り方を、今日から手を動かせる順番で解説します。

tatsuki(@nobel_824)と申します。中小企業向けに AI の活用サポートをしていて、Claude / Codex の業務導入を手伝いつつ、自分でも Claude Code を1日中走らせています。

この設計、元ネタは海外で148万表示を集めた「How To Build a Second Brain That Runs Itself With Kimi & Obsidian (Full Course)」というビルド解説です。発想がとてもよくできているのですが、ツールは Kimi Work である必要はありません。大事なのは「整理労働を夜間バッチに丸投げする」という設計思想のほうで、これはツールに依存しないからです。なので今回は、僕が普段から使っている Claude Code と Obsidian で組み直してみます。

関連記事:Claude Codeの教科書〜基礎編〜

tatsuki | Claude Code活用支援 on X — cover

https://note.com/nobel/n/n7d7a422f828f

第1章 セカンドブレインに「夜勤」を作る

最初に、全体像がスッと入る考え方を共有します。

セカンドブレインを「アプリ」ではなく「夜勤専門の小さな部署」だと考えてみてください。昼勤はあなた一人です。昼間のあなたは、人間が機械よりまだ得意なことをやります。思いつく、気づく、反応する、とりあえず放り込む。生の素材を壁の向こうに投げるだけです。

夜になると、別の部署が動き出します。昼にあなたが投げ込んだものを処理して、整理された知識に変え、最初のコーヒーの前にブリーフィング(要約報告)を用意しておく。これがつい最近まで不可能だったのは、夜勤が存在しなかったからです。せいぜいできたのは、あなたが横に座って指示し続ける間だけ働くアシスタントでした。それは結局、手間を増やした自分の作業です。本物のセカンドブレインに必要なのは、スケジュールに沿って、並列で、監視なしに働く労働力です。

夜勤チームは、同じ作業をする300人のコピーではありません。力の源は、本物の研究部門のように役割を分けることにあります。流れはシンプルで、4段です。

第一に、集める。読みたい記事やページの本文を取ってきて、建物の中に運び込む役です。

第二に、砕いてリンクする。集めた素材を「1アイデア1ノート」に分解します。1本の記事が8個のノートになることもあります。そして新しいノートが生まれるたびに、関連する既存ノートに繋いでいく。これでファイルの山が、思考の網に変わります。

第三に、矛盾をチェックする。これがいちばん価値のある役です。新しいノートを、すでに溜まっている全ノートと突き合わせて、摩擦を探します。過去の自分のノートと食い違う主張、出典のない断定、先月書いた信念を静かに崩す指摘。見つけたら旗を立てます。勝手に上書きして握りつぶしたりはしません。

第四に、まとめて報告する。関連するノート群を1本の長い文書に織り上げ、朝のブリーフィングを書く。生の知識を、あなたが実際に考えるのに使える形に変える役です。

tatsuki | Claude Code活用支援 - inline image

なぜ並列が効くのか。暇な夜なら、処理する素材は数件で、動くエージェントもわずかです。でも忙しい一週間で50本の記事が溜まった夜は、ソース1本につき1体を割り当てて一斉に展開できます。一人のエージェントが1ファイルずつ何時間もかけてやる作業を、分割して同時に走らせ、結果を統合すれば数分で終わる。これが「チームにする」ということです。

tatsuki | Claude Code活用支援 - inline image

第2章 引き出しではなく「精製所」で持つ

ここから手を動かします。まずは保管庫の設計からです。

いちばんよくある失敗は、保管庫をトピック別に整理することです。「マーケティング」「健康」「AI」みたいにラベルを貼った引き出しを作る。これがうまくいかないのは、本物の知識は一つのカテゴリにじっとしていないからです。エージェントにトピック別フォルダへ振り分けさせても、整理の問題を大きなスケールで作り直すだけになります。

代わりに、精製の段階でフォルダを切ります。生の素材が片方から入って、繋がった知識として反対側から出てくる。フォルダ構成そのものがパイプラインになります。

手順A:フォルダを作る(5分)

ターミナルでこのワンライナーを叩けば、精製所ができます。

text
1mkdir -p brain/{0-raw,1-desk,2-atoms,3-threads,sources,briefings,.claude/skills}
2touch brain/CLAUDE.md

それぞれの役割はこうです。

brain/

├── 0-raw/ # あなたが放り込む場所。手をつけない。投入口

├── 1-desk/ # 夜勤の作業机。一時的。シフトの終わりに片づける

├── 2-atoms/ # 1アイデア1ファイルの恒久ノート。中核

├── 3-threads/ # 統合。複数アトムを織り上げた生きた文書

├── sources/ # 元記事やPDF。読み取り専用の保管

├── briefings/ # 夜勤からあなたへの報告

├── .claude/skills/ # 各シフトの「職務記述書」

└── CLAUDE.md # 運用憲章。全エージェントが最初に読む

tatsuki | Claude Code活用支援 - inline image

この配置で効いている設計判断は3つです。

1つ目。0-raw と sources は読み取り専用にして、絶対に書き換えない。生のメモと元ファイルは真実の土台です。エージェントはそこから派生物を作りますが、元には手を触れません。これは、AI 知識ベースを静かに壊す失敗、つまり「派生ノートが別の派生ノートを引用して、再生成のたびに元の意味が少しずつズレていき、最後には自分ででっち上げたことを自信満々に繰り返す」状態を防ぎます。元が動かないから、真実がドリフトしません。

2つ目。2-atoms には記事ではなくアトム(1つのアイデア)を置く。1ファイル1アイデアです。これが Zettelkasten の原理で、リンクの網を飾りではなく機能させる鍵です。単一のアイデアに割っておくと、それを多くのものに繋ぎ、組み替え、正確に矛盾させられます。長い記事を丸ごと放り込んだ保管庫ではこれができません。

3つ目。3-threads が理解の住む場所になります。アトムは素材で、スレッドは統合です。「電池のコスト曲線」みたいなテーマに、関連アトムが溜まるたびスレッドが育っていく。フラットな wiki には無い層で、ここが「知識ベース」と「理解」の差になります。

手順B:このフォルダを Obsidian で開く

ここが Obsidian 連携の基本です。やることは1つだけ。

Obsidian を開いて「Open folder as vault(フォルダを vault として開く)」で、さっき作った brain/ フォルダを指定します。これで連携は完了です。追加のプラグインも、同期サービスも要りません。Obsidian の vault(保管庫)は、中身がただの markdown ファイルの集まりだからです。フォルダがそのまま vault になります。

ノートの中で [[ノート名]] と書くと、それは Obsidian 標準の内部リンク記法になります。つまり、夜勤チームの「砕いてリンクする」役がノート同士を [[関連ノート]] で繋いでいけば、その繋がりは Obsidian のグラフビューに自動で表示されます。あなたは何もしなくていい。エージェントが書いた markdown を、Obsidian がそのまま可視化してくれます。

ここで「なぜベクタDB(文章を数値ベクトルに変換して類似検索するデータベース)や RAG(検索拡張生成。外部データを検索して回答に足す仕組み)を使わないのか」と思った人へ。プレーンな markdown とリンクで機能が足りているからです。ローカルで完結し、どこにでも持ち出せて、どのノートがどの出典から来たか追跡できる。クラウドのベクタDBに閉じ込めるより、移植性でも信頼性でも勝ります。Obsidian がそのままビューになるのも、ファイルが素のテキストだからこそです。

手順C:憲章を1枚書く

CLAUDE.md は、この労働力全体を統べる1ファイルです。Claude Code は作業の前にこのファイルを読むので、ここに運用ルールを書いておけば全シフトが従います。短く、はっきり、絶対的に書きます。

text
1# 運用ルール(行動の前に必ず読む)
2
3## パイプライン
4- 0-raw/ : 投入口。読み取り専用。生メモは絶対に編集しない
5- 1-desk/ : 作業机。シフト終わりに片づける
6- 2-atoms/ : 恒久アトム。1ファイル1アイデア
7- 3-threads/: 統合文書。重複を作らず該当スレッドを更新する
8- sources/ : 原本。読み取り専用
9- briefings/: 人間への報告を書く場所
10
11## 最優先指令(Prime Directive)
12すべてのアトムは sources/ か 0-raw/ の実在する出典に辿れること。
13出典がなければノートを書かない。素材に無い主張は書かない。
14もっともらしい情報で空白を埋めない。絶対に。
15
16## 作業ルール
171. 1アトム1アイデア。出典に8アイデアあれば8アトム作る
182. アトムを作る前に 2-atoms/ を検索し、拡張できる既存ノートを探す
193. 各アトムは最低2つの関連アトムにリンクする
204. 既存ノートと矛盾したら、新ノートに [FRICTION] ブロックを足して
21 古いノートを指す。信念を黙って上書きしない
225. 削除しない。古くなったら [RETIRED] を付けて archive/ へ移す
236. シフトの終わりに該当スレッドを更新し、ブリーフィングを書く

この中の「最優先指令(Prime Directive)」が全体を守る一線です。これが無いと、夜勤は事実と事実の間の空白を、それらしい創作で埋め始めます。その創作は自分の本物の思考と見分けがつかなくなり、1か月後には「どの信念が自分のもので、どれを機械がでっち上げたのか」分からなくなります。「出典がなければノートを書かない」。これが、脳を自分のものに保つルールです。

ここまでで、知識を入れる箱と、それを守る憲章ができました。中身のノートは、次の章で夜勤チームが入れていきます。

第3章 Claude Code で夜勤を回す

設計図ができたので、エンジンを載せます。夜勤を実際に動かすのは Claude Code です。順番に組み立てます。

ヘッドレス実行:まず1回、手で叩く

Claude Code は対話画面なしでも動きます。ヘッドレス(画面のない自動実行)モードです。

claude -p "0-raw/ の未処理ファイルを1つ読み、CLAUDE.md のルールに従って 2-atoms/ にアトムを作って"

-p(--print)は、1つの指示を実行して終了するスクリプト向けのモードです。cron やスクリプトから呼ぶときの基本になります(公式ドキュメント)。素の claude -p は CLAUDE.md やスキルを自動で読み込むので、第2章で書いた最優先指令がそのまま効きます。完全な再現性が要る場合は --bare(CLAUDE.md やスキルの自動探索をスキップするモード)もありますが、その場合はルールをプロンプト側に明示的に渡す必要があります。今回は最優先指令を効かせたいので、素の -p を使います。

いきなりスケジュール化せず、まず手元で1回叩いて挙動を見てください。意図どおりアトムが1つできるか確認してから、自動化に進みます。

Playbook を Skill として書く

各シフトの「職務記述書」は、Skill(繰り返し使えるワークフローを書いた markdown ファイル)にします。.claude/skills/<名前>/SKILL.md に置けば、一度書いて何度でも呼べます(公式ドキュメント)。

たとえば、夜の本番処理を担う「Refinery(精製)」シフトはこう書きます。書いたあとは claude -p "/refinery" のようにスキル名で呼び出せます。一度書けば、毎晩名前を呼ぶだけです。


name: refinery

description: 0-raw の未処理を全部アトムに精製する夜の本番シフト


text
1# Refinery Run
2
3## 仕事
40-raw/ の未処理アイテムを処理する。アイテムごとにサブエージェントを
51体割り当て、並列で走らせてから統合する。各エージェントは:
6
71. 生メモと、sources/ の関連ソースを読む
82. 1アイデア1ファイルでアトムに割り、2-atoms/ に置く
93. アトムごとに 2-atoms/ を検索し、新規作成の前に既存ノートを拡張できないか探す
104. 各アトムを最低2つの関連アトムにリンクする
115. 既存ノートと矛盾したら [FRICTION] ブロックを足して指す
126. 処理済みの生メモを 0-raw/archive/ に移す
13
14## 厳守
15- CLAUDE.md の最優先指令に従う。出典なき主張を書かない
16- sources/ と 0-raw の原本は読む以外に触らない
17- 判断に迷う統合は人間に残す。旗を立てて、無理に決めない

並列:サブエージェントを定義する

「砕く」「リンクする」「矛盾チェック」を分担させるには、サブエージェントを使います。.claude/agents/ に markdown で定義すると、それぞれが独立した文脈で並列に動き、結果だけを親に返します(公式ドキュメント)。定義ファイルの先頭には frontmatter(ファイル冒頭にメタ情報を書く領域)で名前や使えるツールを指定します。文脈ウィンドウ(一度に扱える作業記憶の量)を超えるような長丁場なら、共有タスクリストで協調する Agent Teams という仕組みもありますが、セカンドブレインの夜勤くらいの規模なら基本は要りません。


name: cataloger

description: 1ソースを1アイデア1ファイルのアトムに分解する

tools: ["Read", "Write"]


渡されたソースを読み、1アイデア1ファイルで 2-atoms/ にアトムを作る。

既存アトムを先に検索し、拡張できるものは拡張する。出典を必ず frontmatter に書く。

元ネタの記事は「300体のエージェント」を売りにしていました。これは元になっている Kimi の K2.6 というモデルが、最大300サブエージェント・4,000ステップまで並列展開できる、という仕様から来ています(Kimi 公式ブログ)。ただ Claude Code 側は「上限300」のような固定数を掲げているわけではなく、必要に応じてオーケストレーション(複数エージェントの割り当てと統合を動的に采配すること)する方式です。そして実際のところ、セカンドブレインの夜勤に300体は要りません。役割が数種類、溜まったソースごとに数体ずつ。それで十分回ります。数の多さより、役割を分けて並列にすること自体が効いています。

スケジュール:毎晩、決まった時刻に呼ぶ

最後に、シフトを時刻で起動します。まずは外部の cron(定期実行の仕組み)から、素の claude -p でスキルを名前指定で呼ぶのが確実です。夜をまたいで4つのシフトが順に引き継ぐ設計にします。

0 23 \ \ * 23:00 毎日 Scout(素材を集める。当面は手元で実行)

0 3 \ \ * 3:00 毎日 Refinery(並列で精製する。本番)

0 6 \ \ * 6:00 毎日 Editor(スレッド更新とブリーフィング)

0 22 \ \ 0 22:00 日曜 Audit(週次の健全性チェック)

tatsuki | Claude Code活用支援 - inline image

最初に自動化するのは Refinery 1本だけで十分です。crontab に書く例はこうです。

crontab -e に書く例(3:00 の Refinery シフト)

0 3 \ \ * cd ~/brain && claude -p "/refinery" >> briefings/cron.log 2>&1

Scout、つまりブラウザで記事本文を取りに行く役だけは別扱いにします。後で触れますが、Claude Code のブラウザ操作はまだ対話セッション限定なので、当面 Scout は手元で動かして本文を sources/ に保存しておき、夜の Refinery はその回収済みテキストを処理する、と切り分けます。

慣れてきたら、Claude Code 組み込みの Routines に移すと楽です(公式ドキュメント)。セッション内で /schedule を実行すると、毎時・毎晩・週次といった定期実行を登録できます(執筆時点では research preview の位置づけで、対象プランや Claude Code on the web の有効化が前提です)。Routines は Anthropic のクラウド側で動くので、ノートPCを閉じていてもジョブが回るのが利点です。最小間隔は1時間です。初回は cron で1シフトだけ確かめ、慣れたら Routines に移すのが安全だと思います。

第4章 Obsidian を「全ツールの共有メモリ」にする

ここまでで、Claude Code は brain/ フォルダを直接読み書きできています。Obsidian も同じフォルダを開いているので、基本の連携はすでに完成です。

この章は、その先の上級編です。まず夜勤を回したい人は、飛ばして後で読んでも大丈夫です。ここでは、Claude Code 以外のツール、たとえば別のエディタの AI 機能や、別のエージェントからも、同じ vault を検索・追記できるようにします。

tatsuki | Claude Code活用支援 - inline image

そうすると、5つのアプリにバラバラだった知識のサイロが消えて、すべてが1つの脳を共有するようになります。これを実現するのが MCP(Model Context Protocol。外部ツールを AI に繋ぐ共通規格)です。

Obsidian を MCP として繋ぐ方法は、難易度順に3つあります。

1. Filesystem MCP(いちばん簡単・プラグイン不要)

vault はただのフォルダなので、ファイルシステム用の MCP サーバを vault に向けるだけで読み書きできます。Obsidian 側に何も入れる必要がありません。

claude mcp add obsidian-fs -- npx @modelcontextprotocol/server-filesystem ~/brain

2. Local REST API + mcp-obsidian(フル機能・検索や追記)

全文検索や、見出し・ブロック単位の追記までやらせたいなら、Obsidian の「Local REST API」というコミュニティプラグインを使います。手順は、コミュニティプラグインから Local REST API を入れて有効化し、設定画面で発行された API キーをコピーするだけです。既定のホストは 127.0.0.1、ポートは 27124(自己署名証明書付きの HTTPS)で、平文 HTTP を使いたい場合は別ポートの 27123 を有効化します。そのうえで、uvx mcp-obsidian を環境変数つきで登録します(mcp-obsidian / Local REST API)。

OBSIDIAN_API_KEY=発行したキー OBSIDIAN_HOST=127.0.0.1 OBSIDIAN_PORT=27124 \

claude mcp add obsidian -- uvx mcp-obsidian

3. もう一段リッチな実装(cyanheads/obsidian-mcp-server)

同じく Local REST API プラグインをラップする、より高機能な MCP サーバ実装もあります。cyanheads/obsidian-mcp-server は外部の Node 製サーバで、パス制限や見出し単位の精密な編集に対応します。方法2と同じく、Local REST API プラグインと API キーが前提です。

Claude Code への MCP 登録はどれも claude mcp add <名前> -- <コマンド> の形で、設定は ~/.claude.json(自分用)か、リポジトリ共有なら .mcp.json に入ります(公式ドキュメント)。

1つだけ注意です。どの方法も localhost、あるいは渡したフォルダだけにスコープが閉じています。REST API 方式は自分で発行した API キーが要り、通信も localhost に限られます。とはいえエージェントに書き込み権限を渡す以上、対象は信頼できる vault だけにしておくのが安全です。

デモ動画が必ず飛ばす、3つの落とし穴

自動の労働力に、知識への読み書き権限を渡して、夜通し無人で走らせる。これは大きなレバレッジですが、いくつか守るべき点があります。ここが、1年複利で賢くなるシステムと、1か月で静かに腐るシステムを分ける部分です。

1つ目は、制約を正直に把握すること。 さっきの Routines はクラウドで動き、最小間隔は1時間です。そして「集める」シフト、つまりブラウザで記事本文を取りに行く役には注意が要ります。Claude Code のブラウザ操作(Claude in Chrome)は現在ベータで、対話セッション限定です。クラウドの Routines の中ではまだ動きません(公式ドキュメント)。なので現実的には、Scout だけは手元で動かして本文を sources/ に保存しておき、夜の Refinery はその回収済みテキストを処理する、と切り分けるのがきれいです。

2つ目は、セキュリティとコスト。 Claude Code には権限モードが複数あります(公式ドキュメント)。標準の default は読み取り以外で承認を求め、acceptEdits は編集を自動で通し、plan は読み取り専用で調査して計画を提示し、bypassPermissions はすべてを通します。無人運用なら、まず plan で挙動を検証し、信頼できたら Deny ルール(禁止ルール)を併用しつつ、CI 向けの dontAsk(事前に許可したツールだけ実行するモード)などに上げるのが安全です。あわせて、brain/ を git でバージョン管理し、毎晩コミットしておくと、夜勤が変な判断をしても1コマンドで前夜に巻き戻せます。これはシートベルトなので、事故ってからではなく初日から締めておく方がいいです。なお Claude Code は API やサブスクの費用がかかります。元ネタのように open weights のモデルを自前ホストすればAPI 課金ゼロにもできますが、その話はまた別途。夜間処理の量に応じてコストを見積もる前提だけ持っておいてください。

3つ目は、最優先指令を守り続けること。 週次の Audit が「出典のないノート」を見つけたら、その場で片づけます。出典の辿れないノートが溜まり始めた瞬間から、脳は信用できなくなります。信用できないセカンドブレインは、無いより悪いです。なぜなら、機械の創作を自分の結論だと思い込んで行動してしまうからです。

まとめ:司書をやめて、編集長になる

長いあいだ、「セカンドブレインを作る」は、「自分の司書という2つ目の無給の仕事を引き受ける」の丁寧な言い換えでした。だから挫折の墓場がそこら中にあります。労働が割に合わなかったので、気合いはいつも負けました。

でも、その労働はもう人に任せられます。昼は数秒で放り込むだけ。夜は部隊が精製する。あなたは週に20分だけ、編集長として「どの信念を採るか」を判断する。そして、放っておくほどシステムは賢くなっていきます。時間とともに減っていくはずだった労働を、まるごと夜勤に渡したからです。

メモ術が下手だったわけではありません。研究部門を、たった一人で回そうとしていただけです。

今日からの最初の一歩(3ステップ)

  • [ ] mkdir -p brain/{0-raw,1-desk,2-atoms,3-threads,sources,briefings,.claude/skills} で精製所を作り、Obsidian で vault として開く。CLAUDE.md の1行目に最優先指令「出典がなければノートを書かない」を書く
  • [ ] .claude/skills/refinery/SKILL.md を1枚書いて、claude -p で1ソースだけ手で処理させてみる
  • [ ] うまくいったら、cron か Routines で毎晩1シフトだけ自動化してみる
tatsuki | Claude Code活用支援 - inline image

Xでは発信できない有益な情報をLINEオプチャにて発信しています。

以下のリンクから、ぜひご参加ください。

https://t.co/9LOoUYvCbO

https://x.com/nobel_824/status/2066393004932559265

YouMindで再制作

Turn one viral article into a full content workflow

Collect the source, decode the pattern, create assets, draft the story, and distribute from one AI workspace.

Explore YouMind
クリエイターのために

あなたの Markdown をきれいな 𝕏 記事に

自分の長文を投稿するとき、画像・表・コードブロックを 𝕏 向けに整形するのは手間がかかります。YouMind は Markdown 全体を、そのまま投稿できるきれいな 𝕏 記事に変換します。

Markdown → 𝕏 を試す

解読すべきパターンをもっと

最近のバイラル記事

バイラル記事をもっと見る