長く相談しているうちに、AIが最初に伝えた条件を使わなくなった。画面を上へ戻せば、その発言はまだ見えます。それでも、今回の回答を作るモデルに同じ範囲が渡されているとは限りません。「画面に残る会話」と「今、扱える情報」を分ける鍵が、コンテキストウィンドウです。
コンテキストウィンドウとは、一度の生成で扱える情報量の上限
コンテキストウィンドウは、LLMが一度の生成で扱える情報量の上限です。 LLMは文章を理解・生成する大規模言語モデルのこと。今回の質問や資料など、回答のために与える情報をコンテキストと呼び、その量には限度があります。
作業トレイに、今回使うメモや資料を載せる場面を思い浮かべてください。トレイの外に本が何冊あっても、それらを全部広げられるわけではありません。しかも、答えを書き進める紙の場所も必要です。
このたとえのトレイの広さが、コンテキストウィンドウに当たります。上限はふつうトークン数で表されます。トークンは文章を処理する単位で、文字数や単語数と一対一には対応しません。区切り方はAIのトークンとはで確かめられます。
実際には物理的な机があるわけではありません。モデルへ渡すデータと、生成するデータの量の話です。では、新しく打ち込んだ質問だけが、その枠を使うのでしょうか。
質問だけでなく、履歴・資料・回答も枠を使う
入力に含まれるのは、利用者が今書いた一文だけとは限りません。アプリからの指示、前の会話、添付資料、検索やツールの結果なども加わります。画像を扱えるモデルなら、その情報もモデルの方式に応じて数えられます。
さらに、生成する回答も枠に関わります。入力を上限いっぱいまで詰めれば、同じ上限の中に長い回答を追加できるとは限りません。実際の利用では、入力と出力それぞれの上限、推論用のトークンの数え方もモデルの仕様で確認します。
ユイ
短い質問しか打ってないのに、もういっぱいになることもあるんだね
ピコ
前の会話や資料も一緒に渡していれば、その分も使うよ。今の質問だけでなく、今回渡すもの全体を見てみよう
次の図では、指示・質問・履歴を合わせて4,000トークンに固定しています。資料を「全部追加」にするとどうなるか、続けて「必要な部分を選ぶ」に変えて比べてみてください。
説明用の仮の上限は10,000トークン。指示1,000・質問1,000・履歴2,000は固定です。実際のモデルの上限や文字数を表すものではありません。
入力8,000 + 回答枠2,000 = 合計10,000トークン
上限と同じ量です。資料を増やすには、ほかの情報や回答枠を調整する必要があります。
帯は入力・回答枠・空きの内訳です。超過した場合も全体を表示し、収まるかどうかは数値で示します。
回答枠は実際に生成された長さではありません。ここでは入力と回答が共通の枠を使う例に単純化しています。モデルによって、入力・出力の個別上限や推論用トークンの扱いも確認が必要です。
回答枠が2,000なら、資料を4,000から8,000へ増やすと、合計は14,000になり4,000超えます。同じ条件で資料を2,000へ絞れば、2,000の空きができます。枠そのものを広げなくても、今回渡す量は変えられるわけです。
この図は容量を比べる教材です。「全部追加した資料のうち、AIが自動で大切な部分だけ読んでくれる」という意味ではありません。収まらない場合の扱いは、次に見るアプリやAPIの設計に左右されます。
上限を超えるとどうなる?エラー・要約・履歴の選択
上限への対応は、使っている仕組みによって違います。代表的には、次のような処理があります。
| 起きること | 何を意味する? | 確かめるところ |
|---|---|---|
| 入力が長すぎるとして受け付けられない | 渡そうとした入力が許容範囲を超えた | エラー内容と入力の量 |
| 回答が上限で止まる | 出力の上限や、残りの枠に達した可能性がある | 終了理由や出力設定 |
| 古い会話を要約・選択して続ける | アプリが今回渡す情報を小さくしている | 要約に残った条件、今回参照できる範囲 |
たとえばClaude APIでは、入力だけでウィンドウを超えるとエラーになります。一方、履歴を要約して会話を続ける仕組みも用意されています。すべてのサービスが、上限に達したら同じ順番で古い発言を消すわけではありません。公式の上限と超過時の説明は、利用するモデルに合わせて確認します。
利用者から、内部で渡された情報をすべて見られない場合もあります。そのため「最初の条件を無視した」という回答だけで、上限超過だと断定はできません。条件が入力に含まれていても、読み違いや指示の食い違いは起こり得ます。
ここまでの上限は「今、扱う量」の話でした。履歴を保存しておける期間とは、どこが違うのでしょうか。
コンテキストウィンドウとメモリ・学習の違い
| 言葉 | 何を見る? | 例 |
|---|---|---|
| トークン | 情報量を数える単位 | 今回の入力が何トークンか |
| コンテキストウィンドウ | 一度の生成で扱える量の上限 | 履歴や資料と回答が枠に収まるか |
| メモリ | 情報を保存し、後で取り出して使う仕組み | 別の会話から好みの記録を取り出す |
| 学習 | データを使ってモデルの内部の数値を調整する工程 | 学習データからモデルの性質を変える |
トレイの外にメモを保管できても、今回使うには必要な情報を取り出す段階があります。AIのメモリが扱うのは、その保存と再利用です。長期メモリがあることから、過去の全文が毎回入力されるとは言えません。
また、資料を今回の入力に加える操作と、モデルを学習させる操作も別です。長い文章を読ませられるモデルを選んでも、それだけでモデルがその文章を恒久的に学習したことにはなりません。
では、今回使いたい資料がすべて収まるほど大きなウィンドウなら、見落としもなくなるのでしょうか。
コンテキストウィンドウが大きいほど正確とは限らない
大きいウィンドウは、長い資料をまとめて渡せる選択肢を増やします。しかし、入れられる量と、回答に正しく使えるかは別です。
たとえば、展示会の開催日を答えてほしいのに、資料の中に昨年版と今年版が混ざっているとします。両方が枠に収まっていても、どちらを使うかが曖昧なら誤答の余地が残ります。今年版がそもそも入っていなければ、空きが多くても情報不足は解消しません。
まず必要な情報が含まれているか、次に質問に合う情報を使っているかを見ます。「枠が広いから必ず正確」「長くすると必ず悪くなる」のどちらかに決めつけず、実際の質問と資料で確かめる必要があります。
容量だけを見ないと分かったら、長い会話で条件が抜けたときの確かめ方も変わります。
長い会話で条件が抜けるとき、何を確認する?
普段使うAIで、内部の入力をすべて調べるのは難しい場合があります。それでも、今回必要な条件を整理して、回答と照らすことはできます。
- 今回してほしい仕事を一つに絞る。 たとえば「展示案を二つ比べる」と目的を明示します。
- 外せない条件を短く示す。 予算、対象、日付など、今回の判断に必要なものをまとめます。
- 関係する資料の範囲を示す。 古い版と新しい版があるなら、使う版や該当箇所を指定します。
- 出た答えを条件と照らす。 表現が自然でも、予算や日付が合っているかを確かめます。
たとえば、「展示案を二つ比較。対象は大人、予算は5万円、今年版の資料の2節を使う」と整理できます。資料の要約を使う場合は、落とせない条件が原文から消えていないかも見ます。必要以上の個人情報や、今回無関係な会話まで貼り直す必要はありません。
新しい会話に切り替える方法もありますが、それだけで前の条件が引き継がれるとは限りません。続ける仕事に必要な情報をまとめ、どこから再開するかを明示します。
コンテキストウィンドウについてよくある疑問
会話が画面に残っていれば、AIも全部読めますか?
必ずしも読めません。画面に保存された履歴と、今回モデルへ渡す入力は別です。アプリによっては一部を選んだり要約したりします。
新しい会話にすると、モデルが学習した知識も消えますか?
会話を切り替えることと、学習済みのモデルの重みを消すことは別です。一方、その会話で渡していた資料や条件が、新しい会話でも使えるとは限りません。
上限まで空きを埋めた方が、よい回答になりますか?
空きを埋めること自体は目的ではありません。質問に必要な情報がそろい、その情報を正しく使って答えられるかを確かめます。
残す資料と外す資料を、どう決める?
長い会話で前の条件が使われないときは、「記録が消えた」と考える前に、今回渡せる範囲と、その中に必要な条件があるかを見ます。履歴の保存、今の入力、回答での利用を分けると、確認する場所が絞れます。
ただ、資料を減らすだけでは、大切な条件まで落としてしまうかもしれません。次に必要なのは、何を残し、どう並べれば今回の仕事に使いやすいかという判断です。コンテキストエンジニアリングの「必要な情報だけを選ぶ」で、容量の話から、渡す情報の組み立て方へ進みましょう。
この記事について
LAB WHITEBOARD
自分の言葉で説明してみよう
「今回の入力と回答が使う枠を説明し、保存された履歴や長期メモリと区別できる。」を、いまの自分の言葉で一文にしてみてください。途中の説明でも大丈夫です。




