コンテキストウィンドウ
Context Window
概要(サマリー)
コンテキストウィンドウとは、生成AIが1回の応答で参照できる情報量の上限である。入力した文章だけでなく、これまでの会話や、これから生成する出力もこの枠に入る。
机の広さに似ている。学習で読んだ本の量ではなく、今この問題を解くために机へ広げられる紙の枚数である。LLMの知識全体とは別物で、Claudeのドキュメントでは「作業記憶」と説明されている。
枠を超えると、古い話が落ちたり、リクエスト自体が拒否されたりする。広い机ほど長い資料を扱えるが、紙を敷き詰めれば重要な1枚が埋もれる。
詳細解説
何が枠に入るのか
コンテキストは「判断に必要な背景」のことである。コンテキストウィンドウは、その背景を1回の依頼でどれだけ載せられるかという上限である。単位は文字数ではなくトークンである。
APIへ送るもののうち、次はだいたいこの枠に数える。
- システムプロンプト
- これまでの利用者の発言と、AIの返答
- ツールの定義と、ツールから返った結果
- 画像やPDFなど、テキスト以外の入力
- 今回AIが生成する文章。回答の前に内部で考えるモデルでは、その考えに使ったトークンも入る
会話が1往復進むたびに、直前までの履歴が次の入力へ残る。チャット画面では過去ログが残って見えても、モデルが同時に参照できるのはこの窓の中だけである。
大きさはモデルで違う。Claudeのドキュメントでは、Claude Opus 4.6以降などの多くのモデルが100万トークン、Claude Sonnet 4.5などそれ以外のモデルが20万トークンとされている。同じ会社のモデルでも窓の大きさは揃っていないので、使うモデルの一覧表で確認する。
学習データとの違い
モデルは学習時に膨大な文章を読んでいる。それはコンテキストウィンドウではない。窓は、その場の依頼に添付された作業用のメモである。
だから、学習に入っていない社内規程は、窓へ入れない限りモデルは知らない。逆に、窓へ入れた文章は、学習させていなくても今回の回答の材料になる。長い知識を毎回の依頼へ載せられないときは、RAGで必要な断片だけを探す。
広いほど正確、ではない
窓が大きいと、長い仕様書や複数ファイルを同時に渡せる。ただし、Claudeのドキュメントは、トークンが増えると正確さや拾い忘れ(recall)が落ちることがあると説明し、これを context rot と呼んでいる。
関係ないログ、古いエラー、全部のファイルを貼ると、守ってほしい条件が埋もれる。必要なものを選び、優先順位が分かる形で渡すほうが、ただ広く使うより安定しやすい。
上限に達するとどうなるか
収まり方はAPIによって違う。Claudeでは、入力だけで窓を超えると、リクエストが拒否される。入力は収まっても、指定した出力上限との合計が窓を超える場合は、生成の途中で止まるモデルがある。
チャット製品は、古い発言から順に窓の外へ出すこともある。画面に履歴が残っていても、モデルは先頭の指示を見ていない、というずれが起きる。
出力も枠を使うので、「入力は収まったのに、返答が途中で切れる」ことがある。長い回答を求めるときは、入力側を短くする余地を残す。
枠を守るときの考え方
全部を残す必要はない。次の依頼に要る情報だけを残す。
- 古い試行錯誤は、結論だけを短くまとめて置き換える
- ログは、エラー箇所の前後だけを貼る
- ツールの結果は、次の判断に使う部分だけを戻す
- 資料全体が窓に収まるなら、細かく切らずに渡すほうが単純なこともある
- 収まらない資料は、検索して必要な箇所だけを渡す
同じ前文をキャッシュしても、その前文が窓を占有しなくなるわけではない。支払うトークンの計算が変わるだけで、窓の使用量からは消えない。
AIコーディングとの関係
AIコーディングのチャットが長くなると、最初に伝えたファイル構成や禁止事項が窓の外へ出る。モデルが急に別の書き方を始めるときは、能力が落ちたのではなく、見えているメモが入れ替わった可能性を先に疑う。
新しい話題は、新しいチャットに分ける。同じスレッドへ仕様変更、バグ修正、無関係な質問を積み上げない。
プロジェクトのルールファイルは、毎回の依頼の前に窓へ入る。長いルールは、今回直したいコードの分を圧迫する。毎回守ってほしいことだけを短く書き、その場の条件は依頼文へ書く。
「リポジトリ全体を読んで」と頼んでも、窓に入る範囲しか読まれない。対象ファイル、関数名、再現手順を指定したほうが、広い窓に頼るより確実である。
よくある勘違い
コンテキストと同じ意味?
近いが、指すものが違う。コンテキストは背景情報そのものである。コンテキストウィンドウは、その背景を1回で載せられる量の上限である。
学習した知識の量?
学習データの量ではない。今の依頼で参照できる作業記憶の大きさである。学習していないことは、窓へ入れない限り今回の材料にはならない。
チャットに残っている履歴は全部見えている?
画面上の履歴と、モデルが見ている範囲は一致しないことがある。古い発言は要約されたり、窓の外へ出たりする。
大きければ正確になる?
長い入力を扱えるようになるだけで、正確さが自動で上がるわけではない。無関係な文章が増えると、必要な条件を見落とすことがある。
まとめ
- コンテキストウィンドウは、1回の応答で参照できるトークン数の上限である
- システム指示、会話、ツールの結果、画像、今回の出力が同じ枠に入る
- 学習データの量とは別で、その場の作業記憶にあたる
- 広いほど正確とは限らず、必要な情報を選んで渡す必要がある
- チャットが長いと、最初の指示が窓の外へ出ることがある
情報ソース
より詳しくAIに聞いてみよう
- コンテキストウィンドウを、机の広さ以外のたとえでも説明してください。
- コンテキストとコンテキストウィンドウの違いを、会話の例で整理してください。
- 長いチャットで最初の指示が無視される理由を、トークンの増え方から説明してください。
- エラーログをAIに渡すとき、窓を無駄にしない貼り方を教えてください。
- AIコーディングで、ルールファイルを長くしすぎないための分け方を提案してください。