![]()
如今的 AI Agent 正在大規(guī)模落地,其中應(yīng)用最廣且最受關(guān)注的當(dāng)數(shù) Claude Code,Codex,Cursor 這類 coding agent。過去的一年里,這類 coding agent 產(chǎn)品迭代迅速,在一年內(nèi)將在 swe-bench- verified 的準(zhǔn)確率提高到了 78%+。
然而,相比簡單的代碼推理或者和代碼相關(guān)的聊天,coding agent 的 token 消耗也極為顯著。在使用這種 coding agent 的過程中,最常聽到的抱怨也是:“為什么它解決問題這么啰嗦”,“為什么要這么長篇大論”,以及 “為什么我的 credits 這么快又用完了?”
這些抱怨的背后暴露出當(dāng)前 coding agent 的幾大問題:
1. 不透明: coding agent 消耗 token 的習(xí)慣不清晰,行為模式以及不同模型之間的差異不透明;
2. 不保底:在任務(wù)執(zhí)行前難以知道任務(wù)成功與否,但不論是否成功,都要支付相應(yīng)開銷;
3. 不可預(yù)測:人類估計的問題難度真的和實際的 token 消耗匹配嗎?agent 能否自己判斷問題會消耗多少 token 呢?
針對這些問題,來自密歇根大學(xué)、斯坦福大學(xué)等單位的研究者,使用開源的 OpenHands agent 框架,分析了 8 個 frontier 模型在 swe-bench-verified 上的軌跡,第一次給出了一份系統(tǒng)性的解答。
![]()
- 論文標(biāo)題:HowDoAIAgentsSpendYourMoney? AnalyzingandPre dicting Token Consumption in Agentic Coding Tasks
- arXiv 論文:https://arxiv.org/pdf/2604.22750
- 項目網(wǎng)站:https://longjubai.github.io/agent_token_consumption/
Agentic Coding 有多貴?
論文首先比較了和 coding 相關(guān)的 3 種任務(wù):代碼推理(和代碼相關(guān)的單論對話推理任務(wù)),代碼問答對話(關(guān)于代碼問題的多輪對話聊天),以及 swe-bench 上的 agentic 代碼任務(wù)。結(jié)果發(fā)現(xiàn),agentic coding 任務(wù)在平均輸出輸入 token 比,平均總 token 消耗,以及平均金錢消耗,均指數(shù)級高于其他兩種任務(wù)。
這源自于 agentic coding 任務(wù)的多輪交互和巨大而復(fù)雜的上下文管理:巨量的代碼查詢,文件輸出都會被加入到對話歷史中,導(dǎo)致消耗持續(xù)增加,并且 agent 會不斷把歷史上下文、工具輸出反復(fù)喂給模型,導(dǎo)致輸入輸出比高達(dá) 154:1。這意味著 agentic coding 任務(wù)的成本結(jié)構(gòu)與我們所熟悉的對話和推理任務(wù)有顯著的不同。
![]()
Agentic Coding 的開銷隨機性高,
且花的越多不一定做得越好
論文統(tǒng)計了 swe-bench-verified 中 500 個問題的平均 token 消耗,并將消耗從小到大排序。從圖中可以發(fā)現(xiàn),最貴的任務(wù)可能比最便宜的任務(wù)多消耗約 700 萬 token,并且越貴的任務(wù) token 消耗的標(biāo)準(zhǔn)差也越大。
對同一任務(wù)的重復(fù)運行來說,通過計算最貴的一次運行和最便宜的一次運行的差異,結(jié)果發(fā)現(xiàn)即使是同一任務(wù),最貴的運行仍可能比最便宜的運行貴 2 兩倍左右。
進一步分析 token 消耗多少與準(zhǔn)確率的關(guān)系,論文發(fā)現(xiàn)更多的消耗并不能保證更高的準(zhǔn)確率。
對于不同任務(wù)來說,論文根據(jù)平均 token 消耗的數(shù)量進行分組,并統(tǒng)計每組任務(wù)的準(zhǔn)確率,結(jié)果發(fā)現(xiàn) token 消耗更多的任務(wù)往往準(zhǔn)確率較低。
對于同一個任務(wù)的不同運行來說,將 4 次運行按照 token 消耗排序,分成四個開銷等級,然后統(tǒng)計每一個開銷等級的準(zhǔn)確率。結(jié)果發(fā)現(xiàn):平均所有模型來看,最高的準(zhǔn)確率并不出現(xiàn)在開銷最高的時候,而是出現(xiàn)在較低開銷時。當(dāng)開銷最低時,任務(wù)運行的準(zhǔn)確率最低,當(dāng)提高開銷稍微提高時,準(zhǔn)確率達(dá)到最高,繼續(xù)增加開銷,當(dāng)開銷第二高和最高時,準(zhǔn)確率不增反減 ——更多的資源消耗并沒有帶來更高的任務(wù)成功率。
![]()
![]()
為了探索高開銷失敗背后的原因,論文檢查并分析了 agent 解決問題軌跡中的兩類行為:閱讀文件以及修改文件。結(jié)果發(fā)現(xiàn):開銷更大的運行軌跡中,重復(fù)修改和重復(fù)查看同一文件的次數(shù)也明顯更多,這表明更多的 token 消耗其實伴隨了很多來來回回的 “折騰”,而不是高效的推理,嘗試,和檢查。簡單來說,一味簡單地堆 token 并不能顯著帶來更好的效果。
![]()
![]()
哪些模型貴,哪些模型省?
不同模型之間的 token 效率差異極大
以上的分析是基于所測試的 8 個模型的整體表現(xiàn)特點,在此基礎(chǔ)上,論文對每個模型進行了具體的分析,并比較了他們使用 token 的效率。
文章測試的八個模型包括 OpenAI 的 GPT-5 和 GPT-5.2,Anthropic 的 Claude Sonnet-3.7、Claude Sonnet-4 和 Claude Sonnet-4.5,Google 的 Gemini-3-Pro Preview,Moonshot AI 的 Kimi-K2,以及阿里巴巴的 Qwen3-Coder-480B。這八個模型覆蓋了五家不同的公司,同時包含閉源 API 模型(GPT、Claude、Gemini 系列)和開源模型(Kimi-K2、Qwen3-Coder-480B)。其中 Claude Sonnet 有三個版本、GPT 有兩個版本,這樣既包含了跨公司的橫向?qū)Ρ龋灿型患易鍍?nèi)不同代際的縱向?qū)Ρ取?/p>
通過觀察不同模型的 token 消耗與任務(wù)準(zhǔn)確率的關(guān)系,發(fā)現(xiàn)不同模型間的差異是系統(tǒng)性的,不是因為任務(wù)難度不同, 而是模型自身的行為習(xí)慣。例如 GPT-5 以及 GPT-5.2 可以以較低的 token 成本達(dá)到不錯的準(zhǔn)確率,但 Kimi-K2 在成本較高的同時準(zhǔn)確率卻并沒有很高。在同樣的 500 個任務(wù)下,Kimi-K2 和 Claude Sonnet-4.5 比 GPT-5 多消耗約 150 萬 token。
![]()
![]()
論文進一步選出了兩個任務(wù)子集:所有模型都成功的任務(wù)和左右模型都失敗的任務(wù),并再次統(tǒng)計不同模型的 token 消耗。結(jié)果發(fā)現(xiàn)模型的 token 消耗排序基本不變,并且所有模型在失敗任務(wù)子集上的 token 消耗都多于成功子集,不同模型從失敗子集到成功子集的 token 消耗增量也各不相同。
是否有辦法對任務(wù)的 token 消耗
進行提前預(yù)測?
人類專家對任務(wù)難度的判斷與 agent 實際 token 消耗并不完全吻合
當(dāng)了解了 agentic coding 的開銷后,下一個問題便是:在執(zhí)行任務(wù)之前,是否有辦法根據(jù)要執(zhí)行的任務(wù)來預(yù)測開銷?
文章首先分析人類專家所理解的任務(wù)難度是否可以作為預(yù)測 agent token 開銷的標(biāo)準(zhǔn)。在 swe-bench-verified 中,每一個任務(wù)都有人類專家所標(biāo)記的任務(wù)難度,按照人類專家預(yù)期的完成時間分為三檔:“< 15 min”,“15 min - 1 hr”,“> 1 hr”。如果說人類消耗的時間就相當(dāng)于 agent 消耗的 token,那么人類所估計的任務(wù)難度是否和 agent 的 token 開銷是吻合的呢?
![]()
論文將不同任務(wù)根據(jù) token 開銷進行排序,并計算它與人類標(biāo)注難度的相關(guān)性。結(jié)果發(fā)現(xiàn) Kendall tau = 0.32,表明人類專家對任務(wù)難度的判斷和 Agent 實際消耗的 token 之間只有很弱的相關(guān)性。
其中 6.7% 的 "簡單" 任務(wù)比平均 "困難" 任務(wù)還貴,11.1% 的 "困難" 任務(wù)比平均 "簡單" 任務(wù)還便宜 —— 更說明了人類程序員和 AI Agent 對任務(wù)的 "復(fù)雜度認(rèn)知" 是不同的維度。
Agent 自己是否可以對任務(wù)的 token 消耗做出預(yù)測?
既然人類預(yù)測的任務(wù)難度和 agent 的實際任務(wù)消耗有所差異,那么是否可以讓 agent 自己來預(yù)測自己的消耗?
論文緊接著對 agent 的自預(yù)測進行了嘗試:在這部分實驗中 agent 所有的工具和 harness 的架構(gòu)都得到了保留,只有在系統(tǒng)提示詞中將任務(wù)從之前的 “解決問題” 變成了 “預(yù)估開銷”,這樣一來,就可以最大程度的表流 agent 本身的特征和功能,并讓它得以使用同樣的工具對代碼庫進行多輪探索,測試和推理。
![]()
論文中用預(yù)測的開銷和實際開銷的相關(guān)性作為衡量預(yù)測準(zhǔn)確率的指標(biāo),并同時統(tǒng)計了做預(yù)測所消耗的 token。結(jié)果顯示,模型作出的預(yù)測與實際的相關(guān)性最高只有 0.39(Claude Sonnet-4.5 的 output token),大多數(shù)模型都在 0.2-0.3 之間,且對 output token 的預(yù)測比 input token 更加準(zhǔn)確。在成本方面,大部分模型作出預(yù)測所需要的成本都小于實際任務(wù)執(zhí)行成本的一半,除了早期的 Claude Sonnet-3.7 和 4,一度超過真正 task 執(zhí)行成本的兩倍。
文章進一步分析發(fā)現(xiàn)所有的模型都低估了任務(wù)的實際消耗,尤其對 input token 的低估特別嚴(yán)重。
![]()
![]()
因此,不管是人類專家還是 agent 自己,對 token 消耗預(yù)測目前只能作為粗粒度的信號,離精確的事前定價還有很大距離。
總結(jié)
文章通過對 coding agent 軌跡的分析,發(fā)現(xiàn) Agent 的 token 消耗以 input token 為主導(dǎo),且在不同問題之間以及同一問題的不同運行之間都存在很高的隨機性。不同模型的 token 效率差異顯著,且更多的 token 消耗并不能保證更高的正確率。在執(zhí)行前成本預(yù)測方面,人類理解的任務(wù)難度與 Agent 的實際 token 消耗并不吻合,Agent 自身的預(yù)估也存在準(zhǔn)確率較低和普遍低估的問題。未來潛在的研究方向包括更高效的 Agent 設(shè)計,以及更好的開銷預(yù)測與管理方法。
作者介紹:
本文第一作者 Longju Bai 是密歇根大學(xué)一年級博士生,通訊作者 Jiaxin Pei 現(xiàn)為斯坦福大學(xué)博士后研究員,即將入職得克薩斯大學(xué)奧斯汀分校擔(dān)任助理教授。合作者包括來自斯坦福大學(xué)的 Zhemin Huang 和 Erik Brynjolfsson,來自 All Hands AI 的 Xingyao Wang,來自 Google DeepMind 的 Jiao Sun,來自密歇根大學(xué)的 Rada Mihalcea,以及來自斯坦福大學(xué)和麻省理工學(xué)院的 Alex Pentland。
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.