Your Agent Is Wasting Tokens and You Don't Know It - Erik Hanchett, AWS
三句話摘要
使用 AI agents 時節省 token 成本的五大策略。 系統性地優化 agent 的設計,通過快取、模型選擇、結果卸載、迴圈控制和歷史管理五項技術,可以在不損害功能的前提下大幅降低 token 成本。 提示詞快取是基礎:在第一次呼叫時發送完整系統提示詞,之後呼叫則使用縮減版本。這適用於系統提示詞、工具提示詞和訊息,能顯著降低重複成本。
重點整理
重點- 1
提示詞快取是基礎:在第一次呼叫時發送完整系統提示詞,之後呼叫則使用縮減版本。這適用於系統提示詞、工具提示詞和訊息,能顯著降低重複成本。
- 2
模型選擇要差異化:不應該所有任務都使用最昂貴的模型。應根據難度判斷——簡單任務用 Claude Haiku,中等難度用 Claude Sonnet,複雜任務才用最新的前沿模型。甚至可以用一個便宜模型來決定使用哪個模型。
- 3
工具結果的管理至關重要:大型工具結果應儲存在本地或雲端,再用總結技術處理。這樣在 agent 重複呼叫時,就不會每次都把整個工具結果丟回語言模型,造成 token 的大量消耗。
- 4
迴圈控制和監控可防止浪費:設置最大迭代次數防止無限迴圈,並使用可觀性工具檢查每個工具的執行時間和迴圈次數,找出低效之處並改進。
實用技巧與重點
乾貨- AWS Bedrock Agents(示例使用的框架)
- 模型選擇方案:Claude Haiku(便宜選項)、Claude Sonnet(中等難度)、新型前沿模型(困難任務)
- 滑窗對話管理器(Sliding Window Conversation Manager):預設保留最後 10 則訊息,可自訂
- 可觀性工具:用於監控工具呼叫時間和迴圈次數
- 具體問題舉例:多輪對話會造成對話歷史「數百甚至數千 tokens」的消耗
- 講者聯繫方式:LinkedIn - Eric Hanchett;部落格 - programwitheric.com;社群媒體 - @EricCH
結論
結論“系統性地優化 agent 的設計,通過快取、模型選擇、結果卸載、迴圈控制和歷史管理五項技術,可以在不損害功能的前提下大幅降低 token 成本。”
完整解析
詳細在構建和使用 AI agents 時,token 成本往往是被忽視的優化點。講者 Eric Hanchett 從 AWS 的實踐經驗出發,提出了五個可行的成本控制策略。
首先是提示詞快取。這個技術的核心是在代碼中設置 cache_prompt 等於 default,使得完整的系統提示詞只在第一次呼叫時傳輸,之後的呼叫都會使用一個縮減版本。這個方法同樣適用於工具提示詞和訊息快取,是最直接的成本削減手段。
其次是智慧的模型路由。許多開發者傾向於為所有任務使用最貴的模型,但實際上可以根據任務難度選擇。簡單的邏輯判斷或數據提取可以用 Claude Haiku 這樣的便宜模型,中等複雜度的任務用 Claude Sonnet,只有真正困難的推理任務才需要最新的前沿模型。甚至可以先用一個便宜模型來評估任務難度,再決定使用哪個模型,這樣能大幅降低成本。
第三個策略是卸載工具結果。當 agent 呼叫工具後會獲得大量結果,如果每次 agent 迴圈都把完整結果傳回語言模型,token 消耗會非常驚人。解決方案是把大型工具結果儲存在本地或雲端,使用總結技術將其壓縮,這樣在重複呼叫時就只傳遞摘要而非完整結果。
第四點是迴圈控制。講者提到曾遇過 agent 不停呼叫同一個工具的情況,如果沒有設置最大迭代次數,可能會迴圈 10、20 次甚至陷入無限迴圈。在部署前應該用可觀性工具監控每個工具呼叫的耗時和迴圈次數,找出低效的地方進行改進。
最後是歷史記錄修剪。多輪對話中,完整的對話歷史會不斷增長,每次新訊息都要把整個歷史傳回給語言模型,這可能消耗數百甚至數千 tokens。AWS Bedrock Agents 提供了「滑窗對話管理器」(預設保留最後 10 則訊息),只發送必要的最近訊息。權衡是會失去早期的對話上下文,解決方案是對早期歷史做總結,放入上下文窗口,這樣既節省 token 又保留重要資訊。
關鍵時刻
Pipeline v2帶時間戳的重點,會在逐字稿層級分析上線後產生。目前請先透過原始影片觀看。
事實查核
Pipeline v2說法查證是下一次管線升級的一部分。KeyFrame 只會顯示它真正能驗證的內容。


