RFC:通過原子預算預留阻止AI代理失控支出
此RFC提出了一個針對AI代理運行的實時預算決策平面,通過原子預算預留和每運行預算上限防止失控支出,並提供機器可讀狀態以便代理自適應調整。
AI代理的自主循環正在導致不可預測且快速增長的API成本。與普通聊天不同,代理每次迭代都會重新發送累積的上下文,到第20步時單次調用可能超過5萬輸入令牌。過去一年已有報告顯示,開發者在週末的自主重構中花費了4200美元,一個35人的團隊月賬單高達8.7萬美元。這些問題的根源在於現有預算系統設計上的三個空白:預算附加在錯誤的單位上(API密鑰或用户而非運行),執行隱式且脆弱,以及代理無法感知即將達到限額。
為了解決這些問題,本RFC定義了一個運行級別的預算決策平面。其核心是原子預留機制:在每次提供商調用前,系統根據估計成本從所有相關範圍(運行、用户、團隊等)中原子性地預留資金,調用後根據實際消耗提交或釋放。這確保了在併發情況下預算邊界也得到強制執行。
設計引入了清晰的預算決策原語(允許、降級、警告、阻止),並定義了四種執行模式:advisory_estimate(僅記錄)、soft_gate(軟阻止)、hard_gate(硬阻止)和actuals_only(僅基於實際消耗)。推薦採用分階段採用路徑:先觀察諮詢數據,再允許降級,最後啓用阻止。
系統還定義了機器可讀的預算狀態協議。每次響應都包含一組標準HTTP頭(如X-Budget-Decision、X-Budget-Remaining-USD、X-Run-Id),讓代理在請求被阻止之前就能感知預算壓力並進行自適應調整,例如切換到更便宜的模型或縮小上下文。被阻止的請求返回402 Payment Required狀態碼和RFC 9457 problem-detail body,包含詳細的預算狀態和替代模型建議。
定價安全方面,系統採用閉包原則:如果模型價格未知,則默認不可路由,除非有顯式的租户覆蓋。所有賬目金額以整數微美元存儲,禁止浮點運算。價格表版本記錄在每次決策中,確保可審計性。運行ID由服務器端綁定到認證主體,防止濫用。
總體而言,該RFC為AI代理支出控制提供了一個可測試、可演化、對代理友好的設計,填補了現有網關在運行級預算控制方面的空白。此外,設計還包括有效的輸出上限計算、跨多個範圍的原子事務、以及詳細的降級語義,這些都將幫助工程師在實際部署中精確控制代理運行成本。