同一個 repository 上,coding agent 每開一次 session,都會再付一次系統指示、已載入的 tool 定義,以及做到一半的上下文。工作又常常重複:上次查過的建置指令、長期沒呼叫的 tool、同一種失敗迴圈。
TokenEconomizer 是 Microsoft Research 開源的外掛,授權 Apache-2.0。它不改 agent 的模型、權重或程式,只讀這個 repository 已經跑完的 session,把學到的東西用在後面的 session。適用 Claude Code、Codex、GitHub Copilot CLI、Pi;opencode 是實驗性支援。需要 Python 3.10 或更新版本。外掛沿用你既有的 agent 登入,不另要 API key。學到的資料留在本機 ~/.tokeneconomizer。
可直接貼上的提示詞
把下面整段貼給會操作終端的 AI。
| |
本站的說明在 SKILL.md。它只處理安裝與 status,不代替你決定要不要打開 micro-skills。
三個機制
外掛宣布每個動作一行。其中一段失敗時,session 照常繼續,像沒裝一樣。
| 機制 | 預設 | 做什麼 |
|---|---|---|
| micro-skills | 關 | 記住這個 repository 怎麼跑。來源是重複的失敗,以及預設每 3 個 session 由模型提出的事實。三個 session 確認後才寫進開頭;後來的 session 矛盾就拿掉。預設關閉,因為提議事實會多打模型。 |
| tool pruning | 開 | 一個 tool 若跨 session 長期沒被呼叫,下一批 session 就不再載入它的定義。還原指令是 toolprune restore。Pi 只載四個 tool、opencode 尚未實作,這兩條路徑目前不修剪。 |
| failure-loop intervention | 開 | turn 一直撞上同一種失敗時,由 judge 判斷是否卡住。夠確定就 redirect 一次(預設每 turn 最多一次),請它換做法。仍然卡住就告訴你怎麼自己停。外掛不停 turn。 |
tool pruning 寫進各 agent 自己的設定,而且只加它自己的項目:Claude Code 是單一 tool,Codex 是 capability package,Copilot CLI 是整台 MCP server。它建立的設定檔會放進 .git/info/exclude。toolprune restore 只刪外掛寫的項目,還原後的 tool 不會再被拿掉。
論文裡的成本
論文在 SWE-Bench 上跑五組 agent–model,同一個 277 個任務、六個 repository,每個 repository 由零開始、依序做。成本含外掛自己的模型呼叫。五組的平均成本約降 18.4–30.9%,30 個 repository × 組合的格子全部更便宜,Pass@1 有 4 組上升。單一格子的降幅約 5–40%。Web-Bench 約降 16–21%;兩個每個任務都是新 repository 的安全稽核基準約降 6–20%。圖與逐庫數字在專案頁,論文是 arXiv:2610.22732。
安裝
在你想保留 clone 的目錄執行。Claude Code、Codex、Copilot CLI、opencode 都從這份 clone 跑,目錄要留著,marketplace 路徑用絕對路徑。
Claude Code:
| |
信任資料夾後執行 /tokeneconomizer:status。每台機器一次,以及 Claude Code 更新後,再跑 /tokeneconomizer:toolprune refresh-catalog。
Codex:
| |
信任資料夾與 hooks 之後要結束 session 再進一次,用 $tokeneconomizer:status 看。
Copilot CLI:
| |
狀態指令與 refresh-catalog 和 Claude Code 相同。
Pi:
| |
啟動後執行 /te status。
opencode 是實驗性支援:clone 之後,把 plugin/opencode/tokeneconomizer.ts 以 symlink 放到 ~/.config/opencode/plugins/。它沒有外掛指令,在 repository 裡執行 ~/.tokeneconomizer/bin/te --host opencode status。
README 測過的版本範圍是:Claude Code 2.1.300–2.1.310、Codex 0.153.1–0.164.0、Copilot CLI 1.0.83–1.0.102、Pi 1.2.0–1.3.0。opencode 測過 1.19.5 與 2.2.0。更新時,Claude Code、Copilot CLI、opencode 在 clone 裡 git pull;Codex 還要再執行一次 codex plugin add;Pi 用 pi update --extensions。
日常查看用 status、microskills、toolprune、config。在 agent 裡打一條指令會花一個 model turn;在 repository 裡執行 ~/.tokeneconomizer/bin/te 則不用。Claude Code 與 Copilot CLI 的前綴是 /tokeneconomizer:,Codex 是 $tokeneconomizer:,Pi 是 /te。
