コンテンツにスキップ
X

Level 4: Context Engineer — メモリとコンテキストを設計する

カスタムコマンドを使いこなせるようになると、次の課題が見えてきます。セッションをまたぐと Claude は「前回何を話したか」を覚えていません。メモリを能動的に設計することで、Claude の振る舞いをセッションをまたいで一貫させられます。

対象読者: カスタムコマンドを使いこなしており、Claude の記憶の仕組みを深く理解したい方。

学習時間の目安: 読了 20分 + 実践 30分


Claude Code には 3 種類のメモリがあります。それぞれの特性を理解することが Context Engineering の出発点です。

種類保存場所特徴自分で制御できるか
CLAUDE.mdファイルセッションをまたいで永続するできる(自分で書く)
Auto-memory自動生成ファイルClaude が重要な情報を自動で保存間接的に(/memory で確認・修正)
コンテキストウィンドウ会話内のみ現在のセッション中だけ有効できる(/clear でリセット)

CLAUDE.md は複数の場所に置くことができます。下位のファイルは上位の設定に追加して読み込まれます。

~/.claude/CLAUDE.md              ← すべてのプロジェクトに適用(ユーザー設定)
your-project/
├── CLAUDE.md                    ← このプロジェクト全体に適用
└── src/api/
    └── CLAUDE.md                ← このディレクトリにのみ追加適用

ユーザーレベル CLAUDE.md の書き方例(~/.claude/CLAUDE.md)

Section titled “ユーザーレベル CLAUDE.md の書き方例(~/.claude/CLAUDE.md)”

どのプロジェクトでも共通したい設定を書きます:

# ユーザー設定

## 私のスタイル

- 説明は簡潔に、コード例を優先して
- エラーメッセージは日本語で説明して
- コミットメッセージは英語で書く(例: `feat: add user endpoint`
- 提案は1案に絞って提示して(複数案は求めた場合のみ)

## 開発環境

- OS: macOS
- シェル: zsh
- よく使うエディタ: VS Code

Auto-memory は、Claude が会話の中で「重要だ」と判断した情報を自動でメモとして保存する仕組みです。たとえば「このプロジェクトではテストに pytest を使う」という情報を一度伝えると、次のセッション以降も覚えています。

現在のメモリを確認するには /memory コマンドを使います:

/memory

出力例:

## Project Memory (CLAUDE.md)
Python + FastAPI で構築した REST API サーバー
...

## Auto Memory
- テストは pytest + pytest-asyncio で書く
- データベースのマイグレーションは Alembic を使用
- 本番環境は AWS ECS で動いている

コンテキストウィンドウを効率的に使う

Section titled “コンテキストウィンドウを効率的に使う”

長い会話を続けると、コンテキストウィンドウ(Claude が一度に処理できる情報量)が埋まっていきます。対処方法は 2 つです:

  1. /clear で会話をリセットする — 新しい話題に切り替える前に実行する
  2. 重要な情報は CLAUDE.md に移す — 「次のセッションでも使いたい情報」はファイルに書く

コンテキストウィンドウが有効なのは「今のセッション中だけ話した詳細情報」に使い、永続させたいものは CLAUDE.md に書くというのが基本の設計方針です。

.claude/rules/ でルールを分割する(@インポート構文)

Section titled “.claude/rules/ でルールを分割する(@インポート構文)”

プロジェクトの CLAUDE.md が長くなってきたら、.claude/rules/ フォルダに分割して管理できます。

your-project/
├── CLAUDE.md                     ← @インポートだけ書く
└── .claude/
    └── rules/
        ├── coding-style.md       ← コーディング規約
        ├── git-workflow.md        ← コミット・PR のルール
        └── testing.md            ← テストの書き方ルール

CLAUDE.md の内容(インポートのみ):

# your-project

Python + FastAPI で構築した REST API サーバーです。

@.claude/rules/coding-style.md
@.claude/rules/git-workflow.md
@.claude/rules/testing.md

@ で始まる行はそのファイルの内容をインポートします。チームで役割ごとにルールを分担管理したい場合に有効です。


手を動かしながら学びたい場合は、チュートリアルを参照してください。

このレベルの実践チュートリアル →

Level 5: Architect — マルチステップシステムとサブエージェント