View a markdown version of this page

事件記憶體策略 - Amazon Bedrock AgentCore

事件記憶體策略

事件記憶體會擷取有意義的使用者和系統互動切片,讓應用程式能夠以一種感覺集中和相關的方式來調用內容。它不會儲存每個原始事件,而是識別重要的時刻、將它們摘要為精簡的記錄,並整理它們,以便系統擷取重要的內容而不會產生噪音。這可讓模型了解內容如何隨著時間演進,進而建立更具適應性和智慧的體驗。

它的強度來自具有跨越許多互動的結構化內容,同時保持儲存、搜尋和更新的效率。開發人員可以在新鮮度、準確性和長期持續性之間取得平衡,而不需要自行設計摘要管道。

透過分析過去事件以呈現洞察、模式和更高層級的結論,反射以偶發記錄為基礎。反射不會只是擷取發生的情況,而是協助系統了解特定事件為何重要,以及它們應如何影響未來的行為。它們將原始體驗轉換為應用程式可立即使用的指導方針,讓模型能夠從歷史記錄中學習。

他們的價值來自於在個別時刻或事件上提升資訊,並建立持久的知識來改善決策、個人化和一致性。這有助於應用程式避免重複錯誤、更快速地適應使用者偏好設定,以及長時間採取一致的行為。

客戶應在了解一系列過去互動可改善品質的任何案例中使用偶發記憶體,以及需要長期改善的情況。理想的使用案例包括客戶支援對話、客服人員驅動的工作流程、依賴工作階段歷史記錄的程式碼助理、個人生產力工具、故障診斷或診斷流程,以及需要以真實先前事件為基礎而非靜態設定檔內容的應用程式。

當您調用情節策略時,AgentCore 會自動偵測對話中的片段完成,並將事件處理為結構化片段記錄。

策略中的步驟

附加記憶體策略包括下列步驟:

  • 擷取 – 分析進行中的片段,並判斷片段是否完成。

  • 合併 – 當片段完成時, 會將擷取合併為單一片段。

  • 反射 – 各集之間產生洞見。

策略輸出

附加記憶體策略會針對片段和反射傳回 XML 格式的輸出。每個單元都分為一個情況、意圖、評估、理由和單元層級的反映。隨著互動的進行,會turn-by-turn分析片段。您可以使用此資訊來進一步了解操作和工具使用的順序。

此策略擷取的片段範例

  • 程式碼部署互動,其中客服人員選取特定工具、發生錯誤,並使用替代方法成功解決。

  • 會擷取使用者意圖、客服人員使用特定工具的決定,以及成功結果的預約重新排程任務。

  • 記錄哪些參數為特定資料類型提供最佳效能的資料處理工作流程。

附加策略包括記憶體擷取和合併步驟 (與其他策略共用)。此外,偶發策略也會產生反射,在互動發生時分析背景中的片段。反射會跨多個單元合併,以擷取更廣泛的洞見,以識別成功的策略和模式、潛在的改進、常見的失敗模式,以及跨多個互動學到的經驗。

反射的範例包括

  • 識別哪些工具組合一致地導致特定任務類型的成功結果。

  • 辨識失敗嘗試中的模式,以及解決這些嘗試的方法。

  • 從具有類似案例的多個成功片段中擷取最佳實務。

下圖將偶發記憶體策略進行結構化:

偶發記憶體策略的結構描述。

透過參考預存片段,您的代理程式可以透過語意搜尋擷取相關的過去體驗,並檢閱反射,以避免重複失敗的方法,並根據新內容調整成功的策略。此策略對於受益於識別模式、需要持續更新資訊、保持互動之間的一致性,以及需要內容和推理,而不是靜態知識來做出決策的客服人員很有用。

命名空間

當您使用情節策略建立記憶體時,您可以定義要存放片段和反射的命名空間。

注意

無論您選擇存放集的命名空間為何,集一律會從單一工作階段建立。

事件通常存放在下列其中一個命名空間中:

  • /strategy/{memoryStrategyId}/ – 將片段存放在策略層級。具有不同演員或來自不同工作階段,但屬於相同策略的片段會存放在相同的命名空間中。

  • /strategy/{memoryStrategyId}/actor/{actorId}/ – 將所有片段存放在演員層級。來自不同工作階段但屬於相同演員的片段會存放在相同的命名空間中。

  • /strategy/{memoryStrategyId}/actor/{actorId}/session/{sessionId}/ – 將所有片段存放在工作階段層級。屬於相同工作階段的片段會存放在相同的命名空間中。

反射必須符合與片段相同的命名空間模式,但反射可以減少巢狀化。例如,如果您的偶發命名空間是 /strategy/{memoryStrategyId}/actor/{actorId}/ ,您可以使用下列命名空間進行反射:

  • /strategy/{memoryStrategyId}/actor/{actorId}/ – 將在演員的所有片段中擷取洞見。

  • /strategy/{memoryStrategyId}/ – 將在策略的所有集和所有演員之間擷取洞見。

重要

由於反射可以在相同的記憶體資源中跨越多個演員,因此在擷取反射時,請考慮跨演員分析的隱私權影響。如果這是問題,請考慮將護欄與記憶體搭配使用,或在演員層級進行反射。

如何最佳擷取片段以改善代理效能

有多種方式可以利用偶發記憶體:

  • 在您的客服人員程式碼中

    • 啟動新任務時,請設定您的代理程式執行查詢,要求最相似的片段和反射。同時根據某些邏輯,查詢後續的相關事件和反射。

    • 使用 CreateEvent 建立短期記憶體時,包括TOOL結果將產生最佳結果。

    • 對於類似的成功片段,將片段中的轉彎線性化,並僅將此提供給代理程式,使其專注於主要步驟

  • 手動

    • 查看您的反映或不成功的事件,並考慮是否可以透過更新代理程式程式碼來解決某些問題

執行擷取時,請注意記憶體記錄會根據片段的「意圖」和反射的「使用案例」編製索引。

對於其他記憶體策略,記憶體記錄會在互動期間定期產生。反之,只有在 AgentCore 記憶體偵測到已完成的片段時,才會產生事件記憶體記錄。如果片段未完成,產生 需要更長的時間,因為系統會等待確認對話是否繼續。