AI News HubLIVE
站內改寫2 分鐘閱讀

如何為AI Agent構建記憶系統

本文介紹了為AI Agent新增記憶功能的實用方法,包括短期記憶和長期記憶的概念、追蹤分析以及如何利用LangSmith工具實現記憶迴圈,從而讓Agent從以往互動中學習並改進行為。

如何為AI Agent賦予記憶能力

讓Agent從以往的行動中學習,是打造優秀Agent體驗的關鍵。這種能力通常被稱為“記憶”。有了記憶,Agent無需使用者反覆糾正同一個錯誤,而是能在第一次被告知後正確執行任務。雖然在實現上仍在不斷演進,但其核心抽象概念已經清晰:你需要一個後臺程序,用於發現Agent犯錯或學到新資訊的地方,並將這些資訊提取並泛化為一個資料結構。

本文將透過一個具體實現來演示這一過程,使用LangSmith的可觀測性作為追蹤儲存,LangSmith Engine作為分析追蹤的程序,以及LangSmith Context Hub作為記憶儲存。

什麼是記憶?

記憶是Agent在多次執行中可以檢索的持久化上下文,用於指導其行為。它可能包括事實、偏好、以往互動、指令、技能、示例和學習到的模式。追蹤記錄或日誌是事件發生的證據,只有當相關的經驗被轉換為Agent在後續執行中可檢索的上下文,並用於改變其行為時,它才成為真正的記憶。

為了更好地組織記憶,可以將其分為短期記憶和長期記憶。短期記憶是Agent執行當前任務時的可用上下文,例如當前執行緒、最近訊息、工具結果、檢索到的文件、中間推理產物、臨時檔案或狀態。長期記憶則是跨越當前執行的持久化上下文,包括事實、偏好、示例、工作流、策略、指令和技能。

兩者之間的關係是一個讀寫迴圈。在執行中,Agent受益於長期記憶,前提是系統透過提示組裝、儲存檢索、工具訪問等方式使其可用。執行結束後,追蹤提供了事件證據,其中大部分應保留為歷史,但部分包含有用訊號:可記住的偏好、需澄清的指令、應成為規則的工具有使用模式或需更新的技能。

一種有用的長期記憶分類方式借鑑自認知科學:語義記憶(Agent知道的事實和知識)、情景記憶(Agent的過往經歷)和程式記憶(Agent的行為方式——指令、工作流、策略、技能和工具使用規則)。許多顯著的Agent行為改進來自程式記憶。

高層記憶過程

一個運作良好的Agent記憶迴圈包括三個部分:

  1. 捕獲追蹤:追蹤記錄Agent完成任務的路徑:使用者輸入、模型呼叫、工具輸入輸出、檢索文件、路由決策、延遲、錯誤和使用者反饋。這對於理解Agent行為至關重要,因為Agent的意外行為可能源於多種原因。
  1. 分析追蹤:從追蹤中找到有用訊號。訊號可能來自顯式反饋、評估失敗或重複出現的模式。難點在於診斷——相同的症狀可能對應不同的修復方法。
  1. 更新記憶:理解訊號後,系統決定是否需要改變未來上下文。這包括修復問題(如澄清指令或更改路由規則),也包括記住有用的資訊(如使用者偏好或成功的示例)。

使用LangSmith實現

LangSmith提供了完整的記憶迴圈工具:LangSmith Observability用於捕獲追蹤,LangSmith Engine用於分析追蹤,LangSmith Context Hub用於更新記憶。

追蹤提供了捕獲步驟,追蹤專案儲存了Agent的軌跡。Engine作為後臺程序,將追蹤轉化為改進訊號——識別重複問題、診斷根因、提出具體變更建議(如新增規則、移動指令、建立新示例、更新技能或更改路由策略)。Context Hub作為版本化管理指令、工具和技能的地方,確保記憶不是臨時性的修改。

上下文更新後,後續執行載入最新的上下文,從而閉合迴圈。

設計原則

  • 並非所有資料都應成為記憶更新:大多數追蹤資料應保留為歷史,僅一小部分成為持久上下文。
  • 確保後續執行能夠讀取更新:如果執行時快取了提示、工具或技能,記憶提交後需要重新整理路徑。
  • 用評估保護重要行為:如果記憶更新足夠重要,應具有檢測行為退化的方法。

透過這種結構化的方式,開發者可以逐步構建出能夠學習和適應的AI Agent系統。