コンテキストウィンドウ
context length · context limit
ひとことで
コンテキストウィンドウは、モデルが一度のリクエストで処理できるトークン数の上限です。システムプロンプト、ツール定義、会話履歴、添付文書、生成された出力などが含まれます。ウィンドウ外の内容はモデルには見えません。
コンテキストウィンドウは硬い上限であり、共有予算です。システム指示、ツールのスキーマ、これまでの会話、取得したパッセージ、添付ファイル、生成中の応答など、すべてが同じスペースを争います。 最後の項目が人々を驚かせます。非常に長い入力は応答に十分な余裕を残さず、途中で切れることがあります。 長いコンテキストは不均一に劣化します。長コンテキストの挙動に関する研究では、U字カーブの正確性が観察され、長い入力の先頭と末尾の事実は比較的信頼性高く取得されますが、中央の事実はそうではありません。実務上の規則は直接導かれます — 指示は最初に、直近の質問は最後に、余分な情報は入れない。 コストも同じ予算を共有します。ほとんどのチャットAPIは毎ターン全会話を再送するため、長いスレッドはメッセージ数以上に高コストになります。プロンプトキャッシュにより、変更のない接頭辞の料金が削減されますが、その接頭辞が要求間でバイト単位で同一である場合に限ります。 上限に達したときの一般的な解決策は、より大きなウィンドウではなく取得です:質問に関連する数少ないパッセージを取得し、それを送信します。
よくある質問
- コンテキストウィンドウが大きくなると、回答はより良くなるのか?
- 自動的には行われない。モデルは長い入力の先頭や末尾に配置された情報を、中央にある情報よりも信頼性高く取得するため、関連性の方がボリュームより重要である。
- 会話がウィンドウを超えるとどうなるの?
- このアプリケーションは、古いターンを削除、要約、または外部化しなければなりません。モデルはウィンドウ外の情報を見ることができず、何かが削除されたことに警告することはありません。