← 公式ドキュメント索引 dev-cycle →

23 知識の保存先の使い分け — どこに何を書くか

💡 章の核: memory/rules/hookClaude Codeの特定のタイミング(ツール実行前後・セッション開始時等)で自動処理を差し込む仕組み。「保存前にチェック」「終了時に記録」等を機械的に強制できるsの3層は強度とコストが比例する。事故の頻度と被害で選ぶ。

Claude Codeを使い込むと「この知識、どこに保存すればいいのか?」という問題に必ずぶつかる。保存先を誤ると、知識は埋もれるか、あるいは毎回の読み込みコストとして払い続けることになる。本章では代表的な保存先を3層に整理し、判断フローを示す。

この章は Claude Code 機能ベースの3層(memory / rules / hooks)を扱う。プロジェクト知識ベース(SSOT)側の保存先(決定記録・タスク管理)は ssot-guide「知識の保存先の使い分け(SSOT層)」 に分離している。


3層の全体像

層 正体 読まれるタイミング 向いている知識 コスト
memory Claude Code公式のauto-memory(~/.claude/projects/<path>/memory/) セッションClaude Codeの1回の対話単位。起動から終了までの会話と作業状態のこと。長く使うと内容が混ざるため、トピックの区切りで新セッションに引き継ぐ運用をする開始時に自動読込 個人の失敗の直し方・教訓・好み 最小(ファイル1個=1事実)
rules / CLAUDE.md CLAUDE.mdが@includeする共有ルールファイル 毎レスポンスに毎回読込 行動方針・判断ゲート(「〜する時は〜せよ」型) 高(行数ぶん毎回課金・全タブで読まれる)
hooks PreToolUse等の設定で登録するスクリプト自動実行できる小さなプログラム。手順を書いたテキストファイルの形をしている 該当ツール実行のその瞬間に機械実行 LLMが忘れても防ぎたい事故の機械的防御 最大(実装設計や仕様を、実際に動くコードに作り込むこと。「実装済み」=コードとして完成している状態+テスト+設定登録)

それぞれの層の性質

memory — 「私的失敗の直し方」を置く

rules / CLAUDE.md — 「毎回の方針」を置く(ただし肥大化に注意)

hooks — 「機械的に止めたい」を置く


判断フロー(書き込む前に自問する順)

  1. LLMが忘れても機械的に防ぎたい事故か? → はい: hooks(頻度低×被害大なら特に)
  2. 毎回の行動方針として全セッションに読ませたいか? → はい: rules / CLAUDE.md(1〜2行に凝縮)
  3. 個人の失敗の直し方・環境固有の教訓か? → はい: memory
  4. 「なぜそう決めたか」の経緯や、生きているタスクか? → プロジェクト知識ベース側(→ ssot-guide参照)

読み出すとき(事故調査・疑問解消)


💡 一言でいうと: 「忘れないでほしいこと」はmemory、「毎回の方針」はrules、「忘れても機械が止める」はhooks。この3層は強度とコストが比例するので、事故の頻度と被害で選ぶ。

💡 一言: memoryは「守る気があれば守るLLM用の覚え書き」。機械で止めたい事故だけがhooks。

💡 章の落とし所: 「忘れないで」はmemory・「毎回の方針」はrules・「忘れても機械が止める」はhooks。