コンテキストウィンドウ
コンテキストウィンドウとは、モデルが一度に読めるテキストの量です。そこには、システムプロンプト、ツールの定義、メモリファイル、そしてこれまでの会話のすべてのメッセージ、ツールの結果、返信が入ります。長い会話ではウィンドウが埋まっていき、埋まるほど、履歴が短くされるまでターンは遅く、高価になります。会話のコンパクト化を参照してください。
OAR は、ウィンドウがどれだけ埋まっているかを 2 か所で表示します。常に見える入力欄の上端に沿った細い線と、数値の内訳を示す 🧠 コンテキストダイアログです。
入力欄の上の線 #
線は入力欄の上端に沿って伸びています。会話がウィンドウをどれだけ使っているかが一目でわかります。表示モードは 2 つあり、config. の context で設定します(config.json を参照)。
| モード | 表示される内容 |
|---|---|
default |
全幅にわたる線です。色は、ウィンドウが空のときの緑から、いっぱいのときの赤まで変わります。 |
bar |
同じ線が、ウィンドウの使用中の割合まで左から伸びます。 |
OAR がその会話の数値を持っていないときは、線はニュートラルなグレーになります。最初のターンの前と、何も報告しないプロバイダーの場合です(プロバイダー別を参照)。
線が更新されるのは次のときです。
- 会話を開いたとき
- 表示中の会話にメッセージが届いた少し後
- ターンが終わったとき
Claude、DeepSeek、Claude Cloud、Cursor、Grok では、数値はターンの終わりに記録されるため、線はターンごとに 1 回動きます。
🧠 コンテキストダイアログ #
会話のヘッダーの 🧠 をクリックします。ツールチップは Check current context(現在のコンテキストを確認)です。ダイアログのタイトルは Context usage(コンテキストの使用量)です。サブタイトルは Claude session 1a2b3c4d のような形で、プロバイダーとセッション ID の最初の 8 文字を示します(OpenAI の会話では、Copilot エージェントが実行するため Copilot と表示されます)。セッションがまだない場合は、Conversation と会話 ID の最初の 8 文字が表示されます。会話を開いていないときは、ダイアログに Open a conversation to see its context usage.(会話を開くとコンテキストの使用量が表示されます。)と表示されます。
ダイアログに表示されるものを上から順に挙げます。
- モデルと、合計とウィンドウを示す見出し。Claude と DeepSeek では、見出しは
60.のようになります。モデルの上限は、わかっている場合に表示されます。その他のプロバイダーでは9k used · compaction window 100. 0k · model limit 1 M 221.のようになります。3k / 1. 0 M tokens (22%) - バー。カテゴリごとに色分けされた部分があります。
- 表。列は Category(カテゴリ)、Tokens(トークン)、Usage(使用状況)です(Usage はウィンドウに占める割合)。
- バーの下の注記。As of the last completed turn(最後に完了したターンの時点)の後に時刻とモデルが続き、数値がいつ取得されたかを示します。その他の注記は、数値が推定であることを示します(プロバイダー別を参照)。
- Claude では、自動コンパクト化ウィンドウのスライダー、思考のコントロール、Commit attribution(コミットの帰属表示)の行。Claude を参照してください。フォルダーから開始した Claude Cloud のチャットにも、帰属表示の行が表示されます。0.9.17 で追加 DeepSeek のチャットにはスライダーだけが表示されます。DeepSeek は常に思考し、そのコミットの帰属表示は DeepSeek の設定タブで設定するためです。DeepSeek を参照してください。
- 0.9.16 で追加 エージェントが開始したセッションでは、プロバイダーにかかわらず、Agents in this conversation may start sessions(この会話のエージェントにセッションの開始を許可)のスイッチ。開始されたセッションにセッションの開始を許可するを参照してください。
- 折りたたまれた Raw details(生データ)のブロック。ランタイム自身のテキストがある場合に表示されます。
右上の Refresh(再読み込み)で数値を読み直します。Claude、DeepSeek、Claude Cloud、Cursor、Grok では数値はターンの終わりにしか変わらないため、主に役立つのは、ダイアログを開いている間に終わったターンの後です。
カテゴリ #
表の行はプロバイダーによって異なります。Claude と DeepSeek はどちらも Claude Code で動くため、行は Claude Code 自身が報告するカテゴリで、名前も Claude Code が付けたとおりです。例えば System prompt(システムプロンプト)、System tools(システムツール)、Skills(スキル)、Messages(メッセージ)があり、セッションにあれば MCP tools(MCP ツール)、Memory files(メモリファイル)、Custom agents(カスタムエージェント)も表示されます。さらに 2 つの行が、ウィンドウの残りの部分を表します。
| 行 | 意味 |
|---|---|
| Free space(空き容量) | ウィンドウのうち、まだ使われておらず、会話が埋められる部分です。 |
| Auto-compact reserve(自動コンパクト化の予備領域) | ウィンドウのうち、自動コンパクト化のしきい値を超える部分です。会話はそこに達する前にコンパクト化するため、この部分が埋まることはありません。自動コンパクト化がオンで、しきい値がわかっている場合にだけ表示されます。 |
Claude Code が一覧に載せているものの読み込んでいないツールには、(deferred)(保留中)の印が付きます。このツールは表に表示されますが合計には含まれず、注記でその旨が示されます。そのため、行の合計が見出しの数値を上回ることがあります。
自動コンパクト化ウィンドウのスライダー #
Claude と DeepSeek では、ダイアログに Auto-compact window(自動コンパクト化ウィンドウ)のスライダーがあります。これは、Claude Code が会話をコンパクト化するまでに、会話がためられるコンテキストのトークン数を設定します。この設定はリレーではなく会話に属します。その他のプロバイダーには、このようなコントロールはありません。
スライダーには 7 つの段階があります:Auto(自動)、100k、150k、200k、300k、500k、1M。Auto が既定値で、選択を Claude Code に任せます。Claude Code はモデルに合ったウィンドウを選びます。100k が下限です。Claude Code はそれより小さい値を無視します。0.9.17 で追加 DeepSeek のチャットでは、Auto は 400k トークンを意味します。別の段階を選ばない限り、リレーがそのウィンドウを Claude Code に渡すため、長い DeepSeek のチャットは 1M のウィンドウがいっぱいになるかなり前にコンパクト化します。コンパクト化そのものと各段階の意味は、会話のコンパクト化で説明しています。
スライダーの周りでダイアログが示すもの:
- スライダーの下の行は Effective:(実効値:)で始まり、有効なしきい値を示します。例:
compacts at 967.。最後の部分はその出どころを示し、auto (model-tuned)(自動、モデルに合わせて調整)、model default(モデルの既定値)、スライダーで設定した値を示す from settings(設定から)、from CLAUDE_CODE_AUTO_COMPACT_WINDOW(CLAUDE_CODE_AUTO_COMPACT_WINDOW から)、from client data(クライアントのデータから)のいずれかです。最初のターンの前は — (known after the first turn)(最初のターンの後に判明)と表示されます。この環境変数については環境変数で説明しています。0k of 1. 0 M tokens · auto (model- tuned) - Claude Code が自動コンパクト化はオフだと報告すると、Auto-compact is disabled for this session.(このセッションでは自動コンパクト化が無効です。)と表示されます。
- 新しい設定がいつ有効になるかを、注記が示します:Applies after the current turn.(現在のターンの後に適用されます。)、Applies when background work has finished.(バックグラウンドの作業が終わると適用されます。)、Applies on the next message (the session restarts once).(次のメッセージから適用されます。セッションが一度再起動します。)
- 会話がすでに使っている量より小さいウィンドウを選ぶと、The conversation will be compacted on the next message.(次のメッセージで会話がコンパクト化されます。)という警告が表示されます。
スライダーを動かしても、変わるのはラベルと注記だけです。設定はダイアログを閉じたとき(×、Escape、またはダイアログの外側をクリック)に保存され、短い通知で確認できます。例:Auto-compact window set to 200k tokens.(自動コンパクト化ウィンドウを 200k トークンに設定しました。)。Auto を選んだ場合は Auto-compact window back to the model default.(自動コンパクト化ウィンドウをモデルの既定値に戻しました。)と表示されます。Claude Code はウィンドウを起動時にしか読み込まないため、適用のために、セッションは次のメッセージの前に一度再起動します。会話のコンパクト化を参照してください。
ウィンドウのサイズ #
ウィンドウのサイズはモデルによって異なります。一部のモデルには、2 つ目のより大きなウィンドウ(例:1)があります。送信する前に、入力欄の Context window(コンテキストウィンドウ)の選択欄で選びます。コンテキストサイズを参照してください。
Claude と DeepSeek では、見出しに 2 つの数値が表示されます。compaction window(圧縮ウィンドウ)は会話がコンパクト化される位置で、model limit(モデルの上限)はモデルが保持できる最大量です。圧縮ウィンドウがモデルの上限より大きくなることはありません。その他のプロバイダーでは、見出しにモデルのウィンドウが表示されます。プロバイダーが OAR にウィンドウを伝えない場合、OAR は既知のモデルの組み込みの表を使います。この表では DeepSeek のモデルは 1M です。どちらにもないモデルには、ウィンドウの数値がありません。その場合、Cursor と Grok のダイアログには、トークン数を示すプレーンテキストのブロックだけが表示され、バー、表、割合はありません。
プロバイダー別 #
| 数値の出どころ | ダイアログに表示される内容 | |
|---|---|---|
| GitHub Copilot と OpenAI(SDK エンジンと拡張機能エンジン) | Copilot のランタイムが保持するセッションの記録。実測値です。 | より大まかな内訳:System/Tools(システム/ツール)と Messages、続いて Free space と、ランタイムが報告する場合は Auto-compact reserve。 |
| Claude | Claude Code が各ターンの後に内訳を報告します。実測値です。 | 正確なカテゴリ、ウィンドウの見出し、スライダー。 |
| DeepSeek | Claude と同じく、Claude Code が各ターンの後に内訳を報告します。実測値です。 | Claude と同じです。ただし、思考のコントロールと帰属表示の行はありません。 |
| Claude Cloud | クラウドセッションが各ターンの後に、使用済みのトークン数と最大トークン数を報告します。 | 合計、ウィンドウ、割合。カテゴリはありません。 |
| Cursor | 直近のターンのトークン数から計算します。 | 合計と、ウィンドウに対する割合。カテゴリはありません。 |
| Grok | 直近のターンのトークン数から計算します。 | Cursor と同じです:合計と、ウィンドウがわかっている場合は割合。 |
| OpenAI Image | なし。 | コンテキストデータはありません。 |
詳細:
- Copilot。 ランタイムが完全な内訳を報告しなくなった場合、OAR はモデルがこれまでに書き出したトークンから求めた下限だけを表示し、Estimated lower bound — this runtime does not report a full breakdown.(推定の下限です — このランタイムは完全な内訳を報告しません。)というラベルを付けます。プロンプト、システム、ツール、キャッシュの部分は含まれません。
- Cursor。 ターン内のモデル呼び出しはそれぞれコンテキストを再送し、Cursor はその合計を報告します。OAR はプロンプト側を呼び出し回数で割り、出力を加えます。ターンで複数回の呼び出しがあった場合、ダイアログには、数値がターン全体のトークン使用量から推定したものであることが表示されます。
- Grok。 合計は直近のターンの入力、キャッシュされたトークン、出力を足したもので、推定とは表示されません。割合は、モデルのウィンドウがわかっている場合にだけ表示されます。
- Claude Cloud。 数値はターンが終わった後にセッションから読み取られます。セッションが使用量を報告しない場合、ダイアログには表示するものがありません。
Claude、DeepSeek、Claude Cloud、Cursor、Grok の会話では、最初のターンの前はダイアログに数値がありません。モデルを unavailable(利用不可)としたプレーンテキストのブロックと、Note(注記)の行が表示されます:No context data captured yet for this session; it is recorded when a turn completes.(このセッションのコンテキストデータはまだありません。ターンが完了すると記録されます。)
ウィンドウがいっぱいに近づいたとき #
| プロバイダー | 起きること |
|---|---|
| Claude | Claude Code が自動コンパクト化のしきい値で会話をコンパクト化します。既定ではモデルの上限に近い値です。 |
| DeepSeek | Claude Code が自動コンパクト化のしきい値で会話をコンパクト化します。別のウィンドウを選ばない限り、1M のウィンドウのうち 400k トークンです。 |
| Copilot と OpenAI(SDK エンジン) | ランタイムがウィンドウの 80% でバックグラウンドでコンパクト化し、95% ではコンパクト化のためにブロックします。 |
| Copilot と OpenAI(拡張機能エンジン) | OAR は何も設定せず、何も表示しません。 |
| Claude Cloud | OAR は何も設定しません。セッションがコンパクト化を報告すると、トランスクリプトに行が表示されます。 |
| Cursor、Grok | OAR は何も設定せず、何も表示しません。 |
どのプロバイダーでも、/ で要約を引き継いだ新しい会話を始められます。これらはすべて会話のコンパクト化で説明しています。