「100万トークンはAIのコンテキストを腐らせる」 Claude Codeを賢く保つ5つの選択肢と使い分け方:自動要約(autocompact)が失敗する原因
Anthropicはエージェント型コーディングツール「Claude Code」のセッション管理とコンテキストウィンドウ管理について解説した。100万トークンのコンテキストウィンドウを活用しつつ、5つの選択肢を使い分けることが作業結果を大きく左右するとしている。
Anthropicは2026年4月15日(米国時間)、エージェント型コーディングツール「Claude Code」のセッション管理と100万トークンのコンテキストウィンドウ管理について解説した。コンテキストウィンドウの利用状況を把握するための新しいスラッシュコマンド「/usage」もリリースしている。
Anthropicによると、セッション管理には利用者ごとに多くのやり方があり、1〜2つのセッションを開いたまま使う利用者もいれば、プロンプトごとに新しいセッションを始める利用者もいるという。
コンテキストウィンドウの中身と「コンテキストロット」(文脈の腐敗)
コンテキストウィンドウは、モデルが応答を生成する際に「見える」全ての範囲を指す。システムプロンプト、会話履歴、ツール呼び出しとその出力、読み込んだファイルが含まれる。Claude Codeは100万トークンのコンテキストウィンドウを備えている。
コンテキストが肥大化すると、「コンテキストロット」(context rot:文脈の腐敗)という副作用が発生する。モデルの注意が多くのトークンに分散し、古くて関係のない情報が現在のタスクの妨げとなる現象だ。コンテキストウィンドウの上限に近づくと、作業内容は自動要約(autocompact)され、新しいコンテキストウィンドウで作業が継続される。要約機能は手動でトリガーできる。
各ターンで選択できる5つの選択肢
Anthropicは、プロンプト送信後にユーザーが取れる選択肢を5つ示した。
- 「/clear」コマンド
新しいセッションを開始する。学んだ内容から要点を抽出して引き継ぐ - 「/compact」コマンド
これまでのセッションを要約し、要約の上で作業を継続する - サブエージェント
クリーンなコンテキストで動く下位エージェントに処理を委譲し、最終結果だけを親に戻す - 「/rewind」コマンド(ショートカット:[Esc]キー2回)
以前のメッセージまで巻き戻して再プロンプトする。巻き戻し地点以降の古いメッセージはコンテキストから破棄される - 現状維持で続行
同じセッションで次のメッセージを送る。最も自然な選択肢
新しいセッションを始めるタイミング
Anthropicは「新しいタスクを始めるときは新しいセッションで始める」を一般原則としている。100万トークンのコンテキストウィンドウによってフルスタックアプリ構築など長期タスクも信頼性高く実行できるが、コンテキストロットが発生する可能性がある。
一方、実装した機能のドキュメント作成など関連タスクでは、新セッションを始めるとファイルを読み直す必要があり、既存セッション継続の方が効率的な場合もある。
上書き指示の代わりに/rewindコマンドを使う
Anthropicによると、/rewindコマンド(または[Esc]キー2回)は修正作業で有効な選択肢だという。
例えば、Claudeが5つのファイルを読み、あるアプローチを試して失敗した場合、「うまくいかなかったのでXを試して」と指示するより、ファイル読み込み直後に/rewindして「アプローチAは使わない。モジュールが対応していないため、Bを直接使って」と再指示する方が効率的だ。
「Summarize from here」(ここから要約して)と/rewindを併用することで、過去に戻るだけでなく、その時点までの試行結果を要約し、次に引き継ぐためのメッセージを生成できる。
これは、うまくいかなかった試行を踏まえた「学習結果の整理」と「次の指示」をまとめて残すフローであり、「未来の自分」が「過去の自分」に助言を送るようなものだという。
/compactコマンドと/clearコマンドの使い分け
セッションが長くなった場合にコンテキストを削減するには/compactコマンドと/clearコマンドの2つがある。
/compactコマンドはモデルに会話を要約させ、履歴をその要約に置き換える処理で、重要な情報が漏れるリスクはあるが、ユーザーが自分で書く手間がない。指示を渡して方向付けも可能だ。
/clearコマンドはユーザー自身が「重要な事項」を書き出してクリーンな状態から始める。手間はかかるが、残るコンテキストはユーザーが決めたものになる。
自動要約(autocompact)が失敗する原因
autocompactが失敗する主な原因は次の2点だ。
1つ目は、将来のタスクの方向性をモデルが予測できないことだ。autocompactは過去の会話を要約する処理だが、その時点では次に何をするかは確定していない。そのため、現在のコンテキスト(例えばデバッグ作業)に関連する情報が優先され、別の問題(例えば他ファイルの警告など)は重要でないと判断されて削除されることがある。
2つ目は、autocompact実行時は、モデルの性能が最も低い状態であることだ。長時間のセッションによってコンテキストが肥大化した状態では、コンテキストロットが発生し、注意の分散によってモデルの判断精度が低下する。その結果、重要な情報の取捨選択を誤りやすくなる。
これらが重なることで、例えば長時間のデバッグ後、別の問題に切り替える場面では、必要な情報が要約から抜け落ちてしまうことがある。
対策としては、autocompactに依存せず、早い段階で意図を明示して手動で/compactコマンドを実行することが有効だ。これにより、残すべき情報を制御できる。
サブエージェントの活用
サブエージェントは、多くの中間出力が生成されるが後で必要ない作業に適している。Claude CodeはAgentツールを介してサブエージェントを生成し、サブエージェントは独自のコンテキストウィンドウを持つ。最終的な報告だけが親に戻される。
Anthropicは「このツール出力は再度必要とするか、結論だけでよいか」をサブエージェント利用の判断基準としているという。
Claude Codeは自動でサブエージェントを起動するが、必要に応じてユーザーが明示的に指示することもできる。例えば、「成果物の検証をサブエージェントに任せる」「別のコードベースを調査、要約させた上で実装させる」「変更内容を基にドキュメント作成を任せる」といった作業を分割、委任できる。
場面別の使い分け方
Anthropicは場面別に推奨する機能を次のように整理している。
- 同じタスクで既存のコンテキストが有用
→そのまま続行する - Claudeが誤った方向に進んだ
→/rewindコマンドで巻き戻し、有用なファイル読み込みは維持する - タスク途中で古いデバッグや探索でセッションが肥大化
→/compactコマンドで要約する - 本当に新しいタスクを始める
→/clearコマンドで完全にリセットする - 大量の中間出力が発生するが結論だけ必要
→サブエージェントに委譲する
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
「Claude Codeでトークン浪費」の原因 Anthropicが明かす「サブエージェント」5つの使い所と止め所
Anthropicは、同社のCLI型AIコーディングツール「Claude Code」のサブエージェントにおけるベストプラクティスやアンチパターンなどを解説したブログ記事を公開した。
「Gemini」「Claude Code」「Codex」 全社展開・本番実装に役立つ5つのポイント
開発現場における生成AIの利用は常態化しつつあるものの、「コード補完の域を出ない」「特定の個人のスキルに依存している」といった課題があります。本稿では、個人の生産性向上からチームへの定着、全社規模での展開、そしてAIエージェントの本番実装に至るまで、開発プロセス変革に役立つ5つのポイントを整理します。
AIコーディングツールの利用率、「GitHub Copilot」一強揺らぐ? 「Claude Code」急伸
JetBrainsは開発者1万人超を対象としたAIツール利用動向の調査結果を発表した。「GitHub Copilot」の成長が鈍化する一方、「Claude Code」が急伸したという。
エディタ切り替えの手間をゼロに 「Claude Code」がUI刷新、3つのビューモードを追加
Anthropicはデスクトップ向け「Claude Code」のUIを刷新した。複数のセッションを同時に進める開発スタイルに合わせ、サイドバーやターミナル操作、ドラッグ&ドロップ操作などを刷新した。
AIの「全承認スキップ」は危険、「はい」連打は面倒 Claude Codeで始まった折衷策
Anthropicは、「Claude Code」に「auto mode」機能を追加した。その仕組みと利用上の注意、利用方法を紹介する。




