Phase 2: Claude Codeを使いこなす

コンテキストの与え方 — AIに仕事を正しく理解させる

Lesson 6 / 12|20分|公開 2026.04.12

このレッスンで学ぶこと

  • .claude/rules/ — 条件付きルールの仕組みと使い方
  • .claude/memory/ — セッション間で記憶を残す方法
  • .claude/reference/ — オンデマンド参照の設計パターン
  • コンテキストウィンドウの考え方と実務での設計例
妻
質問
memory? rules? reference? 何が違うの?全部設定ファイルじゃないの?
豊藏
豊藏
ポイント
memoryは「前に何をしたか」、rulesは「こういう時はこうしろ」、referenceは「必要になったら読め」。人間の仕事の仕方と同じだよ。経験は頭に残ってる、ルールはマニュアルにある、専門知識は必要な時に参考書を開く。

.claude/rules/ — 「こういう時はこうしろ」条件付きルール

CLAUDE.mdは常に読み込まれますが、rules/ ディレクトリのファイルは条件に一致した時だけ読み込まれます。特定のディレクトリで作業する時、特定のファイルタイプを編集する時にだけ適用されるルールを定義できます。

ルールファイルの構造

# ファイル: .claude/rules/api-routes.md paths: src/app/api/** ## APIルート開発ルール - 全エンドポイントで認証チェック必須 - レスポンスは必ずNextResponse.json()を使う - エラーは適切なHTTPステータスコードを返す - Rate limitingを考慮する

paths: で指定したパターンにマッチするファイルを編集する時だけ、このルールが適用されます。

実用的なルール例

ファイル名paths内容
api-routes.mdsrc/app/api/**認証必須、エラーハンドリング規約
testing.md**/*.test.tsテストの書き方、モックの使い方
components.mdsrc/components/**コンポーネント命名規則、Props型必須
security.mdsrc/auth/**, src/middleware.*セキュリティ要件、入力バリデーション

pathsなしのルール

paths: を書かなければ、CLAUDE.mdと同じく常時読み込まれるルールになります。プロジェクト全体に適用したいが、CLAUDE.mdを長くしたくないルールに使えます。

.claude/memory/ — セッション間の「記憶」を残す

Claude Codeはセッションが終わると会話内容を忘れます。しかし、MEMORY.mdに書いた内容は次のセッションでも読み込まれるため、プロジェクトの「長期記憶」として機能します[2]

memoryに書くもの

  • 決定事項 — 「認証方式はJWTに決定」「デプロイ先はVercel」など、過去に下した判断
  • 学んだこと — 「このAPIはv2を使うと壊れる」「X社のSDKはESMのみ」など、試行錯誤で得た知見
  • ユーザーの好み — 「関数型スタイルを好む」「エラーメッセージは日本語」など
  • 進行状況 — 「Phase 1完了、Phase 2のDB設計に着手」など、プロジェクトの現在地

MEMORY.mdの実例

# プロジェクトメモリ ## 技術的な決定 - 認証: Supabase Auth(JWT) - CSSフレームワーク: Tailwind CSS v4 - テスト: Vitest + Testing Library ## 学んだこと - Supabase Edge Functionsはcoldスタートに3秒かかる → キャッシュ設計が必須 - next/imageのremotePatternsに"*.supabase.co"を追加済み ## ユーザーの好み - コミットメッセージはConventional Commits形式 - PRの説明は日本語で書く
妻
質問
memoryって自分で書くの?自動で保存してくれないの?
豊藏
豊藏
ポイント
Claude Codeに「これ覚えて」と言うとMEMORY.mdに追記してくれる。自動保存の仕組みも作れるけど、最初は手動で十分。重要なのは「AIが次のセッションで何を覚えていてほしいか」を意識すること。

Memory.mdの自動記憶機能

Claude Codeは会話中に重要な情報を検知すると、MEMORY.mdに自動で追記します。ユーザーの好み、プロジェクトの決定事項、技術的な発見など、セッションを跨いでも保持すべき情報を判断して記録します。

  • 「これ覚えておいて」と頼むだけ — 会話の中で自然に記憶を追加できる。CLAUDE.mdを手動で書き換える必要がない
  • トピック別ファイルに自動保存 — プロジェクトが大きくなると、debugging.md、preferences.md など、トピックごとに分類されたファイルにも記録される
  • セッションを跨いで記憶が保持 — 一度覚えた内容は次のセッションでも自動で読み込まれるため、毎回同じ説明をする必要がない
  • プロジェクト単位で管理 — 他のプロジェクトには影響しない。プロジェクトAで覚えたことがプロジェクトBに混ざることはない
妻
質問
毎回同じこと説明するの面倒なんだよね
豊藏
豊藏
ポイント
「これ覚えておいて」って言えば次から自動で反映される。CLAUDE.mdを書き換えなくても、会話しながらAIが育っていく。

記憶を育てる習慣

長期プロジェクトでは、Memory.mdが育つほどAIの精度が上がる。意識的に「覚えて」と伝える習慣をつけよう。

.claude/reference/ — 「必要な時だけ読む」参照情報

referenceディレクトリには、常時読み込むほどではないが、特定のタスクで必要になる情報を置きます。CLAUDE.mdやrulesは自動で読み込まれますが、referenceの中身はAIが「必要だ」と判断した時にReadします。

referenceに置くもの

ファイル例内容
api-spec.md外部APIの仕様書(エンドポイント一覧、レスポンス形式)
db-schema.mdデータベースのテーブル定義
design-tokens.mdデザインシステムの色・フォント・スペーシング定義
deployment.mdデプロイ手順、環境変数一覧(値は含めない)

CLAUDE.mdからの参照指示

CLAUDE.mdに「DB操作時は .claude/reference/db-schema.md を参照すること」と書いておくと、AIは該当タスクの時に自分でファイルを読みに行きます。全部を常時読み込ませるよりもコンテキストを効率的に使えます。
コンテキスト設計の本質は「全部入れる」ではなく「必要な時に必要なものを」。人間が本棚を整理するのと同じ。

コンテキストウィンドウの考え方

Claude Codeが一度に処理できる情報量には上限があります(コンテキストウィンドウ)。CLAUDE.md、rules、会話内容、読み込んだファイルの全てがこの枠に入ります。

コンテキストの優先順位

  1. 1常時ロード — CLAUDE.md + pathsなしの rules/ ファイル。必ず入る。だから短く保つ。
  2. 2条件付きロード — pathsありの rules/ ファイル。該当ファイルを触る時だけ入る。
  3. 3オンデマンド — reference/ やプロジェクトファイル。AIが必要と判断した時にReadする。
  4. 4会話 — ユーザーとの対話内容。セッションが長くなるとこれが大部分を占める。
妻
質問
ってことは、設定ファイルを詰め込みすぎると、肝心のファイルを読む余地がなくなるってこと?
豊藏
豊藏
ポイント
そのとおり。だからCLAUDE.mdは50行以内、常時ロードのrulesも必要最低限。「全部覚えさせる」のではなく「必要な時に必要な情報を渡す」設計が大事。うちもCLAUDE.md 45行 + rules 5ファイルで運用してる。

プロジェクト規模別の設計パターン

小規模(個人プロジェクト)

project/ ├── CLAUDE.md ← 10-20行。概要+スタイル+禁止事項 └── .claude/ └── settings.json ← MCP接続(必要なら)

CLAUDE.md 1ファイルで十分。rules/ や reference/ は不要。

中規模(チーム開発)

project/ ├── CLAUDE.md ← 30-50行。概要+ルールへのポインター └── .claude/ ├── rules/ │ ├── coding-style.md ← コーディング規約 │ ├── api-routes.md ← paths: src/app/api/** │ └── testing.md ← paths: **/*.test.ts ├── memory/ │ └── MEMORY.md ← 技術的な決定事項 └── settings.json

ルールをファイル分割し、pathsで条件付き適用。

大規模(複数ドメイン・長期運用)

project/ ├── CLAUDE.md ← 40-50行。概要+チーム構成 └── .claude/ ├── rules/ │ ├── iron-laws.md ← 絶対に守るルール │ ├── coding-style.md │ ├── security.md ← paths: src/auth/** │ └── client-work.md ← paths: clients/** ├── memory/ │ └── MEMORY.md ← 決定事項・学び ├── reference/ │ ├── db-schema.md ← オンデマンド参照 │ ├── api-spec.md │ └── quality-standards.md └── settings.json

reference/ でオンデマンド参照を追加。CLAUDE.mdは概要に徹する。

設計の最大の敵は「散在」

ファイルが増えると、どこに何を書いたか分からなくなります。CLAUDE.mdに「ルール一覧」のセクションを作り、どのファイルに何が書いてあるかのポインターを残しましょう。

Lesson 6 まとめ

  • rules/ は条件付きルール。paths: でディレクトリやファイル単位で適用を制御できる
  • memory/ はセッション間の記憶。決定事項・学び・好みを残す場所
  • reference/ はオンデマンド参照。常時ロードせず、必要な時だけ読ませる
  • コンテキストウィンドウは有限。「全部入れる」のではなく「必要な時に必要なものを」が設計原則

あなたの番です

出典・参考文献

本レッスンで引用したデータの原典一覧です。数値は各調査の公開時点のものであり、閲覧時期により更新されている可能性があります。

  1. [1]
  2. [2]
    Memory - Claude Code Anthropic Docs2025
  3. [3]
    Claude Code Overview Anthropic Docs2025

よくある質問

rules/ と CLAUDE.md の使い分けは?

CLAUDE.mdはプロジェクトの概要・全体方針を書く場所。rules/ は特定の状況で適用する詳細ルールを書く場所です。CLAUDE.mdが「会社案内」、rules/ が「業務マニュアル」と考えると分かりやすいです。

memory/ は .claude/memory/ 以外に置ける?

プロジェクトのMEMORY.mdは .claude/memory/MEMORY.md に、ユーザー個人のMEMORY.mdは ~/.claude/MEMORY.md に配置します。プロジェクトメモリはチームで共有でき、個人メモリは自分だけのものです。

コンテキストウィンドウを使い切るとどうなる?

古い会話内容から順に「忘れられて」いきます。設定ファイルやルールが多すぎると、セッション序盤で既にウィンドウの大部分を占めてしまい、実際の作業に使える余地が減ります。常時ロードする情報は最小限にしましょう。

コンテキスト設計ができたら、次は外部サービス連携。MCPでSlackやGoogle Driveとつなげよう。

Lesson 7: MCP連携

著者について

豊藏 翔太

監修・開発

豊藏 翔太(Shota Toyokura)

シンクムーブ株式会社 代表取締役 / アイオイクス株式会社 フェロー

  • 法政大学経営学部経営戦略学科卒(2015年)
  • エン・ジャパンでIT/Web業界の営業を経験後、ITコンサルタントとしてAI・RPAを活用した事業支援に従事
  • 個人事業で7サイト・約600記事を運営しSEOを実践的に習得
  • アイオイクス株式会社にてSEO Japan運営・大手企業向けWebコンサルティング事業の責任者を務めた後、2024年12月にシンクムーブ設立

著書・メディア掲載

登壇実績

  • JADEcon -JADE 春のSEO祭り-(2026年3月、渋谷)
  • LIG・ピネアル共催「AI×マーケティングのやってみた」LT会(2026年3月)
  • TASK4 忘年会 パネルディスカッション「月刊キーマケLab.特別編」(2025年12月)

シンクムーブ株式会社について

  • 設立:2024年12月
  • 所在地:東京都渋谷区神南1-11-4
  • 事業:SEOコンサルティング・インハウスマーケティング共創支援・AI活用研修
  • 同時対応:メインクライアント4社限定

独自調査・コンテンツ

こんな相談もできます

  • 「うちにもこういうツール作れる?」
  • 「AI活用の研修をやってほしい」
  • 「SEO全般でちょっと壁打ちしたい」
  • 「顧問契約ってどんな感じ?」

費用感:スポット相談1回〜 / 顧問契約 月額制 / ツール開発 要件次第。まずは気軽にどうぞ。

XのDMで気軽に相談する