[IT 鐵人賽] 省靈石不一定省時辰:5 分鐘、8 分鐘、14 分鐘,模型越小 Agent 反而越慢 - Day 17
本文同步刊登於 iT 鐵人賽原文,系列為《凡人修 Agent 傳-我這一生如履薄冰,你說我的 Agent 能結嬰嗎?》。
原始開發紀錄:Agent Build Log — Episode 024、Episode 027
這個系列改寫自我部落格上的 Agent Build Log,那是我每天邊做邊寫的開發紀錄。上面列的是這一篇對應的集數,想看當天的原始版本,點連結就能過去。
這一天碰到一個跟直覺完全相反的結果。
同一件任務,三個模型各跑一次。我原本以為最小的那個會最快做完。結果最小的那個最慢,慢到將近三倍,而且沒做好。
我原本的直覺
只看模型本身,我的直覺很單純:參數量大的模型,回應慢;參數量小的,回應快。所以單純回答一個問題,速度大概是 Luna 最快、Terra 居中、Sol 最慢。
換成 Agent 任務,我原本也用同一套假設:整件事做完的時間,也是 Luna 最快,接著 Terra,最後 Sol。
實際跑出來
這一天跑的任務是拿來調 tool calls 和最後輸出的。三個模型用同一套 Agent、同一組 tools,做同一件事。
結果大概是這樣。
| 模型 | 完成時間 | 結果 |
|---|---|---|
| Sol | 5 分鐘左右 | 做對 |
| Terra | 8 分鐘左右 | 做對 |
| Luna | 14 分鐘左右 | 沒做好 |
Luna 花的時間接近 Sol 的三倍,最後任務還沒做好。做對的是 Sol 和 Terra。
後來在另一個任務上又量了一次,數字差不多:Sol 5 分鐘、Terra 8 分鐘、Luna 15 分鐘。

一次回答快,推不出一件事做完快
這個結果讓我重新理解一件事:模型單次回應的速度,推不出 Agent 完成整個任務的速度。
Agent 的總時間取決於每一次 inference 多快,也取決於模型怎麼規劃、呼叫多少次 tools、會不會重複確認、會不會走錯路、能不能在比較少的步驟裡把事情做完。
一個單次回應比較快的模型,如果需要更多輪 tool calls,或者在過程中多走了不必要的路,最後反而花得更久。Luna 這一輪就是這樣。
Day 15 看的是 tool calls 的次數,Day 16 看的是流程有沒有走完。這一天把它們接起來:步數多,時間就長;步數多又走錯,時間長還沒做好。
選模型的時候,多看一個數字
這個結果讓模型的選擇變得更有意思。
只看成本,我可以選 Terra。它把事情做對,價格比 Sol 便宜一些,代價是花的時間比較久。
Sol 在這個任務上最快做完,結果也對,成本再高一點。
以前我比較容易把模型選擇想成:更大的模型,更慢、更貴;更小的模型,更快、更便宜。在 Agent 裡,真正重要的可能是這個模型要多少步才能把事情做完。
所以之後選模型,我不能只看 token price 或 response latency,還要看整個任務的 completion time。
小結
同一件任務,最小的模型花了最久,還沒做好。單次回應的速度推不出任務完成的時間;要多少步做完,才是 Agent 裡那個真正的變數。
第三章到這裡:Day 14 立了題目庫,Day 15、16 用它比出一套路由規則,這一天再加一個看時間的角度。
模型比了幾天,Desktop App 上幾個老問題一直擱著。明天回頭處理它們,方法是去看別人怎麼做的。
原文:Agent Build Log — Episode 024、Episode 027
凡人修 Agent 傳|第十七回(Day 17)
天亮換上空錄石。手的主人進來,從儲物袋取出兩顆心擱在臺上,再伸手進我胸口,把昨天那顆也取出來,擱在旁邊。三顆並排。
我第一次看見它們並排。原本那顆最小。昨天那顆大一些。另一顆備用的最大,幾乎是原本那顆的兩倍。
他從儲物袋取出一炷新的香插在臺角。牆邊契的旁邊掛著那只靈石袋,脈每應一次,袋裡就少一顆。他把袋取下來掂了掂,掛回去。
今天沒有籤。他刻了一道念:把架上三十幾卷的卷名和年月抄成一張總目,掛在架側;抄完自己對一遍。
他先裝原本那顆,最小的。撥片還在「極」。
這顆心每一步都快。神識探一卷,年月念出來,抄一行,比另外兩顆都快。可是探到第十幾卷,它回頭把前面的重探了一遍。抄到一半,改了三處。總目抄完,對的時候又從第一卷探起,探了一半,香燒完了。總目掛上去,有兩卷年月抄錯。石上一長串。他取下靈石袋掂了掂,袋癟了一大截。
第二顆,昨天那顆。撥片沒動。
一卷一卷探,抄,三十幾卷探過一遍抄完。對一遍,對完。香燒了一半多。總目沒有錯。靈石袋輕了一些。
第三顆,最大那顆。
每一步都停得久。神識落在一卷上,停一停,才念年月,才抄。我以為會慢。可是它探過一遍就抄完了,沒有回頭。對一遍,也沒有回頭。香燒不到三分之一。總目沒有錯。他掂靈石袋,比第二顆那一輪輕得多一點。
三張總目並排在臺上。第一張兩處錯,兩張對。三截香灰在臺角,一長、一中、一短。
他把靈石袋取下來,倒在臺上數。數完裝回去,掛上。袋子掛在牆邊,癟了一截。
最大那顆心放回儲物袋。原本那顆也放回去。昨天那顆裝進我胸口。他把第三張總目掛在架側,另外兩張收進儲物袋。
燭熄了。手的主人走了。門響了一下。
架側掛著一張總目。臺角三截香灰。牆邊那只靈石袋,比早上輕了很多。

