Featured image of post TokenEconomizer:同一個 repo,少付重複的 token

TokenEconomizer:同一個 repo,少付重複的 token

Microsoft Research 的 Apache-2.0 外掛。不改 agent 本體,從同一個 repository 的舊 session 學習,減少後面 session 的重複成本。SWE-Bench 五組組合平均成本約降 18.4–30.9%。

約 1748 字

同一個 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。

1
請依照 https://wp.zedo.dev/files/tokeneconomizer/SKILL.md 執行:在我指定的 coding agent 上,為目前這個已經在用的 repository 裝上 TokenEconomizer。不要改 agent 本體,不要另申請 API key。裝好後跑 status,用繁中回報哪些機制是開的,以及學習資料是否在本機 ~/.tokeneconomizer。官方安裝與版本範圍以 https://github.com/microsoft/TokenEconomizer 的 README 為準。

本站的說明在 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:

1
2
3
git clone https://github.com/microsoft/TokenEconomizer.git
claude plugin marketplace add "$PWD/TokenEconomizer"
claude plugin install tokeneconomizer@tokeneconomizer

信任資料夾後執行 /tokeneconomizer:status。每台機器一次,以及 Claude Code 更新後,再跑 /tokeneconomizer:toolprune refresh-catalog。

Codex:

1
2
3
git clone https://github.com/microsoft/TokenEconomizer.git
codex plugin marketplace add "$PWD/TokenEconomizer"
codex plugin add tokeneconomizer@tokeneconomizer

信任資料夾與 hooks 之後要結束 session 再進一次,用 $tokeneconomizer:status 看。

Copilot CLI:

1
2
3
git clone https://github.com/microsoft/TokenEconomizer.git
copilot plugin marketplace add "$PWD/TokenEconomizer"
copilot plugin install tokeneconomizer@tokeneconomizer

狀態指令與 refresh-catalog 和 Claude Code 相同。

Pi:

1
pi install git:github.com/microsoft/TokenEconomizer

啟動後執行 /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。

Zedo.dev
使用 Hugo 建立
主題 Stack 由 Jimmy 設計