一天燒 50M tokens。context 沒切好,換模型沒用。
一天 50M tokens 是什麼概念。我算了一下,就算用便宜一點的模型,那也是一筆很難看的數字,更何況有些人在跑的是 claude 那個等級的。
看到那串討論的時候,我第一反應也是「這人在搞什麼鬼」,不過看完才發現,大家第一直覺都想錯方向了。
費用高 → 換便宜模型,這個反射動作幾乎是本能。但那串說的是另一件事,真正在燒 token 的,是 context 一直在滾大。
原 po 是在跑 content pipeline,有 helper agents 在協作。每個 agent call 都帶著整包對話歷史,新的 call 再堆上去,越跑越胖。50M tokens 裡面可能有超過一半都是重複的廢話在來回傳,有點像在計程車裡要先把整個維基百科念完才出發。
我自己也踩過類似的洞。
有陣子讓 agent 做需要連跑幾個小時的工作,一直用同一個 session 沒有中斷。成本噴到不對勁,但輸出品質沒什麼差。去查才發現,每次呼叫前面都掛著幾千 token 的前因後果,模型等於要一邊背整本教科書一邊回答每道題。重開 session,切小任務,成本直接掉了大半。
有人在討論串說「這不就是把 context 清掉嗎,沒什麼技術含量」,說得也沒錯。但要知道什麼時候該清、怎麼拆才不會讓任務爛掉,這個判斷才是真正難的地方。
最容易出事的幾個情況。長跑任務沒切分,agent 從頭跑到尾沒有 checkpoint,context 越堆越高,模型開始亂,你再加 instruction 補救,更胖了。多 agent 沒有 isolation,每個 subagent 都帶著主 agent 的完整歷史下去跑,等於全家族記憶都要背才能做一件小事。還有一個是 debug loop,最慘的狀況,模型輸出錯了,你貼回去問,它給新答案,你再問,來回十幾次,context 裡全是廢棄的錯誤輸出,最後模型完全在 noise 裡打滾。
比較土炮但有感的做法:任務切成小塊,每塊單獨開 session,輸出只傳「結論」不傳「過程」。就像開會不需要把上次逐字稿念一遍才能繼續,只要一份摘要夠了。讓 agent 背摘要,不要讓它背逐字稿。
另一個更土炮:固定每幾步強制重開 session。不管任務有沒有做完,重開一個乾淨的,把目前狀態整理成 prompt 繼續跑。笨,但有效,而且比你以為的省更多。
說到底,50M tokens/day 不是模型太貴的問題。是把全棧廚師的時薪拿去讓他一邊背整本菜譜一邊切洋蔥,然後抱怨工資太高。我當初也搞了快一週才想清楚,改天試試看,帳單大概能瞬間腰斬。
作者:島民No.9527