🏠 目次に戻る

セカンドブレイン2.0 実装設計書

📌 入力:2026-07-06_x_articles_digest 記事11(Machina)・記事12(チャエン)/chaenmasahiro0425/exbrain リポジトリ実物調査/うちの .claude/rules/memory/_stock/discord/・launchd・30_departments/02_CTO/automation/ の現状確認。


1. 現状マップ(記事の4層 × うちの実体)

記事11・12はどちらも同じ「raw / wiki / digest / identity」の4層モデルを提示している。うちの実体を当てはめると以下の通り。骨格は8割方一致しているが、層の「所有者を1人に固定する」という設計思想がうちには明文化されていない。

記事の定義 うちの実体 一致度 ズレ・不足
raw(生ログ・不可侵・追記のみ) daily/ clips/ raw/ _stock/discord/YYYY-MM-DD_discord_raw.md(毎日3:00 launchd com.natsumi.discord-daily-backup で自動取得)+ notes/drops_inbox.md 「不可侵」の明文化ルールがない。誰でも編集できる状態。しかも _stock/discord/.gitignore全体除外されており(.gitignore:94)、git差分でraw層の改変を検知する仕組みが構造的に使えない
wiki(編纂知識・entities/concepts・出典付き) entities/ clients/ insights/ research/ decisions/ notes/resources/(ナレッジ索引・講座別)+ 20_companies/*/communication_log.md entities(人物・ツール別の独立1ページ)が存在しない。人物・ツール系の記述は memory/reference_*.md(例:reference_prof_team.mdreference_midori_writer_projectf.mdreference_makoto_nakamura.md)に断片的に入っており、本来wiki層のものがauto-memory(本来はidentity/digest寄りの置き場所)に混在している。conceptsに近いものは notes/resources/knowledge_index.md があるが「戦略・学びの抽象化ページ」単位では未整理。出典リンク(daily/YYYY-MM-DD)を必ず付ける、という原則もない
digest(直近文脈+パターン洞察) MEMORY.md(Recent)/DREAMS.md(パターン) memory/daily/YYYY-MM-DD_daily.md(サマリー)+ MEMORY.md(索引) dailyサマリーの生成は人力・セッション内で行っており「毎晩自動生成」ではない。パターン洞察(DREAMS相当=週次で横断統合する層)が存在しない
identity(価値観・文体・越えない線・人間専用) SOUL.md VOICE.md RED-LINES.md memory/user_*.md(性格・特性・使命)+ 10_personal/ + CLAUDE.md内の絶対ルール群 内容自体は充実しているが、「人間のみが書く」という所有権の分離が曖昧。実際はクロちゃんがナツミの発言から user_*.md を都度更新している(ハイブリッド運用)。「越えない線」がCLAUDE.md・各rulesに分散しており、RED-LINES的な1枚集約はない

もう一つの構造的な違い:exbrainは「vault全体が1つのgitリポジトリ」を前提に、raw層の改変をgit diffで検知して自動復元する安全弁を持つ。うちは

という2点で、exbrainのgitベース安全弁がそのままは使えない。これは②夜間コンパイラの設計に直接影響する重要な発見(詳細は2-②のリスク項目参照)。


2. 4ピースの実装設計

①書き手1人固定+raw不可侵ルール

.claude/rules/second-brain-layers.md として新規作成する条文案(このまま採用可能な形):

# セカンドブレイン4層モデル:書き手固定・raw不可侵ルール

workspaceの記録を「誰が・どこに・何を書くか」で4層に固定する。層をまたいだ書き込みを禁止することで、同期競合・上書き事故・記憶の劣化を構造的に防ぐ。

## 4層と書き手(唯一の所有者)

|| 場所 | 書き手(これ以外は書かない) |
|---|---|---|
| raw(生ログ・不可侵) | `_stock/discord/``notes/drops_inbox.md` | 自動取得スクリプト(discord-daily-rebuild.py)+ナツミの一次ドロップのみ。**クロちゃんは追記のみ可・書き換え禁止** |
| wiki(編纂知識) | `notes/resources/`(entities/concepts含む)/`20_companies/*/communication_log.md` | 夜間コンパイラ+クロちゃんの通常編集。出典リンク必須 |
| digest(直近文脈) | `memory/daily/``MEMORY.md` | クロちゃん(セッション内 or 夜間コンパイラ後段) |
| identity(人格・線引き) | `memory/user_*.md``10_personal/`/CLAUDE.md絶対ルール | ナツミの発言起点でのみクロちゃんが更新提案 → **ナツミの承認後に確定**(plan-confirm-executeに準拠。自動更新禁止) |

## raw不可侵の運用ルール

1. `_stock/discord/*.md` はナツミもクロちゃんも**内容を書き換えない**(誤字修正含め触らない)。訂正が必要なら別ファイルに注記を足す
2. 夜間コンパイラ(second-brain-compile想定)は raw層への書き込み権限を一切持たない(allowedToolsで物理的に不可能にする。詳細は2-②)
3. rawを直接読んで要約・分析する行為(Read)は自由。書き込み(Write/Edit)だけ禁止

## 改訂履歴
- 2026-07-07:初版作成([2026-07-07_second_brain_2_design](second_brain_design.html) 由来)

②夜間コンパイラ

何を作るか:既存の com.natsumi.discord-daily-backup(毎日3:00・discord-daily-rebuild.py)の後段に、second-brain-compile.py(仮称)を追加する。

どう動くか(案)

  1. 3:00の生ログ取得完了を待つ(launchdを2本の独立ジョブにせず、discord-daily-rebuild.py の正常終了後に同一シェルから呼び出す形にして競合を防ぐ。exbrainは「未コンパイル日を最大3日分キャッチアップ」する設計だが、うちも同様に前回コンパイル済み日付を system/.compile-state 的なファイルに記録し、抜けを追いかける)
  2. claude -p をheadlessで起動。モデルは Haiku(claude-haiku-4-5、フォールバックSonnet 5)
  3. プロンプトで読ませるもの:前日の _stock/discord/YYYY-MM-DD_discord_raw.md(生ログ)+その日の memory/daily/YYYY-MM-DD_daily.md(サマリーがあれば)
  4. 更新させる場所:notes/resources/entities/(人物・ツール・組織、③参照)と notes/resources/concepts/(学び・パターンの抽象ページ)のみ。既存記述は消さず追記、出典に _stock/discord/YYYY-MM-DD_discord_raw を必ず付与
  5. open-loops.md 相当(未解決の宙ぶらりん)を更新する案もあるが、うちはNotion Tasks DBがタスクの唯一マスターなのでタスク化はしない。あくまで「まだ結論が出ていない検討事項」のメモ欄として使うなら新設可(judgment point候補)

使用モデル・cronタイミング

暴走防止3点(exbrainの3原則をうちの環境向けに調整)

  1. LLMにgitを触らせない--allowedTools "Read" "Write" "Edit" "Glob" "Grep" のみ。git操作コマンドはスクリプト側だけが持つ(exbrainと同じ)
  2. 書ける層を制限する:プロンプトで明示的に「書いてよいのは notes/resources/entities/notes/resources/concepts/ の配下のみ。_stock/memory/10_personal/.claude/20_companies/のクライアント案件ファイルには一切触れるな」と指示する。ただしこれはプロンプトによる"お願いベース"の制御であり、exbrainのような技術的な強制力(cwd外への書き込みそのものが不可能)ではない(次項のリスク参照)
  3. raw変更の自動復元:exbrainはgit checkoutで機械的に復元するが、うちはこれがそのままは使えない(下記リスク参照)。代替案:

🚨 リスク(正直に・過小見積もりしない)

  1. git安全弁の不完全性:上記の通り、raw層(_stock/discord/)とidentity層(memory/)はどちらもworkspaceのgit管理範囲外。exbrainの「暴走してもgit checkoutで一発復元」という前提がそのままでは成立しない。chmod読み取り専用化などの技術的な担保を別途組む必要がある(判断ポイント③)
  2. 週間利用枠の消費有無が未検証claude -p のheadless呼び出しが、日中のインタラクティブセッションと同じ週間利用制限枠を消費するのか未確認。もし消費するなら、夜間の無人ジョブが翌日のFable 5作業時間を圧迫するリスクがある。本番投入前に軽量プロンプトで1回実測すべき
  3. 初回チューニングの手間:exbrainは3ヶ月運用した実績の上のv2なので枯れているが、うちはゼロから作るため「wikiページの粒度」「出典リンクの付け方」「entities新規作成の閾値(乱造防止)」を数日〜1週間 log を目視確認しながら調整する期間が必要。「作ったその日から無人で信頼できる」状態にはならない
  4. daily要約が手動生成前提:現状 memory/daily/*.md サマリーは人力生成が多く毎日確実に存在するとは限らない。コンパイラが「サマリーがなければ生ログのみで編纂する」フォールバックを持たないと、抜け漏れが出る

工数見積もり:スクリプト初期実装 2〜3時間+安全策(chmod・部分git diff検知)実装 1時間+実測・チューニング期間 1〜2週間(毎朝ログを数分チェック)。「導入した瞬間から手離れする」設計ではなく、最初の1〜2週間は運用監視コストがかかる


③entities層+賞味期限メタ

ディレクトリ設計案

新規トップレベル 60_entities/ は作らず、既存の「wiki層の家」である notes/resources/ 配下に揃える(knowledge_workflow.mdの既存パス設計思想と整合させるため):

notes/resources/entities/
├── people/       # 人物1人1ページ(例:megumi.md/midori.md/makoto.md)
├── orgs/         # クライアント企業・組織(例:prof.md/lsc.md/rexli.md)
└── tools/        # ツール・サービス(例:notion.md/discord_mcp.md)

notes/resources/concepts/
└── <テーマ>.md   # 戦略・学びの抽象パターン1テーマ1ページ

既存資産との関係(判断ポイント候補)

frontmatterの賞味期限メタ

---
type: research
updated: 2026-07-07
expires: 2026-10-07
---

工数見積もり:ディレクトリ+テンプレート作成 30分〜1時間(MVP)。初期の数ページ(プロF関係者・主要クライアント)の埋め込みに1〜2時間。全既存資産のバックフィル(過去のreference_*.mdを全部entities形式に書き直す)は別スコープとし、今回はやらない(Maximizer暴発防止・段階移行)。


④exbrain流用リスト(chaenmasahiro0425/exbrain実物調査結果)

リポジトリは実際にアクセスでき、README(日英)・vault-template/一式・launchd/一式・scripts/一式を確認できた(未調査ではない)。

ファイル 判定 理由
scripts/brain-lint.sh そのまま使える度が高い(改造少なめ) LLM不使用のpython3決定論チェック。壊れwikilink・重複・陳腐化・期限切れ検出のロジックはパス($HOME/vault → workspaceの実パス)を書き換えるだけでほぼ流用可
launchd/*.plist そのまま使える(テンプレそのまま) パスとLabelの書き換えのみ。うちの com.natsumi.discord-daily-backup.plist と同じ形式なので馴染みやすい
templates/entity.mddecision.mdresearch.mdconcept.md そのまま使える frontmatter+見出し構成をそのまま日本語運用に転用可
scripts/brain-compile.sh 改造して使える ロジックの骨格(未コンパイル日検出→claude -p headless起動→変更検知→コミット)は流用するが、git checkout安全弁の部分はうちの環境(raw/identityがgit管理外)に合わせて書き換え必須。また $HOME/vault 前提のパス構造を workspace の実際のディレクトリ名にマッピングし直す必要がある
CLAUDE.md(vault-template) 参考程度 うちのCLAUDE.mdは既に確立済みで別内容。「200行以内でポインタに徹する」という制約思想だけ参考にする
INDEX.md 概念のみ採用検討 鮮度ダッシュボード付き玄関ページという発想はMEMORY.md+knowledge_index.mdの補完として良さそうだが、新規ファイルを増やすことになるので判断ポイント候補
RED-LINES.md(identity層の越えない線1枚集約) 参考程度・判断保留 発想は良いが、うちはrule-governance.mdの「1テーマ1マスター」原則があるため、既存の各rulesファイルに分散した「絶対ルール」をRED-LINES 1枚に集約するとむしろ二重管理になるリスクがある。今回は見送り、必要になったら再検討
scripts/vault-sync.sh(iCloud同期時のgit競合解消) 不要(今は) うちはiCloud経由の複数端末同時書き込み運用をまだしていない。Mac mini導入後に再検討
scripts/on-session-start.shon-session-end.shsession-primer.sh 概念のみ参考・直接移植は不可 Claude Codeのフック実装(SessionStart/Stop)の細部が違う可能性が高く、そのままは動かない。うちのdaily_log.mdルール④(都度ログ取り)と機能が重複する部分もあるため、必要性から要検討

3. 今夜の残りラン(A/B/C/D/F)への影響

この設計を踏まえて出力先を変えるべきかを確認した結果、大半は変更不要(既存のルーティングルールがすでに正しい層に置いている)。

結論:今夜のラン自体の出力先変更は不要。今回の設計が明らかにしたのは「既存のルーティングは概ね正しい」という答え合わせであり、変更が必要なのはあくまで**足りていない自動化の仕組み(②③)**の方。


4. 実行順の提案(関所でOKが出た場合・7/8以降)

Fable 5の無料窓は閉じるため、7/8以降はSonnet/Opusでの通常作業として扱う。

順番 内容 目安日数 備考
1 ①ルール確定・保存(second-brain-layers.md 7/8・30分 低リスクなので最初に確定させる
2 ③entities層のディレクトリ+テンプレ作成(MVP:people/orgs/toolsの箱+2〜3ページ試作) 7/8〜7/9・1〜2時間 プロF関係者・主要クライアントから試験導入
3 ②夜間コンパイラのスクリプト実装+安全策(chmod・部分git diff検知) 7/9〜7/10・3〜4時間 ドライラン(実際にファイルを書かせず出力だけ確認)を数回挟む
4 ②の本番投入+監視期間 7/11〜7/17(1週間) 毎朝ログを数分チェック。問題があればスコープを絞る
5 ④のbrain-lint.sh移植(週次lint導入) 監視期間が安定してから・7/18週目安 LLM不使用なのでリスク低いが、②が安定してから着手する方が診断対象が意味を持つ

合計工数目安:手を動かす時間としては5〜8時間程度だが、②の監視期間を含めると実質1週間強のカレンダー時間がかかる。「すぐ終わる」タスクではない。


5. 判断ポイント(3つ以内)

  1. 夜間コンパイラの安全策をどこまで技術的に担保するか:raw層(_stock/discord/)とidentity層(memory/)はgitの管理範囲外なので、exbrainの「git checkoutで自動復元」がそのまま使えない。chmodでの物理的な書き込み禁止まで実装するか、まずはプロンプト制約だけで様子見するか
  2. entitiesの置き場所と既存資産の扱い:新設する notes/resources/entities/ に統一するか、既存の memory/reference_*.md(人物・組織系)をそのまま残して二重管理にするか、それとも段階的に「卒業」させてentities側に一本化するか
  3. 夜間コンパイラの claude -p headless呼び出しが週間利用枠を消費するか:本番投入前に実測が必要。消費するなら日中のFable 5/Sonnet作業時間を圧迫するため、導入タイミングやモデル選定(Haiku固定 vs 状況に応じて変更)を再検討する必要がある

関連ファイル

改訂履歴

🏠 目次に戻る