Context Rot(コンテキスト劣化)

概要 コンテキストウィンドウが長くなるにつれてモデルの性能がトークン数に比例して低下する現象。古い・無関係なコンテンツが現在のタスクを妨害し、モデルの注意力が分散する。“Rot”(腐る)は Bit Rot・Code Rot と同じ、時間経過で静かに劣化する現象を指す慣用表現。 5 択のセッション管理 Anthropic テクニカルスタッフの Thariq 氏が整理した「ターンの終わりに行う 5 つの選択肢」: 選択肢 意味 向いている場面 Continue 同じセッションで続行 短いタスクで文脈が整理されている Rewind(Esc×2 / /rewind) 前のメッセージに戻り再プロンプト 誤った方向に進んだ試行錯誤を消したい /clear 白紙から新セッション 重要情報を自分で持ち込みたい /compact セッションをモデル自身に要約させる 手間をかけず文脈を圧縮したい Subagent 汚れ仕事を別エージェントに委譲 中間出力が大量で最終結果だけ欲しい /compact vs /clear の使い分け /compact: モデルに要約を委ねる(lossy)。/compact focus on the auth refactor, drop the test debugging のように指示を添えると精度が上がる。デバッグ後に全く別タスクを指示する場面では特に精度が落ちやすい /clear: 手間はかかるが残るコンテキストは自分が必要と判断した情報だけになる(lossless) Subagent を使うパターン 「中間出力が大量に出るが、必要なのは最終結果だけ」という作業に有効。サブエージェントはクリーンな独自コンテキストウィンドウを持ち、中間の試行錯誤が親のコンテキストを汚染しない。 実践的な把握方法 /usage で自分のトークン使用量の推移を確認し、Context Rot が始まるしきい値を事前に把握しておく。鈍くなった後では遅い。 関連ページ コンテキスト圧縮 — 5 段階の圧縮カスケード Claude Code — Context Rot 管理コマンドの実装 ソース記事 Claude Code のコンテキスト管理術 — Context Rot を防ぐ 5 つの選択肢 — 2026-04-17

2026年4月23日 · 1 分

Claude Code のコンテキスト管理術 — Context Rot を防ぐ5つの選択肢

Anthropic テクニカルスタッフ(Claude Code 担当)の Thariq(@trq212)が公開した記事「Using Claude Code: Session Management & 1M Context」が注目を集めている。「1M トークンのコンテキストウィンドウがあれば大丈夫」という誤解を正し、長いタスクを成功させるカギはコンテキストの能動的な管理にあると明示した内容だ。本記事では、その内容をもとに 5 つのセッション管理手法を整理する。 Context Rot とは何か コンテキストウィンドウとは、モデルが次のレスポンスを生成する際に「見える」すべての情報のことだ。システムプロンプト・会話履歴・ツール呼び出しとその出力・読み込んだファイルがすべて含まれる。Claude Code のコンテキストウィンドウは 100 万トークン。 しかし、コンテキストを使うことには静かなコストがある。それが Context Rot だ。“Rot” は英語で「腐る・朽ちる」を意味する単語で、ソフトウェアの世界では「Bit Rot」や「Code Rot」のように、時間経過や使用とともに静かに劣化していく現象を指す慣用表現として使われる。直訳すれば「コンテキストの腐敗」、意訳すれば「コンテキストの劣化」となる。 コンテキストが増えるにつれてモデルの性能がトークン数に比例して低下する。会話が長くなるほど、モデルの注意力が分散し、古い・無関係なコンテンツが現在のタスクを妨害するようになる。 Context Rot が始まるタイミングはタスクに大きく依存するため固定のルールはないが、長いセッションになるほど確実に忍び寄る。 ターンの終わりは「5択の分岐点」 ここが本質だ。AI が出力を終えるたびに、ユーザーには 5 つの選択肢がある。 選択肢 意味 Continue 同じセッションで次のメッセージを送る Rewind(Esc×2 または /rewind) 前のメッセージに戻り、そこから再プロンプト /clear 新しいセッションを開始する(核心だけ手動で持ち込む) /compact セッションをモデル自身に要約させ、要約の上に続ける Subagent 汚れ仕事を別エージェントに委譲し、結果だけ受け取る 多くのユーザーは「Continue」しか選ばない傾向がある。残り 4 つの選択肢を使ったことがない人も多い。 各選択肢の使いどき Rewind — 修正より巻き戻し Claude がファイルを 5 つ読み、あるアプローチを試みて失敗したとする。「うまくいかなかった、X を試して」と打つより、ファイルを読み終えた直後のメッセージに巻き戻して再プロンプトするほうが良い。 # 悪い例 「それはうまくいかなかった、代わりに Y を試して」 # 良い例 (/rewind でファイル読み込み直後に戻る) 「アプローチ A は foo モジュールがそれを公開していないので使えない。B に直接進んで」 誤った方向に費やした試行錯誤がコンテキストから消え、モデルが新鮮な状態で再出発できる。 ...

2026年4月17日 · 1 分