コンテキストの与え方 — AIに仕事を正しく理解させる
このレッスンで学ぶこと
- □.claude/rules/ — 条件付きルールの仕組みと使い方
- □.claude/memory/ — セッション間で記憶を残す方法
- □.claude/reference/ — オンデマンド参照の設計パターン
- □コンテキストウィンドウの考え方と実務での設計例


.claude/rules/ — 「こういう時はこうしろ」条件付きルール
CLAUDE.mdは常に読み込まれますが、rules/ ディレクトリのファイルは条件に一致した時だけ読み込まれます。特定のディレクトリで作業する時、特定のファイルタイプを編集する時にだけ適用されるルールを定義できます。
ルールファイルの構造
paths: で指定したパターンにマッチするファイルを編集する時だけ、このルールが適用されます。
実用的なルール例
| ファイル名 | paths | 内容 |
|---|---|---|
| api-routes.md | src/app/api/** | 認証必須、エラーハンドリング規約 |
| testing.md | **/*.test.ts | テストの書き方、モックの使い方 |
| components.md | src/components/** | コンポーネント命名規則、Props型必須 |
| security.md | src/auth/**, src/middleware.* | セキュリティ要件、入力バリデーション |
pathsなしのルール
.claude/memory/ — セッション間の「記憶」を残す
Claude Codeはセッションが終わると会話内容を忘れます。しかし、MEMORY.mdに書いた内容は次のセッションでも読み込まれるため、プロジェクトの「長期記憶」として機能します[2]。
memoryに書くもの
- •決定事項 — 「認証方式はJWTに決定」「デプロイ先はVercel」など、過去に下した判断
- •学んだこと — 「このAPIはv2を使うと壊れる」「X社のSDKはESMのみ」など、試行錯誤で得た知見
- •ユーザーの好み — 「関数型スタイルを好む」「エラーメッセージは日本語」など
- •進行状況 — 「Phase 1完了、Phase 2のDB設計に着手」など、プロジェクトの現在地
MEMORY.mdの実例


Memory.mdの自動記憶機能
Claude Codeは会話中に重要な情報を検知すると、MEMORY.mdに自動で追記します。ユーザーの好み、プロジェクトの決定事項、技術的な発見など、セッションを跨いでも保持すべき情報を判断して記録します。
- •「これ覚えておいて」と頼むだけ — 会話の中で自然に記憶を追加できる。CLAUDE.mdを手動で書き換える必要がない
- •トピック別ファイルに自動保存 — プロジェクトが大きくなると、debugging.md、preferences.md など、トピックごとに分類されたファイルにも記録される
- •セッションを跨いで記憶が保持 — 一度覚えた内容は次のセッションでも自動で読み込まれるため、毎回同じ説明をする必要がない
- •プロジェクト単位で管理 — 他のプロジェクトには影響しない。プロジェクトAで覚えたことがプロジェクトBに混ざることはない


記憶を育てる習慣
.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 Codeが一度に処理できる情報量には上限があります(コンテキストウィンドウ)。CLAUDE.md、rules、会話内容、読み込んだファイルの全てがこの枠に入ります。
コンテキストの優先順位
- 1常時ロード — CLAUDE.md + pathsなしの rules/ ファイル。必ず入る。だから短く保つ。
- 2条件付きロード — pathsありの rules/ ファイル。該当ファイルを触る時だけ入る。
- 3オンデマンド — reference/ やプロジェクトファイル。AIが必要と判断した時にReadする。
- 4会話 — ユーザーとの対話内容。セッションが長くなるとこれが大部分を占める。


プロジェクト規模別の設計パターン
小規模(個人プロジェクト)
CLAUDE.md 1ファイルで十分。rules/ や reference/ は不要。
中規模(チーム開発)
ルールをファイル分割し、pathsで条件付き適用。
大規模(複数ドメイン・長期運用)
reference/ でオンデマンド参照を追加。CLAUDE.mdは概要に徹する。
設計の最大の敵は「散在」
Lesson 6 まとめ
- ✅rules/ は条件付きルール。paths: でディレクトリやファイル単位で適用を制御できる
- ✅memory/ はセッション間の記憶。決定事項・学び・好みを残す場所
- ✅reference/ はオンデマンド参照。常時ロードせず、必要な時だけ読ませる
- ✅コンテキストウィンドウは有限。「全部入れる」のではなく「必要な時に必要なものを」が設計原則
あなたの番です
出典・参考文献
本レッスンで引用したデータの原典一覧です。数値は各調査の公開時点のものであり、閲覧時期により更新されている可能性があります。
- [1]Claude Code: Best practices for agentic coding — Anthropic(2025)
- [2]Memory - Claude Code — Anthropic Docs(2025)
- [3]Claude Code Overview — Anthropic Docs(2025)
よくある質問
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連携 →