context windowの管理
Bobの270,000 tokenのcontext windowの仕組み、各カテゴリーがtoken使用量にどう影響するか、そしてtaskを集中させてコスト効率を保つためのベスト・プラクティスを学びます。
context windowを理解する
チャット・パネルの各taskにはcontext windowがあります — そのスレッドのtoken予算です。上限は270,000 tokenです。Bobがロードするものはすべてここに計上されます。
windowを埋めるもの
チャット・パネルの右上にあるtoken usage indicatorにカーソルを合わせると、context windowを消費しているものの内訳が表示されます:
| カテゴリー | 含まれるもの |
|---|---|
| System prompt | セッション向けBobのコア指示 |
| Tool definitions | 組み込みツール・スキーマと接続されたMCPツール定義 |
| MCP Tools | 接続されたMCPサーバーが提供するツールの指示と説明 |
| Rules | プロジェクトおよびモードのruleファイルからのカスタム指示(例: AGENTS.mdや.bob/rules-*) |
| Skills | Bobが会話のためにロードしたskillsの指示 |
| Messages | あなたのprompt、Bobの返答、会話内のツール・アクティビティー。tokenとして計上されるtranscriptです。 |
@メンション、コマンド出力、ツール結果はすべてMessagesにカウントされます。ファイルの内容に独立した行はありません。
Estimated breakdownの下:
- Reserved for model response: Bobの次の返答のために確保されたtoken(通常20.0k)。
- Available space: 残りの空きtoken。
ベースライン・オーバーヘッド
Bobとの作業を始める前から、固定カテゴリーがcontextを消費します。Galaxium Travelsのサンプル・プロジェクトでは、"Quickly say hi back."だけでも合計約8.5k tokenになります。その大部分はTool definitions(5.1k)、System prompt(1.5k)、Rules(830)、Skills(454)です。Messagesにあるのは590のみです。
Bobはすべてのpromptでオーバーヘッド・スタック全体を再送します。MCPサーバーやロードされたskillが多いほど、入力前にMCP Tools、Tool definitions、Skillsが増加します。
実際の数値とリセットのウォークスルーについては、Create a new context windowを参照してください。
token使用量を監視する
token usage indicatorは使用率と、270,000 tokenの上限に対して使用済み/合計の割合を表示します。クリックするとcontext window breakdownが開きます。どのカテゴリーが増えているかを確認してください。
以下の表は各カテゴリーに影響を与えるものを示しています:
| カテゴリー | 増加する要因 |
|---|---|
| System prompt | taskの開始時にロードされます。通常の作業中は変化しません。 |
| Tool definitions | 組み込みツール・スキーマ。taskの開始時に設定されます。通常の作業中は変化しません。 |
| MCP Tools | 接続されたMCPサーバーと有効なツール。サーバーやツールを追加したときに増加します(promptを送信したときではありません)。 |
| Rules | プロジェクトおよびモードのruleファイル(例: AGENTS.md)。taskが開くときに設定されます。 |
| Skills | BobがtaskのためにロードするSkills。Bobがスレッドの途中でskillを起動した場合に増加することがあります。 |
| Messages | あなたのprompt、Bobの返答、ファイル読み取り、ツール出力、@メンション。ターンごとおよびリポジトリーの探索で増加します。 |
短いやり取りでは、固定カテゴリーが合計の大部分を占めることがよくあります。Bobにファイルを読み取ったりツールを実行したりするよう求めると、Messagesが通常最も大きなカテゴリーになります。この変化に注目してください。
Available spaceはどのカテゴリーが増加しても縮小します。Reserved for model responseはBobの次の返答のために確保されており、上に表示される使用済み合計には含まれません。
実際のリポジトリーでの測定例については、Create a new context windowを参照してください。
tokenの制限
ハードな上限はtaskあたり270,000 tokenです。Bobは制限に達する前に圧縮を開始します。圧縮は通常、合計使用量が190,000 token付近で開始されます。
自動context condensation
圧縮のしきい値に達すると、Bobは:
- 最新かつ関連性の高いcontextを保持します。
- 古い会話セグメントを要約または削除します。
- 重要なシステム指示、tool definitions、rules、skillsを維持します。
- 圧縮されたcontextで作業を続けます。
Condensationには損失が伴います。Messagesの初期にある詳細が残らない場合があります。トピックが変わるときや、Messagesが品質に影響するほど大きくなったときは、+(New task)で新しいtaskを開始してください。
Bobcoinsへの影響
Bobcoinsはtoken使用量を追跡します。入力tokenと出力tokenの両方がカウントされます。
- 各メッセージは固定オーバーヘッドを含むすべてのアクティブなcontextを再送します。
- Bobはすでにロードされているものを送信のたびに再処理します。
- Messagesが多い長いスレッドは、後のpromptほどコストがかかります。
ベスト・プラクティス
context windowはストレージではありません。それは作業メモリー — 各ステップでBobが使えるものです。何が入るかをコントロールしてください。スレッドが古い出力で埋まったらリセットまたは圧縮してください。Bobの返答だけでなく、テストで結果を確認してください。
taskと会話をスコープする
作業目標ごとに1つのtaskを使用し、的を絞ったpromptから始めてください。Bobにリポジトリーを探索させる前に、目標、期待される結果、制約を伝えてください。ファイルと関数を明示的に指定してください。「リポジトリー全体を読んで」や「バックエンドを確認して」といった漠然としたリクエストは避けてください。トピックが変わったら**+**(New task)をクリックしてください — Messages内の無関係なコンテンツはコストを増やし、Bobを混乱させる可能性があります。
固定contextを軽く保つ
固定カテゴリーは入力する前からtokenを消費します。そのオーバーヘッドを低く抑えるには:
- custom rulesと
AGENTS.mdを短くしてください — そこにはセットアップ、テスト、スタイルのコマンドだけを書いてください(例:pnpm test、mvn verify)。 - 現在の作業に必要なMCPサーバー、ツール、skillsだけを接続してください。使っていないものは切断し、グローバルよりもプロジェクト・スコープのMCP設定を優先してください。
- Messagesはこのtask固有の状況別証拠(バグ、ログ、関連ファイル)のために確保してください。固定のrulesをすべてのpromptで繰り返さないでください。
必要なときにcontextを追加する
大きなコンテンツ・ブロックをスレッドに貼り付けるのではなく、Bobに対象ファイルを検索・読み取りさせてください。context mentionsを使用して特定のファイルや行範囲を参照し、広いディレクトリーのメンションは避けてください:
✓ @/src/utils/validation.ts:45-67 Fix the email validation logic
✗ @/src @/tests @/docs Review everything and suggest improvementsエディターでテキストを選択し、Cmd + L(Mac)またはCtrl + L(Windows/Linux)を使ってチャットに直接追加することもできます。
段階的に作業してください — 可能性のあるファイルを見つけ、関連するものを調べ、計画し、変更し、検証する。広いリポジトリー読み取りにはsubagentsを使用して、すべてのread_file呼び出しがMessagesに溜まる代わりに圧縮された結果をtaskに渡してください。ソースが競合する場合は、古いコメントや古いREADMEのメモよりも実行中のコードとテストを信頼してください。
大きなリポジトリーに関するその他のヒントについては、Working with large projectsを参照してください。
Messagesが埋まったらリセットまたは圧縮する
長い会話の中で、Messagesには繰り返されるファイルの内容、破棄されたプラン、古いツール出力が蓄積されます。作業目標が変わったり、スレッドが品質に影響するほど大きくなったりしたら、+(New task)で新しいtaskを開始してください。制約、証拠、未解決の質問は残して — それ以外は削除してください。
Bobは古いセグメントを自動的にcondensationすることもできますが、condensationには損失が伴い、Messagesの初期にある詳細が残らない場合があります。大きな自律実行よりも小さく承認された変更を優先して、差分をレビュー可能に保ち、Bobが軌道を外れないようにしてください。
詳細を学ぶ
Create a new context windowでGalaxium Travelsサンプル・プロジェクトの内訳を開き、リセットの練習をしてください。