Claude Codeのコンテキスト管理を怠ると、作業が長引くほど指示がぶれていきます。原因は、会話が伸びるほどコンテキストウィンドウが埋まり、早い段階の指示ほど参照されにくくなることです。本記事は、会話を区切る・渡す情報を絞る・作業状態をファイルへ逃がすという3つの手を、公式ドキュメント5件と自社の運用記録(2026-07-28実測)から整理します。
検証環境:claude-opus-5 / Claude Code v2.1.x / macOS 15 / 2026-07-28検証
01結論:Claude Codeのコンテキスト管理は、区切り・絞り込み・外部化の3つで支える
結論は3点です。
- 指示がぶれる直接の原因は、コンテキストウィンドウが会話とファイル読み込みで埋まり、早い段階の指示が参照されにくくなることです。
- 打つ手は3つあり、会話を区切る・渡す情報を絞る・作業状態をファイルへ逃がす、を状況に応じて選びます。
- 3つの手は粒度が違うため併用できます。区切りは会話単位、絞り込みは1回のやり取り単位、外部化はセッションをまたぐ単位の対策です。
Claude Code公式ドキュメントは、コンテキストウィンドウに会話履歴・ファイル内容・コマンド出力が入ると説明しています。CLAUDE.md・auto memory・読み込み済みのスキルも同様です(出典: Claude Code公式ドキュメント)。会話が伸びるほど、この中身は増える一方です。
同じ公式ドキュメントは、コンテキストが埋まるとClaude Codeが自動でコンパクション(要約)を行うとも述べています。ただし会話の早い段階にあった詳細な指示は、失われる可能性があるとも明記しています(出典: Claude Code公式ドキュメント)。埋まってから自動処理に任せる設計だけでは、指示の劣化を防ぎきれません。
Claude Codeを業務のどこまで任せるかは『業務で使うClaude Code|コード以外に任せる仕事の地図』で整理しています。任せる時間が長くなるほど、今回のコンテキスト管理が効いてきます。WEBMARKSは2026-06-24に7部署・30体のAI社員を定義し、Claude Codeで長時間の制作作業を日常的に行っています。指示がぶれる場面を減らすため、3つの手を運用ルールとして固定しました(2026-07-28実測、詳細は後述)。
02指示がぶれる原因|コンテキスト管理を怠ると何が積み上がるか
Claude Codeのコンテキストウィンドウには、会話を始める前から複数の要素が積み上がっています。公式ドキュメントが示す内訳は次のとおりです(出典: Claude Code公式ドキュメント)。
- システムプロンプト:常に最初に読み込まれる基本指示
- auto memory(MEMORY.md):前回までにClaudeが学んだ内容の先頭200行または25KB
- CLAUDE.md:プロジェクト・ユーザー・組織の指示ファイル
- MCPツール名とスキルの一覧:本体は使うときだけ読み込まれる
- 会話履歴:ユーザーの発言とClaudeの応答、ファイル読み込みやコマンド出力
この時点で、標準のコンテキストウィンドウ20万トークンの一部はすでに埋まっています(出典: Claude Code公式ドキュメント)。ここへ、ファイルを1つ読むたびに数百〜数千トークンが加わります。長時間のセッションでは、この積み上がりが指示のぶれに直結します。
原因は2つに分けられます。1つは、古い指示ほど会話の奥に埋もれ、Claudeが参照する優先度が下がることです。もう1つは、コンテキストが埋まるとClaude Codeが自動で要約を行い、その過程で細部の指示が失われることです(出典: Claude Code公式ドキュメント)。
Claude Code公式ドキュメントによると、コンテキストが上限へ近づくと古いツール出力から先に消えます。それでも足りなければ、会話そのものを要約します(出典: Claude Code公式ドキュメント)。要約後もユーザーの依頼内容と主要なコード断片は残りますが、会話の早い段階にあった細かい指示は失われる場合があります(出典: Claude Code公式ドキュメント)。
この設計を知らずに長いセッションを続けると、数十ターン前に伝えた禁止事項や命名規則が、要約のタイミングで本文から抜け落ちることがあります。抜け落ちた指示は、Claudeが「守っていない」のではなく「見えていない」状態です。次章から、見えなくなる前に打つ3つの手を順に確認します。
031つ目の手:会話を区切るコンテキスト管理|/clearと/compactの使い分け
1つ目の手は、会話そのものを区切ることです。Claude Codeには/clearと/compactという2つのコマンドがあります。
| コマンド | 効果 | 使いどころ |
|---|---|---|
/clear | 会話履歴を完全に消し、新しいセッションとして再開する | 別の作業へ切り替えるとき |
/compact | 会話を構造化された要約に置き換え、続きを保ちながら空きを作る | 同じ作業を続けながら空きが欲しいとき |
/compact <指示> | 何を残すかを指定してから要約する | 残したい情報がすでに決まっているとき |
公式ドキュメントは、無関係な作業に切り替えるときは/clearを使うよう勧めています。古い文脈が新しい作業の判断を邪魔しないようにするためです(出典: Claude Code公式ドキュメント)。/clearは会話履歴を完全に削除し、復元できません。必要な文脈は、実行前にCLAUDE.mdへ書いておきます(出典: Claude Code公式ドキュメント)。
/compactには要約の焦点を指定できます。たとえば/compact 認証まわりの変更点だけ残してのように書くと、Claudeは何を優先して残すかを判断できます(出典: Claude Code公式ドキュメント)。CLAUDE.mdに「Compact instructions」の節を作っておけば、毎回書かなくても同じ方針を適用できます。
# Compact instructions
要約するときは、テスト結果とコードの変更点を優先して残してください公式ドキュメントは、自動判定を待つより前に/compactを手動で打つ方がよいと説明しています。状況が分かっているうちなら、何を残すかを自分で選べるためです(出典: Claude Code公式ドキュメント)。区切りは「作業が切り替わったら/clear、続けるが軽くしたいなら/compact」という単純な判定で運用できます。
042つ目の手:渡す情報を絞るコンテキスト管理|CLAUDE.mdとサブエージェントの役割分担
2つ目の手は、そもそもコンテキストへ入れる情報量を絞ることです。絞り方は大きく2種類あります。
第一に、常に読み込まれるCLAUDE.mdを軽くします。公式ドキュメントは、CLAUDE.mdを200行未満に保つことを推奨しています。長いファイルはコンテキストを消費し、指示への追従を下げるためです(出典: Claude Code公式ドキュメント)。
特定のディレクトリでだけ必要な指示は、.claude/rules/へpaths指定つきで切り出します。該当ファイルを読んだときだけ読み込まれます(出典: Claude Code公式ドキュメント)。
第二に、大量に読む必要がある調査をサブエージェントへ渡します。サブエージェントは独自のコンテキストウィンドウを持ち、そこで読んだファイルは本体の会話に入りません。戻ってくるのは要約とメタデータだけです(出典: Claude Code公式ドキュメント)。
公式ドキュメントの例では、6,100トークン分のファイルを読んだ調査が、本体へは420トークンの要約として返っています。差の5,680トークンが、本体のコンテキストで節約された量です(出典: Claude Code公式ドキュメント)。テストの実行結果やログファイルなど、細部を読み切ってから結論だけ欲しい作業は、この形に向いています。
hooksによる前処理も、絞り込みの一種です。公式ドキュメントは、1万行のログファイルをClaudeにそのまま読ませる代わりに、PreToolUseフックでERROR行だけを抽出して渡す例を示しています。数万トークンだった入力が、数百トークンまで減ります(出典: Claude Code公式ドキュメント)。
053つ目の手:作業状態をファイルへ逃がす文脈整理|台帳とMEMORY.mdの使い分け
3つ目の手は、会話の中に置いたままにせず、作業状態をファイルへ書き出すことです。会話は/clearや/compact、あるいは想定外の終了で失われますが、ディスク上のファイルは残ります。
書き出し先は主に2種類です。1つは人間が書くCLAUDE.md、もう1つはClaudeが自分で書くauto memory(MEMORY.md)です。両方とも毎セッションの開始時に読み込まれます(出典: Claude Code公式ドキュメント)。
| 書き出し先 | 誰が書くか | 読み込まれる量 | 向いている内容 |
|---|---|---|---|
| CLAUDE.md | 人間 | ファイル全体 | 恒久的なルール・禁止事項・命名規則 |
| MEMORY.md(auto memory) | Claude | 先頭200行または25KBまで | ビルドコマンド・過去の訂正・気づいた癖 |
| 案件台帳などの独自ファイル | 人間とClaude双方 | Claudeが都度読みに行く | 進行中タスクの状態・次の一手 |
公式ドキュメントは、プロジェクト直下のCLAUDE.mdはコンパクション後もディスクから再読み込みされると明記しています。一方でサブディレクトリのCLAUDE.mdは、該当ディレクトリのファイルを再度読むまで再読み込みされません(出典: Claude Code公式ドキュメント)。恒久的に守らせたい指示は、プロジェクト直下のCLAUDE.mdに置くのが安全です。
進行中タスクの状態は、CLAUDE.mdにもMEMORY.mdにも向きません。前者は会話ごとの上書きを前提とせず、後者は200行の制限があるためです。WEBMARKS社内は、案件ごとの台帳ファイル1つに「状態」「次の一手」「最終更新」を書き、着手時と節目ごとに更新しています。
[案件: 20260728_AGIジャーナル記事制作]
状態: 進行中
次の一手: AGIM-017の図解2点をSVG化する
最終更新: 2026-07-28この形にしておくと、会話が/clearで消えても、次のセッションが台帳を読むだけで続きから着手できます。書く場所を会話の中から出すことが、3つ目の手の中身です。
06WEBMARKSのコンテキスト管理の実例|3つの手を使い分けた記録
自社での使い分けは、この記事自体の制作工程にも表れています。
| 工程 | 使った手 | 理由 |
|---|---|---|
| 記事設計から執筆へ切り替えるとき | 会話を区切る(/clear) | 設計の議論と本文執筆は別の作業のため |
| 公式ドキュメントを複数ページ調べるとき | 渡す情報を絞る(サブエージェント) | 原典照合はページ数が多く、本体の会話を汚さないため |
| 記事の状態を次の担当へ引き継ぐとき | 作業状態をファイルへ逃がす(台帳) | 執筆・原典照合・批評でセッションが分かれるため |
姉妹メディアのAIO Journalは、公開URLが251本です(2026-07-28にsitemap.xmlで実測)。制作体制を引き継いだ本メディアも、記事ごとに執筆・原典照合・批評でセッションを分ける前提のため、3つ目の手(作業状態の外部化)に最も依存しています。
2026-07-28、社内のAIエージェントが台帳の古い記録だけを根拠に、AIO Journalを「1本も公開されていない」と誤って報告した例があります。原因は、稼働状況を否定する報告を本番URLで確かめずに出したことでした。以後、否定的な報告は実物を確認してから出す手順を足しています。
07コンテキスト管理でつまずきやすい5つの落とし穴
/clearを使わずセッションを伸ばし続ける:無関係な作業へ切り替えても会話を続けると、古い文脈が新しい作業の判断を歪めます。作業の性質が変わった時点で区切ります。- 自動コンパクションに任せきる:埋まってからの要約では、何を残すか選べません。まとまった区切りが来たら、
/compact <焦点>で先に打ちます。 - CLAUDE.mdへ何でも書き足す:200行を超えたCLAUDE.mdは毎回読み込まれ続け、指示への追従も下がります(出典: Claude Code公式ドキュメント)。特定領域の指示は
.claude/rules/へ切り出します。 - MEMORY.mdを長文の議事録にする:先頭200行または25KBを超えた分は、次のセッションで読み込まれません(出典: Claude Code公式ドキュメント)。1行1件を意識し、詳細は別ファイルへ逃がします。
- 進行中タスクの状態を会話の記憶だけに頼る:セッションは
/clearや想定外の終了で失われます。状態はファイルへ書いた分だけ、次のセッションへ引き継がれます。
08コンテキスト管理チェックリスト|7項目で今日から点検する
- 作業の性質が変わった時点で
/clearを使っているか - まとまった区切りが来る前に
/compact <焦点>を手動で打っているか - CLAUDE.mdは200行未満に収まっているか、超えているなら
.claude/rules/へ分割したか - 大量のファイル読み込みや調査をサブエージェントへ委譲しているか
- ログや大きな出力をhooksで絞ってからClaudeへ渡しているか
- 進行中タスクの状態を、会話ではなくファイル(台帳など)に書いているか
/contextで現在のコンテキスト使用量を、作業の節目に確認しているか
09FAQ
コンテキストウィンドウの上限はどれくらいですか
標準のコンテキストウィンドウは20万トークンです(出典: Claude Code公式ドキュメント)。一部のモデルはより大きな上限に対応しますが、対応状況はプランや設定によって変わります。
/compactと/clearはどちらを先に検討すべきですか
同じ作業を続けるなら/compact、無関係な作業へ切り替えるなら/clearです。判断に迷うときは、次の指示が前の文脈を必要とするかどうかで決めます。
サブエージェントに任せると回答の質は落ちませんか
任せる範囲を「大量に読んで要点だけ返す調査」に絞れば、本体の判断材料は減りません。最終判断や実装そのものは、本体側に残す設計が基本です。
コンテキスト管理を怠ると、どのくらいで指示がぶれ始めますか
作業内容やファイルの大きさによって変わるため、一律の目安はありません。/contextコマンドで使用量を確認しながら、自分の作業での埋まり方を把握するのが実務的です。