Claude Code の会話が長くなると、それまでのやり取り(文脈)がモデルのコンテキストウィンドウを埋めていきます。ここでは、文脈が上限に近づいたときの自動圧縮(auto-compact)、手動で要約する /compact、会話をまっさらにする /clear の違いと使い分けを解説します。これは Anthropic 公式の Claude Code に実在する機能です。
なぜ文脈管理が必要か
Claude Code は、これまでの会話・読み込んだファイル・実行結果などを「コンテキスト」としてモデルに渡しながら作業します。コンテキストには上限(コンテキストウィンドウ)があり、長い作業を続けると徐々に埋まっていきます。埋まりきる前に不要な履歴を整理しておくと、モデルは重要な情報に集中でき、応答の質と速度を保てます。文脈管理は、この整理を手動・自動で行う仕組みです。
自動圧縮(auto-compact)
コンテキストの使用量が上限に近づくと、Claude Code はそれまでの会話を自動的に要約して圧縮します(auto-compact)。要約には「何をしていたか」「決めたこと」「現在の状態」といった続行に必要な情報が残され、冗長な途中経過は畳まれます。これにより、長い作業の途中で会話が突然打ち切られることなく、そのまま続行できます。圧縮が行われると、その旨が画面に表示されます。
/compactで手動圧縮する
自動圧縮を待たずに、区切りの良いところで自分から圧縮したいときは /compact を使います。タスクが一段落したタイミングで実行すると、履歴が要約され、以降の作業に使えるコンテキストの余裕が増えます。
# 会話の履歴を要約して圧縮する
/compact
# 何を残したいか指示を添えることもできる
/compact 認証まわりの決定事項と残タスクを残して
指示を添えると、要約の際に重視してほしい点を伝えられます。次の作業に必要な情報を明示しておくと、圧縮後も文脈が途切れにくくなります。
/clearで会話をリセットする
別の無関係なタスクに移るときは、/compact ではなく /clear で会話履歴をまっさらにするのが有効です。/compact が「要約して残す」のに対し、/clear は「これまでの履歴を破棄して新しく始める」操作です。前のタスクの文脈を引きずらないので、無関係な情報による混乱を防げます。
# これまでの会話履歴を破棄して新規に始める
/clear
長い作業を続けるコツ
- タスクの区切りごとに
/compact、別タスクへ移るときは/clearと使い分ける。 - プロジェクトの前提や規約は会話に頼らず CLAUDE.md に書いておくと、圧縮やリセットをしても失われません。
- 大きな調査は サブエージェント に任せると、詳細なやり取りが本体の文脈を圧迫しにくくなります。
- 巻き戻したい場合は チェックポイント も併用すると安全です。
関連記事: サブエージェントの使い方 / CLAUDE.md の使い方