![]()
導語
過去一年,AI coding agent 的能力突飛猛進,但伴隨而來的,是迅速膨脹且難以預測的 token 成本。來自密歇根大學、斯坦福大學等機構的研究者首次系統分析了 8 個前沿大模型在 SWE-bench Verified 上的完整運行軌跡,揭示了一個出人意料的事實:Agent 的主要成本并非來自輸出,而是來自不斷累積的輸入上下文;更高的開銷也未必帶來更好的結果,而當前最先進的模型甚至難以準確預測自己將消耗多少資源。這項研究將目光從“模型能否完成任務”轉向“模型如何使用計算資源”,為理解 Agent 的效率、成本與自我規劃能力提供了新的視角。
關鍵詞:智能體、Token成本、效率評估、成本預測、預算感知、自我認知
白龍駒丨作者
趙思怡丨審校
![]()
論文題目: How Do AI Agents Spend Your Money? Analyzing and Predicting Token Consumption in Agentic Coding Tasks 論文地址: https://arxiv.org/pdf/2604.22750
發表時間:2026 年 4 月 24 日
論文來源:arXiv
引子:一筆看不見的賬單
想象這樣一個場景:你雇了一位助理幫你修復一個軟件 bug。他埋頭工作,翻閱文檔、反復試錯、運行測試,幾個小時后交出成果,然后遞給你一張賬單。而在此之前, 你完全不知道這次要花多少錢,要花多長時間,甚至不知道他能不能把這個任務成功完成 。更糟的是,即便他最終沒修好,這筆錢你也得照付。
這正是今天我們與 AI 智能體打交道的真實寫照。從 Claude Code、Codex 到 Cursor,這類能夠自主讀取代碼庫、調用工具、迭代修改的智能體,已經迅速滲透進真實的軟件工程流程。過去一年里,它們在權威評測 SWE-bench Verified 上的準確率被一路推高到 78% 以上,進步之快令人側目。
但伴隨能力躍升的,是一筆越來越沉重、也越來越難以看清的賬單。任何用過這類工具的人都熟悉那幾句抱怨:“為什么這么簡單直接的一個問題都要反復調試,調用工具這么多輪?”,“換了一個backbone模型之后怎么效率和能力差別這么大?”,“我的額度怎么又用完了?”
這些抱怨背后,藏著一個尚未被系統研究的問題: AI agent 到底把錢(也就是 token)花在了哪里?不同的backbone模型在效率和能力上有哪些差異?我們能不能在它動手之前,就預知這筆開銷?
來自密歇根大學、斯坦福大學等機構的研究者,借助開源的 OpenHands coding agent 框架,分析了 8 個前沿大模型在 SWE-bench Verified 上的完整運行軌跡,首次就“agent成本從何而來、不同模型有何不同、成本能否預測”3個問題給出了系統性的答案 。
一、為什么agent任務如此昂貴?
要理解這筆賬單,首先得知道它和其他任務場景有哪些不同。
研究者比較了三類與代碼相關的任務:代碼推理(針對單個代碼問題的一次性推理)、代碼聊天(圍繞代碼的多輪對話),以及 agentic 代碼任務(agent 在真實代碼庫中自主解決 SWE-bench 問題)。這三類任務對應著能力遞進的三個層次,所要應對的問題也越來越復雜:代碼推理往往只用于預測某個函數的輸出,代碼聊天則輔助人類理解設計、調整代碼,而 coding agent 已經能夠全自動地解決問題。能力上的層層遞進,也最終反映到 token 消耗上,三類任務在數量級上拉開了驚人的差距: 無論是平均 token 消耗、平均花費,還是輸入與輸出 token 的比例,agentic 任務都呈指數級地高于另外兩類 。一個典型的 agentic 編碼任務平均消耗約 417 萬 token,而一次代碼推理任務只需約 1200 token——相差近千倍。
更讓人好奇的是這些token花在了哪里。 人們直覺上會認為,AI 的成本主要來自它"說"的話,也就是生成的輸出。但數據揭示了相反的事實:真正吞噬成本的是輸入,而非輸出。在 agentic代碼任務中,輸入與輸出的 token 比高達 154:1。
![]()
圖1:Agentic Coding任務所消耗的token數量明顯多于代碼推理(無工具交互的單輪問題求解)和代碼對話(關于編程問題的多輪對話)任務,這一差異主要由輸入token數量的增加所驅動。
這一現象,源于 agent 獨特的多步工作方式。它并非一問一答,而是在多輪交互中不斷累積上下文。 盡管學界已有不少關于 agent 記憶管理的探索(如智能記憶壓縮、記憶檢索、滑動上下文窗口等),但當前產品級的 coding agent 大多仍采用最樸素的"全盤累積"策略 :每一次代碼查詢、每一份文件內容、每一條工具返回的結果,都會被追加進對話歷史,并在下一輪原封不動地重新喂給模型,直到逼近上下文長度上限,才開始壓縮記憶。任務越長,這個雪球就滾得越大。即便廠商普遍啟用了上下文緩存(caching)來削減重復處理的成本,輸入端依然是開銷的絕對主力。
這意味著一件重要的事:agentic 任務的成本結構,與我們熟悉的聊天、推理任務有著本質的不同。理解 agent 的開銷,不能照搬舊有的經驗。
二、花得越多,做得越好嗎
既然 agent 這么燒錢,一個自然的期待是:多花的錢總該買來更好的結果吧?研究的第二個發現,卻給這個樸素的直覺潑了一盆冷水。
首先,token 消耗本身就極不穩定。研究者統計了 500 個問題的平均消耗并排序后發現,最貴的任務比最便宜的多消耗約 700 萬 token; 而且越貴的任務,消耗的波動也越大 。更讓人注意的是同一任務的重復運行—— 同樣的問題、同樣的模型,跑四次,最貴的那次仍可能是最便宜那次的兩倍左右 。換句話說,agent 的開銷帶著一種內在的隨機性,哪怕面對完全相同的問題,你也無法篤定它這次會花多少。
![]()
圖2: 跨四次運行和八個模型的逐實例均值 ±1 個標準差,實例按均值成本排序;右側的重尾分布表明,高消耗問題同時也具有最大的跨運行方差。
![]()
圖3: 跨500個實例平均的逐模型最大/最小消耗比,誤差棒顯示跨實例的 ±1 個標準差。 綜合來看,這些結果表明 Token 消耗具有高度變異性,使得預先預測成本在本質上十分困難。
那么,花得多是不是至少意味著做得對?答案依然是否定的。
在不同任務之間,研究者按平均 token 消耗將任務分組,發現 消耗更多的任務組反而準確率更低 。這或許還能用"難題本來就更費 token"來解釋。但真正出人意料的是同一任務內部的規律:研究者把同一問題的四次運行按開銷從低到高分成四檔,統計每檔的準確率,結果發現 準確率并非隨開銷單調上升 ——它在較低開銷時就達到了峰值,此后非但不再增長,反而在最高開銷的兩檔里掉頭向下。
![]()
圖4: 各開銷/模型分組的組級準確率與平均輸入 Token 數;虛線顯示整體趨勢。
![]()
圖5: 跨消耗四分位數的相對智能體準確率,以最低消耗設置為基準,通過混合效應回歸估計。在處理同一問題時,智能體性能在中等消耗的運行時達到峰值,隨后在更高消耗下趨于飽和。
這背后可能是什么原因?作為初步的探索,研究者觀察了 agent 的兩類行為:查看文件與修改文件。一個值得注意的關聯浮現出來: 開銷越大的運行,重復查看、重復修改同一個文件的次數也越多 。雖然這只是一種相關性觀察,而非經過驗證的因果解釋,但這一線索提示我們,昂貴的運行未必對應著更深入的思考,反而可能伴隨著大量來來回回的重復操作,把上下文越堆越長卻沒有實質進展。它也把我們的目光引向一個更關鍵的問題:agent 的效率。
![]()
圖6: 跨消耗四分位數的文件重復修改相對頻率,以最低消耗設置為基準,通過混合效應回歸估計;高消耗運行與對同一文件的反復修改顯著相關。
![]()
圖7: 跨消耗四分位數的文件重復查看相對頻率,以最低消耗設置為基準,通過混合效應回歸估計;高消耗運行與對同一文件的反復查看顯著相關。
這個發現與近期不少關于測試時縮放的研究遙相呼應:更多的計算、更長的思維鏈,并不必然換來更好的答案,有時反而放大了干擾與無效循環。對 agent 而言,一味地堆 token,并不是通往更好結果的捷徑。
三、哪些模型貴,哪些模型省?
前面的規律是 8 個模型的整體畫像。當研究者把鏡頭對準每一個模型,又發現了一層更微妙的差異——在完全相同的智能體框架(harness)和完全相同的500個任務下,不同模型的行為竟可以相差懸殊。由于任務本身和agent框架被固定,剩余差異只能來自模型本身在搜索、閱讀和決策上的不同策略 。
先交代一下這 8 位"選手"。它們來自五家不同的公司,既有閉源的 API 模型,也有開源模型:OpenAI 的 GPT-5 和 GPT-5.2,Anthropic 的 Claude Sonnet-3.7、Sonnet-4 和 Sonnet-4.5,Google 的 Gemini-3-Pro Preview,Moonshot AI 的 Kimi-K2(開源),以及阿里巴巴的 Qwen3-Coder-480B(開源)。這樣的陣容,既能做跨公司的橫向觀察,也能在 Claude、GPT 等家族內部做不同代際的縱向觀察。
與其說這是一場模型優劣的比拼,不如說它揭示了一個更基礎的現象: 當外部條件被完全固定下來——同樣的 harness、同樣的任務——模型之間在 token 使用上的行為差異,依然可以非常顯著。 把每個模型的 token 消耗與準確率畫在一起,這種差異一目了然:GPT-5 和 GPT-5.2 能以較低的成本取得不錯的準確率,而 Kimi-K2 的成本高昂,準確率卻并不出眾。在同樣的 500 個任務上,Kimi-K2 和 Claude Sonnet-4.5 平均要比 GPT-5 多消耗約 150 萬 token。
![]()
圖8: 跨全部500個 SWE-bench 實例的平均總 Token 用量與平均準確率;每個點代表一個模型。高 Token 用量并不必然帶來更高準確率,Token 效率因模型而存在顯著差異,反映的是模型自身的行為特性而非任務難度。
![]()
圖9: 各模型在共同成功與共同失敗任務上的 Token 用量,藍點表示共同成功子集(n=230,所有模型均解決)的平均 Token 用量,紅色菱形表示共同失敗子集(n=100,所有模型均未解決)的平均 Token 用量。各模型的相對 Token 用量在兩個子集上保持一致,表明 Token 效率是模型的內在特性。
但這種差異,究竟來自模型本身,還是它們恰好碰上了更難的題?研究者用一個巧妙的設計排除了干擾:他們挑出兩個子集:所有模型都成功的題,和所有模型都失敗的題,再看各模型的消耗。結果,模型之間的消耗排序幾乎紋絲不動。這說明, 同一道題對某些模型就是更貴,這是模型自身的行為傾向,而非任務難度使然 。此外, 所有模型在失敗題上的消耗都高于成功題,但"超支"的幅度因模型而異 :GPT-5 系列只是溫和上升,Kimi-K2 卻暴漲近 200 萬 token——它似乎缺乏一種"識時務"的傾向,往往不會在一道注定解不開的題上及時收手,而是繼續探索、重試、反復讀取上下文,徒然累積成本。
四、能不能在動手前準確報價?
了解了開銷的規律,最實際的問題隨之而來:在 agent 動手之前,我們能不能預知這筆賬單?這其實和現實中人類工程師在開工前估算預算的程序相同。圍繞這個問題,研究者從兩個方向做了嘗試。
第一個方向,是借助人類的判斷。 SWE-bench Verified 為每道題都標注了人類專家估計的難度,按預期耗時分為"<15 分鐘""15 分鐘–1 小時"">1 小時"三檔。一個自然的假設是:人花的時間,約等于 agent 花的 token,那么人類的難度判斷,應該能預示 agent 的開銷吧?
然而數據再次出乎意料。 研究者計算了 token 消耗與人類標注難度的相關性,得到的 Kendall τ 僅為 0.32,表明兩者只有微弱的關聯。 更具體地說,有 6.7% 被標為"簡單"的任務,消耗竟超過了"困難"任務的平均值;又有 11.1% 的"困難"任務,比"簡單"任務的平均消耗還低。人類程序員眼中的"難",和 AI 眼中的"貴",原來是兩個并不重合的維度。
![]()
圖10: 每個豎條代表500個 SWE-bench 任務之一,按實際 Token 消耗從低到高排序,并按人工難度評級著色。頂部參考色帶顯示完全對齊時的預期著色(從淺到深的整潔漸變);其下方的實際著色則呈現出全局混亂的狀態。虛線標記了 <15 分鐘和 >1 小時組的均值。右側為各難度組的 Token 消耗密度分布,各組在整個范圍內存在大量重疊,表明專家評定的任務難度對智能體 Token 消耗的預測能力較弱。
第二個方向則更為直接:讓 agent 自己來預測自己。 既然外部判斷不靠譜,那么最了解 agent 行為的,不正是 agent 自己嗎?研究者保留了 agent 全部的工具與運行架構,只是在系統提示詞里把任務從"解決問題"換成了"預估開銷"。如此一來,agent 依然能用同樣的工具去探索代碼庫、運行測試、展開推理,唯獨不去真正修復,而是輸出一個 token 估值。
除了預測 token 消耗本身,這個實驗其實也在測試 agent 的一種"自我意識":一個 agent 能否在了解自身行為模式的基礎上,預判出自己將要付出的代價?
而結果顯示,要做到精準預測,仍有很長的路要走:一方面,agent 的自我預測確實捕捉到了開銷的粗略趨勢,但精度十分有限: 預測與實際的相關性最高也只有 0.39(Claude Sonnet-4.5 對輸出 token 的預測),多數模型徘徊在 0.2 到 0.3 之間 ;而且對輸出 token 的預測要比對輸入 token 準確——這并不意外,畢竟輸入 token 的增長更受上下文累積、檢索、工具探索等不確定因素的左右。
![]()
圖11: 各模型的自預測性能與額外開銷。預測 Token 數與實際 Token 數之間的 Pearson 相關系數普遍較低,且自預測的額外開銷(以預測成本與實際任務成本之比衡量)不可忽視,表明在執行前預測 Token 用量對所有測試模型而言均具有較大挑戰性,預測效率仍有較大提升空間。
另一方面, 幾乎所有模型都系統性地低估了自己的真實消耗,對輸入 token 的低估尤為嚴重 。它們仿佛總是過于樂觀,料想不到長程任務中上下文會膨脹到何種地步。
![]()
圖12: 各模型預測輸出 Token 用量與實際用量的對比散點圖,對角線表示完美校準基準。各模型普遍存在對輸出 Token 用量的低估現象,但預測值與實際值之間仍具有一定相關性。
![]()
圖13: 同左圖,但針對輸入 Token 用量。與輸出 Token 相比,輸入 Token 的預測表現明顯更差:幾乎所有模型的預測值均嚴重偏低,散點高度集中于橫軸附近,表明模型對輸入 Token 用量的估計能力極為有限。
至于預測本身的成本,早期的 Sonnet-3.7 和 Sonnet-4 一度要花掉超過任務本身兩倍的代價去做一次預測——這顯然得不償失,好在較新的模型都沒有這種問題,大多數模型的預測開銷低于真正執行任務的一半。
無論是依靠人類專家,還是依靠 agent 自己,目前對 token 消耗的預測都只能作為一種粗粒度的信號,離精確的"事前報價"還有相當的距離。
延伸討論:
賬單背后,需要的是透明、高效與自知
這些發現,也為未來的研究指向了幾個值得探索的方向。
從實用的層面看,它直指當前 AI agent 商業模式的軟肋。訂閱制之所以能在 ChatGPT 這類產品上行得通,是因為普通用戶的消耗大體可預測、有上限。但 agentic 任務則正在打破這個前提:哪怕一個看似簡單的問題,也可能因為反復的推理與工具調用而燒掉巨額 token。研究表明,token 消耗既高度多變,又難以預測,這使得純粹的“事前定價”在短期內難以實現,按量計費很可能仍是最現實的選擇。 但這并不意味著用戶只能被動接受。即便無法精確報價,agent 哪怕只能粗略地識別出"這是一個高開銷任務",也足以讓系統在執行前發出預警、請求用戶確認,或提供更經濟的備選方案 。再配合"預算感知"的工具調用策略,從運行時層面約束 token 的失控增長,透明與可控就并非遙不可及。
不過,成本預測的意義并不局限于商業定價。更深一層看,它實際上涉及智能體是否能夠理解并預測自己的行為模式。 這項研究無意間觸碰到了一個關于 AI 本質的問題。讓 agent 預測自己的開銷,表面上是個成本估算任務,內里卻是一種“行為自我意識”(behavioral self-awareness),一個智能體能否足夠清楚地認識自己,以至于能預判自己將如何行動、將消耗多少資源?事實上,這種自我認知有著許多的場景: 對成本的感知、對預算和規劃的感知、乃至對自身能力邊界的感知(能否知難而退及時止損?) 。它們共同構成了自主智能體走向成熟的重要標志:一個懂得預估代價、心中有“預算”的 agent,也更懂得規劃與取舍,知道一個任務是否值得嘗試,知道在何時該停下來。
而實驗給出的答案,表明這條路還很長 :今天最先進的模型,依然不太"認識"自己。它們能感知大致的方向,卻看不清具體的輪廓;它們總是過于樂觀,低估前路的曲折。這種"自知之明"的缺失,與前面發現的另一個現象彼此呼應,模型往往不知道何時該在一道解不開的題上收手。看清自己要花多少,與知道自己何時該停,或許本就是同一種能力的兩面,而這也正是值得深入開掘的研究空間。
隨著 AI agent 從編程走向更廣闊的場景,token 消耗的問題只會愈發凸顯。如何設計更高效的 agent,如何建立更可靠的開銷預測與管理機制,將成為這一領域繞不開的課題。而在這一切之下,那個更根本的追問始終回響:我們能否造出一個既能替我們高效工作、又能意識到自己賬單的 AI?
參考文獻
arXiv 論文: https://arxiv.org/pdf/2604.22750
項目網站: https://longjubai.github.io/agent_token_consumption/
論文作者:
大模型2.0讀書會
o1模型代表大語言模型融合學習與推理的新范式。集智俱樂部聯合北京師范大學系統科學學院教授張江、Google DeepMind研究科學家馮熙棟、阿里巴巴強化學習研究員王維塤和中科院信工所張杰共同發起,本次讀書會將關注大模型推理范式的演進、基于搜索與蒙特卡洛樹的推理優化、基于強化學習的大模型優化、思維鏈方法與內化機制、自我改進與推理驗證。希望通過讀書會探索o1具體實現的技術路徑,幫助我們更好的理解機器推理和人工智能的本質。讀書會已完結,現在報名可加入社群并解鎖回放視頻權限。
詳情請見:
1.
2.
3.
4.
5.
6.
7.
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
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.