📖

コンテキストウィンドウ とは?

コンテキストウィンドウとは、大規模言語モデルが1回のやり取りで処理できるテキストの最大量をトークン単位で表したものです。その仕組みと重要性について解説します。

コンテキストウィンドウとは、大規模言語モデル(LLM)が1回のやり取りで処理できるテキストの最大量をトークン単位で表したものです。これは、ユーザーのプロンプト、添付された文書、これまでの会話履歴、そしてモデル自身が生成した応答を含め、モデルが一度に注意を向けることができる情報の全体的な範囲を定義します。会話や文書がコンテキストウィンドウを超えると、それより前の内容は通常切り詰められるか削除され、ほんの数秒前に与えられた詳細をモデルが「忘れて」しまう原因となることがあります。

コンテキストウィンドウの仕組み

テキストがLLMに届く前に、それはトークン、つまりモデルが実際に読み取る小さな塊(おおよそ単語または単語の一部)に分割されます。コンテキストウィンドウは、モデルが作業メモリ内に一度に保持できる固定のトークン予算です。モデルが128,000トークンのコンテキストウィンドウを公表している場合、システム指示、取得した文書、チャット履歴全体、そして生成中の返信のすべてが、その128,000トークンという枠内に収まらなければなりません。

内部的には、モデルはアテンション(注意機構)と呼ばれるメカニズムを使用して、そのウィンドウ内のすべてのトークン間の関係に重み付けをします。すべてのトークンが他のすべてのトークンに注意を向けるため、計算量とメモリコストはウィンドウサイズのほぼ2乗で増加します。これが、コンテキストウィンドウの拡張が活発に研究されている分野である理由です。実用的な影響はすぐに現れます。特定の事実を長い文書に埋め込む200,000トークンの「干し草の中の針」テストでは、プロンプトの後半でその事実について尋ねられたとき、モデルがそれをまだ思い出せるかどうかが明らかになります。

なぜ重要なのか

コンテキストウィンドウは、特定のターンでLLMが行えることに対する最も重要な制約です。ウィンドウが小さいと、ユーザーは長い文書を分割したり、前の方のセクションを要約したり、最も関連性の高い箇所のみを取り込む検索拡張生成(RAG)を利用せざるを得ません。ウィンドウが大きければ、モデルはコードベース全体、長い法的契約書、完全な文字起こし、あるいは長時間の会話を、以前の詳細を見失うことなく取り込むことができます。

開発者にとって、ウィンドウサイズはアーキテクチャの決定に影響を与えます。検索パイプラインの構築方法、チャットメモリの管理方法、そして上限内に収まるプロンプトの設計方法です。エンドユーザーにとっては、チャットボットに1章を貼り付けるのと、本全体を貼り付けるのとの違いであり、50ページに到達した時点で3ページ目についての質問にモデルが答えられるかどうかの違いでもあります。

主な種類と現在のサイズ

  • 短いコンテキスト(2K〜8Kトークン):消費者向けLLMの初期世代で、長いメールや数ページの散文にほぼ相当します。
  • 標準的なコンテキスト(32K〜128Kトークン):現代のフロンティアモデルで一般的であり、小説全体、適度な規模のコードベース、あるいは長い会議の文字起こしを保持するのに十分です。
  • 長いコンテキスト(200K〜1M+トークン):本全体、複数ファイルのリポジトリ、あるいは複数時間の会話を一度に取り込める新しい「長コンテキスト」モデルです。
  • 実効コンテキストと公表コンテキスト:公表ウィンドウは最大入力サイズであるのに対し、実効ウィンドウはモデルが確実情報を取得して推論できる範囲を指します。独立したベンチマークでは、実効ウィンドウが公表値より小さいことがよく示されています。

コンテキストウィンドウは2023年以降劇的に拡大していますが、大きければ常に良いとは限りません。ウィンドウが長いほどメモリ消費が増え、速度も低下し、モデルの集中力が分散する可能性もあります。ほとんどのタスクにおいては、仕様シート上の最大値を追い求めるよりも、入力に余裕を持って収まるコンテキストウィンドウを持つモデルを選ぶ方が有用です。

よくある質問

What happens when input exceeds the context window?
When input exceeds the context window, the model cannot see the excess text. Most APIs and chat interfaces handle this by truncating from the beginning or middle of the input, so the earliest content is lost first. Some systems use summarization or retrieval to compress earlier parts of the conversation so the most recent information still fits.
How many words fit in a context window?
As a rough rule of thumb, one token is about three-quarters of an English word, so a 100,000-token window holds roughly 75,000 words — close to the length of a typical novel. Code and other languages tokenize differently and may consume more tokens per character.
Does a larger context window make a model smarter?
Not necessarily. A larger window lets a model consider more information at once, but reasoning quality, training, and the model's effective recall still matter. Independent tests such as the "needle in a haystack" benchmark often find that models retrieve information less reliably near the edges of very long windows than in the middle.
How is context window different from memory in a chatbot?
The context window is the model's working memory for a single request, while chatbot "memory" usually refers to features that store facts across sessions and inject them into the prompt. Anything stored externally only counts toward the context window when it is actually included in the current prompt.