2026年7月11日 星期六

減緩AntiGravity CLI神器之TOKEN消耗參考資訊(滾動式檢討)

情境:前篇(TOKEN消耗參考資訊(3/3))經運行一段時間後,TOKEN耗損減緩機制,仍有改善處(如:

💜改為 Token 大小監控運轉機制,當達到 15,000 Tokens 時,強制觸發 optimize_context;而非採原先固定⌈6輪⌋方式。💟快取記憶體(Cache Memory)在伺服器端是有物理容量限制的。當您的 Context 長度越長,快取的更新效率越低。💟15K Tokens屬「輕量級」區間。在此範圍內,快取更新速度極快,幾乎無感,且能覆蓋筆者專案開發(教練考輔助學習系統所需的「核心系統指令 + 數個關鍵腳本指紋」。如設為5K Tokens ? 可能會太過頻繁的裁剪(Summarization)會導致系統在頻繁地對話之間進行額外的 LLM 推理(亦即語意蒸餾摘要),這反而會消耗額外的 API 費用,造成 「過度最佳化」)。

💜清理殘留的「殭屍檔案」:您監控到的 累計Tokens(包含大量重複的 Tool Result + 無效元數據) 極大機率是因為某個舊的 transcript.jsonl 被重複讀取。請檢查 brain 目錄下是否存在 多個同名的會話資料夾,AI神器可能正在讀取舊的資料夾而非新的💟 brain 目錄(AGY System Runtime Data Directory),此資料夾是 Antigravity CLI 工具在執行時自動生成的後台日誌與狀態儲存庫。 

  1.  物理內容:它包含了每個對話 Session 的軌跡(如  transcript.jsonl  與  transcript_full.jsonl ),是用來記錄 AI 與您互動的歷史數據。
  2. 歸屬判定:  它屬於 系統應用程式資料區(App Data Directory / Runtime Storage),而非使用者手動編寫代碼的工作區。
💢筆者於 TOKEN監控之系統閘SYSTEM TRAY,一鍵清理與移檔歷史對話 功能鍵,經檢查並沒有做搬移 BRAIN下舊生成目錄,故建議確認系統,是否有將 未使用之歷史資料夾  搬移至 _archive 歷史資料夾(如:C:\Users\username\.gemini\antigravity-cli\brain\_archive)中?
💜防幻覺控制:在 summary_anchor 中,請明確加入 [LATEST_FILE_STATUS: {filename}] 的映射。這能強迫 AI 在讀取摘要時,優先調用該檔案的最新狀態,而非嘗試記憶細節。


 ### 🧠 1. TOKEN MONITOR機制6輪瓶頸

  • 資訊熵流失(Information Entropy Loss):目前的  archive_old_dialogs.py  在裁剪歷史時,僅寫入「封存了多少輪、多少  Token」等無語意的元數據錨點。這導致模型完全忘記了前期的代碼修改細節與變數鎖定狀態,被迫在後期進行概率性猜測(衍生幻覺可能性👿)。
  • 靜態窗口非彈性(Static Window):固定保留 6 輪並不能阻擋單輪大檔案(如幾百行原始碼)造成的 Token 爆量。

 ### 🚀 2. 三維度精準壓縮優化方案 (Semantic Anchoring)

        💫 JIT 地端語意精煉
          Ollama qwen2.5-coder
          生成 SSoT 技術錨點
          取代無語意元數據
        💫自適應 Token 預算管理
          捨棄固定 6 輪限制
          動態鎖定 15K 黃色閾值
          極大化 Prompt Cache 命中
         💫歷史資料去噪與硬化
          過濾 view_file 大量緩衝
          僅保留 API 簽章與 Diff 結論
          防範 Token 冗餘污染

💜 JIT 本地語意精煉 (Semantic Summarization):
  在觸發歷史裁剪時,調用本地 Ollama 運作  qwen2.5-coder:3b  進程,將封存的歷史對話壓縮為高度濃縮的  [SYSTEM SEMANTIC ANCHOR] 。此錨點僅佔用約  300 Tokens,卻能精確繼承「已修改的檔案與行號、已確認的變數物理映射、以及已解決的故障根因」,實現資訊熵零流失。
 💜 自適應 Token 預算管理 (Adaptive Budgeting):
  放棄「固定 6 輪」或「檔案大小 KB」的非彈性限制。改以 Token 計量器為控制閥門,動態將活動對話長度維持在 15,000  Tokens(黃色安全警戒線)以下,最大化 Prompt Cache 命中率,確保推理速度與精準度。
 💜上下文去噪 (Noise Filtering):
  在寫入對話歷史時,對高負載工具的輸出進行「資訊蒸餾」。例如,將  view_file  讀取到的數百行代碼,在歷史紀錄中簡化為「檔名與行號範圍」,移除冗餘字符,防止上下文污染。

報告中亦提供了詳細的香農資訊熵(Information Entropy)數學論證,證實此方案能以極低的 Token 傳輸代價(

    T    ' ≤ 10,300
     send

  ),維持長期的對話連續性與科學底氣。


💢為什麼會發生 Quota 快速消耗?
  #### 1. 多步工具迴圈的「乘數效應」 (Multi-Step Tool Loop Multiplier)

 當您發送一次提問,AI Agent 為了完成任務,通常需要在單次對答中執行多個連續工具(如:當次執行任務處理,包含專案執行內 解除檔案唯讀-R ➔ 修改檔案 ➔ 重新加固+R ➔ 重啟監控 處理特性)。

  • 機制:每一次工具執行完畢後,系統都會把工具的輸出附加到 Context 中,並重新向 Gemini API 發起一次調用。
  • 數學算式:假設您的活動 Context 基礎為 15,000 Tokens。若 Agent 執行了 5 步工具迴圈:
      • 第一步:發送 15,000 Tokens。
      • 第二步:發送 15,000 + 工 具 1結 果  ≈ 17,000 Tokens。
      • 第三步:發送 17,000 + 工 具 2結 果  ≈ 19,000 Tokens。
      • ...
      • 單次任務對話,累計API總體負載:15 K + 17 K + 19 K + 21 K + 23 K = 𝟗𝟓,𝟎𝟎𝟎 Tokens!

💢 為什麼「15K 自適應預算」是防禦性的 Best Practice?
  • 假設我們「不限制 15K」
💟「每次多出 2K」?(累計邊際效應)在長對話系統中,當您每進行一輪對話(User Input + Model Response + Tool Calls),該對話的歷史長度會自然增長。所謂的「2K」通常由以下成分構成:  
👉新增的對話輪次 (Dialogue Round):每一輪使用者詢問與模型回答,平均約消耗 500 - 1,000 Tokens。  
👉工具調用與回傳 (Tool Execution & Returns):這是造成「2K」增量的核心,特別是 view_file 或 grep_search 等工具,一旦執行,系統會將 「檔案路徑 + 讀取範圍 + 內容片段」 寫入日誌中。即使代碼經過截斷,其元數據與 JSON 結構字元在每一輪中都會持續累積,導致每輪請求的歷史前綴變長。  
👉思考鏈 (Thinking Chain):如果模型開啟了 Chain-of-Thought(思考鏈),模型在處理每一步工具呼叫前生成的推理過程,也會作為歷史紀錄的一部分被保存並重新傳送。 
      • 消耗速度是 15K 限制下的 3.36 倍。
  • 實體舉證:若沒有 15K 自適應門檻的保護,您的 Quota 會在 15 分鐘內直接從 97% 歸零(100% 耗盡)。

結論:
💜看似只有一輪對話,但在 API 計費端其實已經執行了 5 次全局傳輸。這就是 Quota 快速掉落的頭號殺手。
💜15K 限制雖然讓您感覺到頻繁的修剪,但它在物理上限縮了「多步工具迴圈」造成的 Token 暴增乘數,是保障您能在地端持續 pair programming 的 防禦性最佳實踐(模型永遠不會「忘記」前 30 分鐘決定的系統架構,同時也不會因為歷史紀錄過於冗長而導致 API 費用暴增或推理變慢。這就是為什麼它能在地端進行長效、高強度的開發——因為它消除了「冗餘」與「不確定性」)。


相關資訊: