多代理編排的 token/配額節流規則。任何要呼叫 Agent tool 或 Workflow 派工之前——不論使用者有沒有提到省 token、單一 subagent 也算——先讀本 skill 再動手。使用者說「省 token」「配額」「別燒爆額度」時也觸發。觸發詞:workflow、多代理、fan-out、subagent、派工、編排、省 token、配額、token optimizer。 English triggers: "save tokens", "quota", "don''t burn my limit", "token optimizer".
Scanned 9/3/2026
Install to Claude Code
npx -y skills add tingyulu/MyR2D2 --skill token-optimizer --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Token Optimizer?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/tingyulu-token-optimizer)More formats (shields.io, HTML) on the badges page.
---
name: token-optimizer
description: '多代理編排的 token/配額節流規則。任何要呼叫 Agent tool 或 Workflow 派工之前——不論使用者有沒有提到省 token、單一 subagent 也算——先讀本 skill 再動手。使用者說「省 token」「配額」「別燒爆額度」時也觸發。觸發詞:workflow、多代理、fan-out、subagent、派工、編排、省 token、配額、token optimizer。 English triggers: "save tokens", "quota", "don''t burn my limit", "token optimizer".'
license: MIT
---
# Token Optimizer — 多代理編排節流規則
> 改寫自 [kieiken/ultracode-token-optimization](https://github.com/kieiken/ultracode-token-optimization)(MIT),2026-07 適配全 Claude 環境並泛化。
> 核心洞察:**省 token 的重點不是壓單價,是消滅「返工循環」與「context 灌爆」**——
> 改→審→再改→再審的迴圈、以及把原始 diff/log 灌回主編排者,才是真正的大宗浪費。
## 0. 為什麼
- 訂閱制(如 Claude Max)用戶:省 token ≠ 省錢,是**省用量配額**。配額燒完=所有 session 一起停擺,比錢痛。
- **旗艦檔模型配額燒得比中檔快得多**。這讓「模型分層」從 nice-to-have 變成鐵則。
- 本 skill 管兩個場景:① Workflow script(`agent()`/`parallel()`/`pipeline()`)② 一般 session 用 Agent tool 開 subagent。兩者同一套原則。
## 1. 模型分層表(鐵則)
| 角色 | 指定 | 理由 |
|---|---|---|
| 主編排者(session 本體) | 跟著 session 走,不動 | 只做判斷與仲裁 |
| 執行者(寫 code/改檔) | 中檔(如 `sonnet`) | 品質夠、配額友善 |
| 審查者(找碴/review) | 中檔,預設 | 高風險領域才升旗艦(見下) |
| 機械工作(摘要/格式化/grep 彙整) | 低檔(如 `haiku`)或中檔+`effort: 'low'` | 不需判斷力的活別用貴模型 |
| 仲裁/最終判斷 | 不指定(繼承 session) | **唯一例外,必須加註解說明為什麼** |
**審查者升旗艦的門檻**(符合任一才升):認證/金流/資料遺失風險/資安/併發/持久化/公開 API/大型重構。
**🔴 絕對規則:session 模型是旗艦檔時,每一個 `agent()` 呼叫都必須明確指定 `model`**(仲裁 lane 除外,且要註解)。漏指定=整包 fan-out 全繼承貴檔,配額瞬間蒸發。這是本 skill 存在的第一理由。
> 判準是「**session 跑的比中檔貴就適用**」,不是特定型號名——新模型上市不用改這條。
**⚙️ 進階兜底(Claude Code CLI 專屬——其他工具沒有 `settings.json`/這個環境變數,直接跳過本段)**:在 `settings.json` 設 `env.CLAUDE_CODE_SUBAGENT_MODEL=sonnet` 可以把所有 subagent 硬鎖在中檔(實測是硬上限——呼叫時指定別的檔也會被蓋掉),漏指定不再燒旗艦。要臨時全力跑:在**該專案**寫 `.claude/settings.local.json` 的 env 蓋掉它(只影響該專案、即時生效),任務完刪掉回落。優先序:專案 local > user 全局 > process env > 呼叫參數。
## 2. 執行結果壓縮再上報(鐵則)
- 子代理的回報格式在 prompt 裡就寫死:**「只回:完成/未完成+變更檔案清單+測試結果,三行摘要」**。
- 原始 diff、完整 log、大 JSON **絕不**灌回主編排者的 context——需要細節時,派一個低檔位代理去讀、回摘要。
- Workflow 裡用 `schema` 參數強制結構化輸出(驗證失敗會自動重試,比自由文字可靠又省來回)。
- 一般 Agent tool:prompt 結尾明講「你的最終訊息就是回傳值,只給結論與關鍵證據,不要貼過程」。
## 3. 角色鎖死(鐵則)
- **主編排者不下場實作**;細節決策下放給 lane 內的 agent,主編排者只在 phase 邊界與升級時介入。
- **審查者只出 findings**(每條要:觸發條件+重現步驟+行號引用),不給修法、不裁決通過與否。prompt 明寫:「你只輸出 findings 與嚴重度,核可/駁回不是你的職權」。
- **審查者輸出不直接轉發給執行者**——中間放一個 synthesis agent(中檔即可)過濾掉站不住腳的 findings、濃縮成精簡修復指令。沒證據的 finding 一律丟棄。
- **執行者不自我宣告完成**。「完成了!」不算數。
## 4. 獨立驗證(鐵則)
- 開工前先在 prompt 裡定義「done」:檔案存在、測試 exit code、commit hash——可機器驗證的證據,不是感覺。
- 完成與否由**專職驗證代理**確認:只驗證、不修東西,回結構化證據(testExit、diff 摘要)。
- 最終簽核**人工把關**:回「待使用者核可的提案」,不自動 commit、不自動發布。
## 5. 失敗三次就停(鐵則)
- 每條 retry 迴圈都要有**計數器**:同一個錯誤連續 3 次 → 停,回報現況與卡點,不再空轉。
- Workflow 迴圈加 `budget.remaining()` 守門(有設 budget 時);沒 budget 機制的一般流程,用計數器+「連 3 次同錯即停」。
- 執行者連續失敗時的正確反應是**換角度**(換模型檔位、換拆法、或上報卡點),不是原地重試第四次。
## 6. 結構節流(寫 script 時的預設)
- **`pipeline()` 優先於 `parallel()`**:多階段多項目的流程用 pipeline(無 barrier、單項獨立流動);只有「下一階段真的需要上一階段全部結果」(去重、彙整、早退判斷)才用 parallel barrier。
- 一次 `agent()` 只做一件事;多目標拆成單目標 thunks。
- 所有 `agent()` 都給 `label`;prompt 裡不放揮發性資料(時間戳、隨機值),讓 `resumeFromRunId` 重跑時快取命中。
- 單次提交的 diff 上限 200–300 行;更大就先回拆分計畫。
- 並行改檔的 lanes 才加 `isolation: 'worktree'`(有成本);唯讀 lanes 不加。
## 7. 送出前自檢(寫完 script/派工前過一遍)
- [ ] 主編排者 prompt 裡沒有原始 diff/log/大 JSON(§2)
- [ ] 每個 `agent()` 都有明確 `model`,或有「為什麼繼承 session 模型」的註解(§1)
- [ ] session 跑旗艦檔時,零例外全部指定 model(§1 絕對規則)
- [ ] 審查者 prompt 含「無裁決權、findings+嚴重度+行號引用」(§3)
- [ ] 審查者輸出經 synthesis agent 過濾才進執行者(§3)
- [ ] 完成由專職驗證代理用證據確認,非自我宣告(§4)
- [ ] retry 計數器+連 3 次同錯即停(§5)
- [ ] 多階段多項目用 `pipeline()`,沒有多餘 barrier(§6)
- [ ] 子代理輸出用 `schema` 結構化(§2)
- [ ] 所有 `agent()` 有 `label`、prompt 無揮發性資料(§6)
- [ ] 最終產出是「待核可提案」,不自動 commit(§4)
## 8. 限制(誠實註記)
- 這是**行為守則,不是硬性 token 上限**——真要封頂得靠 Workflow 的 `budget` 機制+腳本裡的 `budget.remaining()` 守門。
- 效果來自「把常犯的浪費模式在寫 script 前就鎖死」(diff 灌爆、輕信自我宣告、審查者越權),不保證具體省幾 %。
- 原作用 OpenAI Codex 當執行者做「異廠牌互審」;全 Claude 環境的異質性靠**模型檔位差異**(中檔執行 × 中檔審查已有獨立 context,必要時旗艦仲裁)部分替代,天生弱一點,所以 §4 的獨立驗證更重要。
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!