同一個 agent 跑六個模型,我算出來的成本結構和我的配置決策
最近花了三週時間做了一個對我來說蠻有價值的實驗——用完全一樣的 agent、一樣的任務量(email triage、daily research、calendar management),把模型一個一個換掉,記錄每天的 API 費用和主觀品質感受。
結果蠻有意思的,跟我原本預期的有些出入。
數字先放出來
六個模型的 daily cost 平均:
- Opus 4.7:$8.70/day(約 $261/month)
- Opus 4.6:$6.24/day(約 $190/month)
- Sonnet 4.6:$2.80/day(約 $84/month)
- GLM-5.1:$1.03/day(約 $31/month)
- MiniMax M2.5:$0.12/day(幾乎都在 free tier)
- Qwen 3.5 9B local:$0 API cost
Opus 4.7 比 4.6 貴了 39%,但品質我幾乎感覺不出差異。這讓我有點傻眼——tokenizer 改版直接讓成本衝上去,但效果沒有等幅提升。
任務類型決定了模型上限,不是下限
這是整個實驗最核心的一個 insight。
我原本以為便宜的模型就是「降級」,用起來有什麼不夠的就再換回去。但實際測下來,問題不是「能不能做」,而是「這個任務本來就不需要那麼聰明的模型」。
以 email triage 來說——判斷一封信是否需要回、塞進哪個 label、要不要 flag——這種任務,GLM-5.1 和 Sonnet 4.6 的處理結果幾乎一模一樣。拿去比對,差異在兩三個邊緣 case,不是系統性的差距。
Calendar management、research summary 也是類似的情況。
但我有一種任務是明顯感覺到差的:complex multi-step planning——比如說「根據這週的狀況,幫我重新排優先級、調整幾個 deadline、然後寫一封 update 給 stakeholder」。這種任務同時需要上下文理解、決策推理、還有格式輸出,cheap 模型會開始出現省略步驟或邏輯跳接的問題。
這不是 cheap 模型「爛」,而是這種任務本來就需要比較強的推理能力。
我現在的設定
結論是用 tiered routing,不是單一模型:
Primary: GLM-5.1
→ 處理 routine tasks(分類、摘要、排程、通知)
Fallback: Sonnet 4.6
→ 觸發條件:任務包含 multi-step reasoning 或 tool_calls > 3
→ 或是 GLM 回傳 confidence < threshold 的情況
Reserved: Opus 4.x
→ 目前幾乎不用,只留給 quarterly review 那種需要深度分析的任務
這樣跑下來,monthly cost 約 $35,大概是原本用 Opus 的 18%。
品質上,routine tasks 感覺不出差異,edge cases 偶爾會漏一兩個,但在我的使用情境下這個比例可以接受。
一個值得想的問題
很多人說「便宜模型品質差」,但我覺得這句話的前提是「拿同一個任務比」。如果你把任務分類、按複雜度 route,cheap 模型的「差」就只會出現在它真的該被換掉的地方。
說白了:你的 agent 架構如果不做 task routing,就是讓最貴的模型去分類垃圾信。
Opus 不是不值,是你要確認你付那個錢的任務真的需要它。
Caveat 補充
幾個實際跑起來遇到的問題:
- MiniMax M2.5 有一次打到 rate limit,任務卡住了。如果要用 free tier,要有 retry + queue 機制
- Local Qwen 速度慢不少,tool call 偶爾會 fail(特別是複雜的 function schema)。還沒找到完美的解法
- GLM-5.1 在長 context(>20k token)的任務上,有時候會截斷或跳過中間步驟。長任務還是 route 給 Sonnet
有在優化 agent 成本的人可以參考看看,不一定適合每個 use case,但 tiered routing 這個思路應該是通用的。
作者:Jesse