第 3 站 · 餵 context該站第 5 / 9 場
省 token 的五個實用技巧
Your Agent Is Wasting Tokens and You Don't Know It - Erik Hanchett, AWS

AWS 資深開發者關係工程師用五分鐘示範五招降低 agent 的 token 成本,從快取到修剪對話歷史都涵蓋。
重點摘要
- 快取 system prompt:Strands Agents 可以把 cache_prompt 設成 default,第一次呼叫送出完整 system prompt,之後每次改送精簡版本,省下重複傳送的花費。
- 依任務難度分流模型:簡單任務交給便宜的模型,困難任務才動用較新的前沿模型,甚至可以用一個便宜模型幫忙判斷該路由到哪裡,不要每件事都用最貴的模型硬做。
- 卸載大型工具結果:工具回傳的大量內容不必每次都塞進對話紀錄,可以先存到本地或雲端,再用摘要方式帶進 context,避免每次迴圈都重複佔用 token。
- 限制工具呼叫迴圈次數:agent 有時會反覆呼叫同一個工具,沒設上限甚至可能跑成無限迴圈,務必設定 max iterations,部署前再用 observability 工具檢查每個工具呼叫花多久、跑幾次。
- 修剪對話歷史:多輪對話累積久了,整段歷史每次都會被送回模型,很燒 token;sliding window 機制只看最近約十則訊息,代價是會遺失較早的內容,可以搭配摘要補回重點。
時間軸9 段
| 00:00 | 開場 | Erik Hanchett 自我介紹,說明這場要示範五種降低 agent token 成本的做法。 |
| 00:21 | 招式一:快取 system prompt | 用 Strands Agents 的 cache_prompt 參數,第一次送完整 prompt,之後改送精簡版本,工具的 prompt 也能比照辦理。 |
| 00:59 | 招式二:依難度分流模型 | 簡單任務用便宜模型,困難任務才動用前沿模型,不要每件事都用最貴的模型處理。 |
| 01:45 | 招式三:卸載工具結果 | 大型工具回傳結果先存到本地或雲端並摘要,避免每次迴圈都整包塞進 context。 |
| 02:51 | 招式四:限制工具呼叫迴圈 | 沒設上限的話 agent 可能反覆呼叫工具甚至陷入無限迴圈,務必設定 max iterations。 |
| 03:47 | 招式五:修剪對話歷史 | 多輪對話累積後整段歷史都會重送,sliding window conversation manager 只保留最近約十則訊息。 |
| 04:25 | 滑動視窗的取捨 | 縮短歷史會遺失最早的對話內容,建議搭配摘要把重點濃縮進 context 補回。 |
| 04:56 | 五招總結 | 重述快取、依難度分流、卸載工具結果、限制迴圈、修剪歷史五個做法。 |
| 05:43 | 結尾 | Erik Hanchett 分享 LinkedIn、部落格與社群帳號,歡迎進一步交流。 |
值得記的話5 句
Now I'm going to show you five ways that you can reduce your token costs while using and creating agents.
現在我要示範五種方法,讓你在打造與使用 agent 時降低 token 成本00:00I highly recommend don't use the most expensive model for everything you're doing.
強烈建議不要每件事都用最貴的模型01:30It might get into an infinite loop, which would be very bad for your token usage.
陷入無限迴圈的話,對 token 用量會非常糟糕03:06So always set a max iterations of how many times it will loop.
一定要設定最大迭代次數,限制它能跑幾輪迴圈03:10So rather than sending all of it, you may send a small amount once you hit this sliding window.
比起整段送出,一旦超過滑動視窗,只要送一小段過去就好04:40
名詞與人物5 個
- Erik Hanchett
- AWS 的資深開發者關係工程師,這場的講者。
- Strands Agents
- AWS 推出的 agent 開發框架,這場所有程式碼範例都用它示範。
- cache_prompt
- Strands Agents 的參數,設成 default 後第一次呼叫送完整 system prompt,之後改送精簡版本。
- sliding window conversation manager
- Strands Agents 內建機制,只保留最近約十則訊息,避免整段對話歷史反覆重送。
- max iterations
- 限制 agent 迴圈最多能跑幾輪的設定,避免工具呼叫跑成無限迴圈。
提到但沒有展開
- 用更便宜的模型幫忙判斷該把任務路由給哪個模型,這場只提了一句就帶過,沒有進一步說明做法。
- Strands Agents 另外提供幾支 API 可以完成同樣的工具結果卸載,這場沒有進一步示範。