核心概念

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 的各項內容:

Context window breakdown panel showing token usage by category
類別包含內容
System promptBob 本次工作階段的核心指令
Tool definitions內建工具 schema 及已連接 MCP 工具的定義
MCP Tools已連接 MCP 伺服器所提供工具的指令和說明
Rules來自專案和模式 rule 檔案的自訂指令(例如 AGENTS.md.bob/rules-*
SkillsBob 為本次對話載入的 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 definitions5.1k)、System prompt1.5k)、Rules830)和 Skills454),Messages 中僅有 590

Bob 在每次 prompt 時都會重新傳送完整的額外負荷堆疊。連接更多 MCP 伺服器或載入更多 skill 會在你開始輸入前增大 MCP ToolsTool definitionsSkills

有關實際數字和重置演練,請參閱 Create a new context window

監控 token 用量

Token usage indicator 會顯示相對於 270,000 token 上限的使用百分比和已用/總量分數。點擊它可開啟 context window breakdown,查看哪個類別正在增長。

下表展示了各類別的增長因素:

類別導致增長的因素
System prompt在 task 啟動時載入,正常工作期間保持不變。
Tool definitions內建工具 schema,在 task 啟動時設定,正常工作期間保持不變。
MCP Tools已連接的 MCP 伺服器和已啟用的工具。新增伺服器或工具時增長,傳送 prompt 時不增長。
Rules專案和模式 rule 檔案(例如 AGENTS.md),在 task 開啟時設定。
SkillsBob 為 task 載入的 skill。若 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 會:

  1. 保留最近且最相關的 context。
  2. 總結或移除較舊的對話片段。
  3. 保留關鍵系統指令、tool definitions、rules 和 skills。
  4. 以壓縮後的 context 繼續工作。

Condensation 是有損的。Messages 早期的細節可能無法保留。當話題變更或 Messages 大到足以影響品質時,請點擊 +(New task)開始新的 task。

對 Bobcoins 的影響

Bobcoins 追蹤 token 用量,輸入和輸出 token 均計入其中。

  • 每條訊息都會重新傳送全部活躍 context,包括固定額外負荷。
  • Bob 每次傳送時都會重新處理已載入的內容。
  • Messages 內容較多的長執行緒,後續每個 prompt 的費用更高。

最佳實踐

Context window 不是儲存空間,而是工作記憶體 — Bob 在每個步驟中可以使用的內容。控制好進入其中的內容。當執行緒充滿過時輸出時,及時重置或壓縮。用測試而非僅憑 Bob 的回覆來驗證結果。

限定 task 和對話的範圍

每個工作目標使用一個 task,從明確的 prompt 開始。在要求 Bob 探索儲存庫前,先說明目標、預期結果和限制條件。明確指出檔案和函式名稱。避免含糊的請求,例如「讀整個儲存庫」或「檢查後端」。話題變更時點擊 +(New task)——Messages 中無關的內容會增加費用並可能誤導 Bob。

保持常駐 context 精簡

固定類別在你輸入任何內容前就已消耗 token。為了降低這部分額外負荷:

  • 保持 custom rulesAGENTS.md 簡短——只在其中放置建置、測試和風格命令(例如 pnpm testmvn verify)。
  • 只連接當前工作所需的 MCP 伺服器、工具和 skills。中斷不使用的連接,並優先使用專案層級 MCP 設定而非全域設定。
  • Messages 留給該 task 專屬的情境證據——bug、日誌和相關檔案。不要在每個 prompt 中重複常駐 rules。

在需要時新增 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,讓 task 接收壓縮後的結果,而不是讓每個 read_file 呼叫都落入 Messages。當來源相互矛盾時,信任正在執行的程式碼和測試,而非過時的註解或陳舊的 README 說明。

有關大型儲存庫的更多策略,請參閱 Working with large projects

當 Messages 填滿時重置或壓縮

在長對話過程中,Messages 會累積重複的檔案內容、廢棄的計劃和過時的工具輸出。當工作目標變更或執行緒大到足以影響品質時,點擊 +(New task)開始新的 task。保留限制條件、證據和待解決的問題——移除其餘內容。

Bob 也可以自動 壓縮 較舊的片段,但 condensation 是有損的,Messages 早期的細節可能無法保留。相比大型自主執行,優先選擇小的、經過審核的變更,以保持 diff 可審查,並讓 Bob 保持在正確的軌道上。

了解更多

請參閱 Create a new context window,在 Galaxium Travels 範例專案中開啟分析檢視並練習重置操作。

這個主題如何?