コンテキストウィンドウと制限
対象読者: コンテキストウィンドウという言葉の意味を正確に知りたい方、長い資料をAIに扱わせたい方
前提知識: コンテキストエンジニアリング の基礎
コンテキストウィンドウとは、モデルが一度に処理できる情報量の上限です。単位は文字数ではなくトークンで、日本語では1文字が1トークン以上になることもあります。
何が含まれるか
コンテキストウィンドウには、入力だけでなく出力も含まれます。
| 含まれるもの | 例 |
|---|---|
| システム指示 | 役割設定、守るべきルール |
| 会話履歴 | これまでのやり取り |
| ツール定義 | 利用可能なツールの説明文 |
| ツール実行結果 | 検索結果、ファイルの中身 |
| 生成する出力 | これから書く回答 |
見落とされやすいのがツール定義とツール実行結果です。ツールを20個渡せば、その説明文だけで相当量を占めます。ファイル全文を読み込むツールは、1回の実行で大きく消費します。
上限は「使い切ってよい枠」ではない
ウィンドウが広いモデルでも、限界まで詰め込むのは得策ではありません。モデルは渡されたすべてを判断材料として扱うため、無関係な情報が増えるほど、重要な情報の比重が下がります。
渡した情報が少ない
→ 指示と資料が明確に効く
渡した情報が上限近く
→ 技術的には処理できるが、重要な指示が相対的に埋もれる技術的な上限と、品質が保てる実用的な範囲は別物です。
上限に近づいたときの挙動
上限を超えると、多くの実装では古い履歴が切り落とされるか、エラーになります。切り落とされる場合、最初に渡した重要な指示が最初に消えることがあります。
対処は3つです。
- 要約する — 古い履歴を、決定事項と制約に絞って圧縮する
- 落とす — 使い終わった中間結果や全文ログを除く
- 分ける — 作業を分割し、サブエージェントへ委譲して別のウィンドウで処理する
まとめ
- コンテキストウィンドウは、一度に処理できる情報量の上限
- 入力だけでなく、ツール定義・実行結果・生成する出力も含まれる
- 上限まで詰め込むと、重要な情報の比重が下がり判断がぶれる
- 対処は、要約する・落とす・作業を分けるの3つ
関連リンク
クイズ