一張 38,000 美元的 AWS Bedrock 帳單揭露了 AI 基礎設施安全性的關鍵漏洞
大型語言模型 (LLM) 和 AI agent 在開發工作流中的快速採用帶來了前所未有的力量,但也引入了新的、可能導致高昂成本的失效模式。一位開發者最近分享了一個從近 38,000 美元的 AWS Bedrock 帳單中吸取的慘痛教訓,揭露了目前計費制 AI 基礎設施運作方式中的一個關鍵漏洞:簡單的提示詞快取 (prompt caching) 配置錯誤,就可能在缺乏足夠硬性安全護欄的情況下,導致天文數字般的成本。
這次事件為任何利用 AI 服務的人,特別是在自動化 agent 工作流中,敲響了重要的警鐘。它揭露了當「平台級別的保障措施」這一假設與「無聲且高昂成本的失效」這一現實不符時,所隱含的危險,並強調了開發者和雲端供應商同樣需要重新思考如何為 AI 消費實施金融護欄。
事件經過:快取未命中導致的 38,000 美元教訓
作者 Zephyr0x 詳細描述了一個涉及本地編碼 agent (Droid) 與 OpenAI 相容的 API 互動的工作流,該 API 透過 LiteLLM 路由至 AWS Bedrock,並最終使用 Claude Opus 4.6。原本的預期是 Claude 和 Bedrock 都支援的提示詞快取 (prompt caching) 能有效管理 token 使用量。然而,最終的帳單卻呈現了完全不同的景象,導致總使用量高達 37,901.73 美元,在扣除 AWS credits 之後淨額約為 29,875.19 美元。
問題的核心不在於輸出生成,而是在於重複且未經快取的輸入。以下是詳細的費用拆解:
- 未經快取的輸入 tokens: 約 64.7 億 tokens,成本約 35,600 美元
- 快取讀取輸入 tokens:約 16.7 億 tokens,成本約 918 美元
- 快取寫入輸入 tokens:約 1.01 億 tokens,成本約 698 美元
- 輸出 tokens:約 2,500 萬 tokens,成本約 698 美元
這清楚地證明了,雖然發生了一些快取活動,但對於高頻率的 agent 工作流來說,這顯然是遠遠不夠的。絕大部分的成本都源於 agent 重複發送龐大的上下文 (context)——包括 repo 狀態、工具 schema、指令、歷史紀錄和檔案內容——作為未經快取的輸入。
安全感的錯覺:軟性訊號 vs. 硬性護欄
作者強調的最令人沮喪的面向之一,是那些看似安全機制實則具有欺騙性的性質。他在文中清晰地闡述了這一點:
「支援提示詞快取」並不等同於「你的實際 agent stack 正在正確地使用提示詞快取」。 「已配置預算警報」並不等同於「支出將會停止」。 「已套用 credits」並不等同於「你能及早發現錯誤的成本結構」。
這些被描述為「假裝成安全邊界的軟性訊號」,對於 LLM agent 來說根本不足。一個自主的編碼 agent 可以持續運行,在開發者睡覺時累積龐大的上下文並產生巨額成本。當快取配置錯誤或部分有效時,失效模式並非微小的效率低下,而是失控的雲端帳單。
雲端供應商在處理意外成本方面已有悠久的歷史,然而目前的 AI 基礎設施現狀似乎忽視了數十年來累積的教訓。作者指出:「雲端供應商已有數十年的時間來學習,『在錢花光之後再發郵件通知我』並不是一種安全機制。」
對硬性限制的迫切需求
這次事件強調了目前 AI 服務供應商產品中缺失的一個根本性環節:在 API 或平台層級提供硬性且可配置的支出限制。作者針對為何缺乏這類基礎護欄提出了關鍵問題:
- 為什麼不能將一個 IAM principal 限制在最高支出額度,例如每月 200 美元?
- 為什麼不能將特定模型限制為每天 N 次呼叫?
- 為什麼不能限制一個工作流每小時發送超過 N 個未經快取的輸入 tokens?
- 為什麼不能在預設預算超過時停止提供服務請求?
如果沒有這些硬性限制,AI agent 的運作模式預設就是「極度危險的」。作者承認自己對於沒有實施護欄的責任,但強調了平台的設計允許「一個非常正常的整合錯誤,就演變成一張如汽車大小般的帳單」。
為 AI Agent 建立可靠的護欄
這次經驗促使社群需要採取緊急行動,開發並分享強大的解決方案。作者特別詢問了關於現有的可靠護欄,例如:
- IAM deny rules
- API gateways 搭配自定義邏輯
- Token-budget proxies
- Per-workflow kill switches
隨著 AI agent 變得越來越深入地整合進日常開發與生產環境中,對這類主動且具預防性的措施的需求變得至關重要。依賴事後警報或假設快取正確運作的不再是長久之計。
關鍵要點
這張 38,000 美元的 AWS Bedrock 帳單是一個嚴峻的提醒,對於任何使用計費制 AI 服務的人來說,都有幾個關鍵教訓訓:
- 提示詞快取並非勾選即可完成的項目。 它需要嚴格的驗證與監控,以確保它在你的特定 agent stack 中能有效運作。
- 預算警報並非切斷開關。 它們提供的是事後通知,而非預防。
- Credits 並非保護措施。 雖然有幫助,但它們會掩蓋底層的成本效率低下,直到為時已晚。
- 硬性支出限制是必要的。 在 AI agent 可以被安全地整合為正常基礎設施之前,計費制 AI 後端迫切需要強大且可配置的硬性限制。目前的預設設定簡直是太過風險。