你看到 Claude Code 的 Token 用量不斷增加,可能會以為它每輪都重新讀完整個程式碼庫。
最快的判斷方式:先查實際讀取與工具記錄,再分辨檔案內容、工具輸出和對話歷史;本週先把任務範圍縮小、控制輸出,並用相似任務前後核對用量。
這篇適合經常用 Claude Code 處理大型程式碼庫、想知道 Token 成本從哪裡來的開發者。
如果你負責團隊的 AI Agent 開發流程,也能用文中的檢查方式建立共同做法。
Claude Code 的高用量,不等於每輪重讀整個程式碼庫
Claude Code 並不一定會在每輪對話中重新載入整個程式碼庫。用量升高,可能是先前讀過的檔案內容、後續工具輸出和會話歷史共同累積,也可能是任務需要新增分析內容。只看總 Token,無法直接判斷是哪一種情況。
因此,先觀察「實際發生了什麼」,不要先假設「整個程式碼庫又被讀了一遍」。
你可以從兩個地方查起:
- 互動記錄:檢視會話中的操作與工具呼叫,確認 Claude Code 讀了哪些內容、執行了什麼搜尋或命令。官方互動模式文件說明了查看記錄的方式。
- 用量資料:查看輸入、輸出及快取相關欄位。官方用量報告欄位說明列出可用的 Token 分類,可用來比較用量變化;但單看報告欄位,不能把每個 Token 精確對應到某個檔案或命令。
把一項工作拆開來看,會比只比較會話總用量更有用:哪些檔案被讀取?工具結果是否冗長?前面的對話是否仍帶著已不相關的背景?這些線索才能協助你定位成本。
成本從哪裡累積:檔案、工具輸出與對話歷史
重複讀取可能帶來成本,但不是唯一來源。你應把以下幾類分開檢查:
- 檔案內容再次進入上下文。同一模組在多個步驟被查看,或寬泛搜尋命中大量相似檔案,都可能帶入重複資訊。相反地,讀取另一個相關檔案,若它補上新的介面或呼叫關係,就是任務所需的新資訊,不宜一概算作浪費。
- 搜尋與命令輸出過長。全域搜尋、測試日誌、建置輸出或錯誤堆疊,若沒有範圍限制,可能帶回許多跟當前問題無關的內容。工具回傳得越多,不代表答案就更可靠。
- 錯誤訊息被反覆帶入。若你重跑命令但沒有改變條件,長篇相同輸出可能再次進入分析過程。與其重貼全部內容,不如只保留新的差異與關鍵錯誤行。
- 對話歷史持續攜帶舊任務。從修正測試轉去重構另一個模組,先前的需求、檔案背景和決策仍可能留在同一段會話中。歷史會增加上下文負擔,但不表示整個程式碼庫一直完整載入。
官方用量報告可區分輸入、輸出與快取相關 Token 欄位;它提供量化線索,不是逐檔讀取稽核紀錄。請搭配操作記錄判斷,避免把輸入增加直接等同於程式碼被重讀。
上下文如何越積越大:新資料和舊背景一起留下
檔案內容、工具返回結果與對話歷史會共同影響上下文。大檔案可能一次帶入太多不相關區段;寬泛搜尋會擴大候選資料;冗長命令輸出增加閱讀負擔;任務多次轉向,則讓先前背景不容易派上用場。
專案指引也值得檢查。官方記憶與專案指引文件說明了指引的載入規則與查看方式。若指引把每項歷史背景、長篇說明和當次任務無關的規則都放在一起,便可能增加不必要的上下文。保留 Claude Code 經常需要、且會影響正確性的資訊;個別任務才需要的內容,則在工作中精確提供。
提醒:把檔案讀取、工具輸出和歷史對話當成不同來源來檢查。只看會話總用量,無法證明是程式碼庫重複讀取造成成本。
用清楚的任務邊界,減少程式碼庫探索
同一個問題,提問範圍會改變需要探索的內容。
範圍寬的提問,例如「檢查整個程式碼庫,找出所有可能的效能問題」,會把搜尋帶到許多模組,也難以界定何時算完成。範圍清楚的提問,例如「檢查指定目錄中這個函式的輸入驗證,找出可能導致測試失敗的分支」,則能先聚焦位置、目標和交付內容。這不保證固定節省多少 Token,但能降低探索無關路徑的機會。
實際執行時,按下列步驟收緊任務:
- 先寫清楚單次目標。指出你要修正的問題、預期結果,以及不需要處理的範圍。
- 指定相關目錄或檔案。若位置未知,先要求定位候選檔案,再深入閱讀,不要一開始就要求全面分析。
- 逐步擴大搜尋。先查相關模組;只有線索指向其他位置時,再擴展範圍。
- 限制工具回傳內容。對搜尋、測試或建置結果,只保留完成判斷所需的區段。避免每次都輸出全部日誌。
- 把不同工作分開。修正一個問題後若轉去無關模組,開啟聚焦的新會話,避免舊背景持續干擾。
如果你需要延續或恢復既有會話,官方命令列使用文件列有相關方式。延續適合同一工作脈絡;若目標已轉變,就先判斷舊歷史是否仍有用,不要為了接續而保留整段無關背景。
Claude Code 專案指引與工具輸出:留下必要資訊即可
降低上下文成本,不是把所有說明都刪掉,而是避免相同資訊在不同地方一再出現。檢查專案指引時,可以保留架構入口、重要慣例、必要測試方式和容易踩中的限制;長篇歷史決策若不影響當前工作,則可移出常駐指引,按需要提供。
設定也要區分用途。官方設定文件說明不同設定檔的適用範圍;整理前先確認指引或設定放在哪個層級,避免把只適用於個人的說明放進所有工作都會讀取的位置。
Skills 與指令的載入時機也可能不同。官方斜線指令與 Skills 文件提供兩者的說明。若內容只在特定任務才需要,先確認使用方式,再決定是否適合放進常駐指引,避免每次工作都帶入不必要背景。
若工作流程透過 MCP 工具取得資料,也要留意工具輸出的大小。官方MCP 文件說明輸出限制與警告;對大型回傳內容,優先縮小查詢、篩選結果或只取所需欄位,而不是把完整資料交給 Claude Code。
常見問題:重讀與 Token 成本怎麼判斷
每輪對話都會重新讀取整個程式碼庫嗎?
不能這樣推論。你要查看實際操作記錄、工具呼叫和會話中的資料,再核對用量。任務可能讀取部分檔案,也可能因搜尋與工具結果增加上下文;高用量本身不代表整庫必定重讀。
Token 主要花在哪裡?
輸入內容、輸出和快取相關資料都可從用量報告欄位觀察,但要分辨檔案、工具輸出與歷史背景,仍需結合操作記錄。查看一段相似任務的讀取範圍,通常比把總用量直接歸因於「讀程式碼」更可靠。
怎樣降低大型程式碼庫分析的上下文成本?
明確指定問題、檔案範圍與完成條件;先定位再深入;限制搜尋和命令結果;只提供當次需要的背景。工作目標改變時,另開聚焦會話,避免繼續攜帶已無關的討論。
精簡指引或另開會話,能保證省下固定比例嗎?
不能。不同任務、模型、工具輸出與服務規則會影響結果。把前後比較用作驗證,不要把預期的節省比例當成承諾。官方文件也能協助你確認目前使用的指引、設定與會話操作方式。
用相似任務前後對照,確認優化是否有效
不要只靠「感覺比較省」。挑選目標與範圍相近的工作,調整一項做法,再觀察讀取範圍、輸出內容和用量變化。若一次改動太多,便難以知道是哪個調整真正有效。
- [ ] 記下任務目標、相關目錄與需要的交付結果。
- [ ] 查看操作記錄,確認實際讀取的檔案和執行的工具。
- [ ] 找出過長的搜尋結果、命令輸出或重複錯誤內容。
- [ ] 檢查專案指引是否含有重複或與任務無關的背景。
- [ ] 把相似任務的輸入、輸出與快取相關用量分開比較。
- [ ] 下一次只收緊一個範圍,再觀察結果。
不同任務、模型和服務規則會影響用量,不能只憑一次前後差異下結論。持續記錄相似工作,才看得出縮小讀取範圍或控制輸出是否適合你的流程。
若你目前在個人電腦上處理大型專案,可能受限於本機資源、工作環境能否持續可用,以及多人協作時的環境一致性;雲端 Mac 則需要考慮網路延遲、遠端操作和租用成本,也不是每種長期重負載或需要實體介面的工作都適合租用。若你的目標是臨時取得遠端 Mac 開發環境或測試 AI Agent 工作流程,可以先查看 Hashvps 的環境資訊,並參考Hashvps 使用說明與支援資訊,再依工作持續時間和工具需求決定是否租用。無論選本機或雲端,先按清單確認成本究竟來自檔案、工具輸出還是歷史上下文,才知道該改的是工作範圍,還是開發環境。
FAQ
為 AI 開發工作準備一台專屬雲端 Mac
Hashvps 提供 M4 雲端 Mac mini,讓您透過 SSH 或 VNC 遠端使用 macOS 開發環境。
可選 16GB 或 24GB 統一記憶體配置,按專案規模與工作負載挑選合適規格。