旅遊與訂位代理
天氣、匯率與空位查詢會在不同旅客與規劃步驟之間重複出現。每個結果在每個 TTL 內只擷取一次。
代理會一再以相同的參數呼叫相同的工具。把結果記憶化,就不必再為同一個 API 呼叫付兩次錢。
天氣變化緩慢,因此結果保留 15 分鐘。
以真實 HotKV 指令與範例回覆呈現的動畫導覽。點擊任一步驟即可跳到該步驟。 指令與回覆維持英文,與您在 HotKV 中輸入及看到的完全一致。
代理會不斷迴圈。它們在一次執行中會多次查詢相同的天氣、相同的匯率、相同的 SQL 結果與相同的網頁,下一次執行又再來一遍。每次呼叫都會耗費延遲、速率限制,往往還有金錢,而緩慢的工具會讓代理的每一步都變慢。
工具快取會以工具名稱與其參數組成的鍵,記憶化具決定性的工具呼叫。呼叫工具之前,代理先詢問快取。命中就立即傳回儲存的結果,未命中則呼叫工具一次,並以符合所需新鮮度的 TTL 儲存結果。
天氣變化緩慢,因此結果保留 15 分鐘。
TOOL.CACHE.CREATE tools MAX_ENTRIES 100000 TTL 900這組參數還沒有任何快取。
TOOL.CACHE.GET tools "get_weather(city=Lisbon)"實際呼叫 API,並將結果快取 15 分鐘。
TOOL.CACHE.SET tools "get_weather(city=Lisbon)" "{\"temp_c\":21,\"sky\":\"clear\"}" TTL 900代理規劃第二天的郊遊並再次詢問。其他代理為其他旅客詢問時也是如此。
TOOL.CACHE.GET tools "get_weather(city=Lisbon)"依命名空間回報命中、未命中與節省的用量。
TOOL.CACHE.STATS tools天氣、匯率與空位查詢會在不同旅客與規劃步驟之間重複出現。每個結果在每個 TTL 內只擷取一次。
唯讀的 SQL 查詢與儀表板指標會被記憶化,因此探索資料的代理不會狂轟資料倉儲。
擷取並解析過的網頁會被快取,因此同一個頁面不會在每次執行時重複下載。
鍵由工具名稱與其參數組成,因此每個不同的呼叫都會分別快取。
TOOL.CACHE.GETTOOL.CACHE.SET每個命名空間有預設 TTL,每個項目另可選用自己的 TTL。
TTL每個命名空間有項目數上限,滿了就會淘汰。
MAX_ENTRIES命中、未命中、淘汰、記憶體與節省的用量。
TOOL.CACHE.STATS具決定性的唯讀呼叫,例如結果只取決於參數的查詢、搜尋與查閱。絕不要快取會改變某些東西的工具,例如寄送電子郵件。
可以。TOOL.CACHE.DEL 會移除單一項目,TOOL.CACHE.FLUSH 則會清空整個命名空間。
工具快取屬於 Performance 與 Scale 方案。