ClaudeCodeを長時間使うと性能が落ちる?「コンテキスト」の正体と対処法

Claude Codeを使い込んでいると、こんな経験はないでしょうか。
「最初はキビキビ動いていたのに、作業が長引くにつれて、的外れな修正をしたり、さっき決めたはずのルールを忘れたりする…」
実はこれ、プロンプトが悪いわけでも、Claudeの調子が悪いわけでもありません。
「コンテキスト腐敗(context rot)」 と呼ばれる、LLMの構造的な現象が起きている可能性が高いです。
この記事では、Claude Codeをはじめとする長時間セッション型のAIコーディング環境で必ず意識しておきたい、コンテキストウィンドウ・コンテキスト腐敗・コンパクションの3つを整理しておきます。
参考文献:https://x.com/trq212/status/2044548257058328723?s=20
コンテキストウィンドウとは何か
まず前提として、Claude Codeのコンテキストウィンドウは 100万トークン です。
ここに入るのは、ユーザーが直接送ったメッセージだけではありません。
コンテキストには以下のすべてが含まれます。
- システムプロンプト
- これまでの会話履歴
- すべてのツール呼び出しとその出力
- 読み込まれたファイルの内容
つまり「Claudeが一度に見られる情報量の上限」であり、セッションが長くなればなるほど、この枠の中にどんどん情報が積み重なっていくイメージです。
ファイルを読ませる、ツールを実行する、長い会話を続ける——これらすべてがトークンを消費していきます。
コンテキスト腐敗(context rot)とは
ここで重要なのが 「コンテキスト腐敗(context rot)」 という概念です。
コンテキストが大きくなっていくと、モデルの注意(attention)が膨大なトークン全体に分散されてしまいます。その結果、古い情報や今のタスクに関係ない情報がノイズとして効き始め、現在のタスクの精度を下げていく のです。
Thariq氏によれば、100万トークンのモデルでは 約30万〜40万トークンあたりからコンテキスト腐敗が観察され始める とのこと。つまり、100万トークンあるからといって、100万トークンまで性能がフラットに保たれるわけではありません。
ただしこれはタスクに大きく依存するため、厳密なルールではありません。扱う内容がシンプルか複雑か、ノイズが多いか整理されているかによって、腐敗が目立ち始めるラインは前後します。
体感的なサイン としては以下のようなものが現れやすいです。
- 直前に決めた方針を忘れる
- 既に修正したはずの箇所をもう一度「修正しましょう」と言い始める
- ファイル全体を把握しきれず、見当違いの編集が増える
- 同じ質問に対する回答の一貫性が落ちる
「なんか最近Claudeが鈍いな…」という感覚は、ほぼコンテキスト腐敗のサインだと思って間違いありません。
コンパクションという解決策
コンテキストウィンドウはハードカットオフです。つまり、上限に達するとセッションは強制終了される 仕組みになっています。
そこで必要になるのが 「コンパクション(compaction)」 という処理です。
これは簡単に言うと、これまでの作業内容を要約して、新しいコンテキストに引き継ぎながら続行する 仕組みです。
- 何をやってきたか
- 何が決まっていて、何がまだ未解決か
- どのファイルが重要か
こうした情報だけを凝縮して、古い生ログは捨てる。これによって、再びクリーンなコンテキストで作業を再開できます。
Claude Codeにはこのコンパクションを行うための仕組みが用意されているので、長時間の作業では積極的に活用するのが鉄則です。
実践的なTips:コンテキストを健康に保つために
理屈がわかったところで、日々の運用で意識しておきたいポイントをまとめます。
1. 上限ではなく「腐敗ライン」を意識する
「100万トークンまで使える」ではなく「30〜40万トークンを超えたら要注意」と捉えるだけで、セッション設計がかなり変わります。
2. 不要なファイル読み込みを避ける
「念のため」で大きなファイルを丸ごと読ませるのは、その後の全タスクの足を引っ張ります。必要な箇所だけ切り出すクセをつけましょう。
3. タスクの区切りでコンパクションを入れる
機能実装が一区切りついたタイミング、リファクタが終わったタイミングなど、「ここは一度締めていい」と思ったら積極的にコンパクションをかける。
4. 長引きそうな作業はセッションを分ける
1つのセッションで全部やろうとせず、フェーズごとにセッションを切り替える判断も大事です。
まとめ
- Claude Codeのコンテキストウィンドウは100万トークン。そこには会話・ツール出力・ファイルのすべてが積み上がる
- コンテキストが膨らむとノイズが増え、30〜40万トークンあたりからコンテキスト腐敗 が起こり得る
- 上限到達でセッションは強制終了するため、コンパクション で要約しながら続行するのが基本戦略
AIコーディングで結果を出せるかどうかは、モデル性能よりも 「コンテキストをいかに健康に保つか」 で決まる時代になってきています。
「なんとなく使う」から「意図してコンテキストを設計する」へ。ここを押さえておくと、Claude Codeとの付き合い方が一段上がるはずです
※ 本記事の内容は、執筆時点での情報に基づいています。最新の情報と異なる場合がございますので、あらかじめご了承ください。 また、記載されている内容は一般的な情報提供を目的としており、特定の状況に対する専門的なアドバイスではありません。 ご利用にあたっては、必要に応じて専門家にご相談ください。