記憶提供者
這是什麼
在代理背後負責儲存或擷取記憶紀錄的後端,每次只由協調層選用一個外部實作。
白話解釋
記憶提供者是幕後真正處理儲存的服務,就像餐廳把客人的外套交給衣帽間,而不自己經營儲藏室。Hermes 規定任何衣帽間都要有相同的基本能力:接收項目、需要時取回並妥善關閉;mem0 或 Honcho 等服務則各自實作這套介面。
為什麼重要
記憶抽象層背後仍要有真正的儲存後端。Hermes 提供 mem0、Honcho、OpenViking 等服務的外掛程式,各有不同的擷取邏輯;MemoryManager 在協調層以相同方式使用它們,因此切換提供者只需更換外掛程式,不必重寫代理其他部分的記憶流程。這種分離讓個人可只用輕量內建儲存區,而團隊部署可改接託管提供者。
運作方式
任何實作 MemoryProvider 介面(agent/memory_provider.py)的類別都能成為記憶提供者。介面包含確認是否已設定的 is_available、啟動時連線的 initialize、每輪前取回相關上下文的 prefetch、完成後寫入互動的 sync_turn,以及可供模型直接呼叫的工具結構定義。選用掛鉤還能回應工作階段邊界:on_session_end 在結束時摘要、on_pre_compress 在舊訊息丟棄前保存洞察、on_memory_write 鏡像內建儲存區剛寫入的內容。各外掛程式有不同實作:mem0 在伺服器端以 LLM 擷取並去重事實,Honcho 建立跨工作階段的使用者模型並透過自己的問答功能查詢(plugins/memory/honcho/plugin.yaml),Hindsight 則維護含實體解析的知識圖譜。
具體範例
一個家庭在小型 VPS 上執行 Hermes,覺得內建筆記檔不夠,於是安裝 Honcho 外掛程式作為記憶提供者。is_available() 先確認 API key 已設定,因此它和內建儲存區同時啟用。每輪前,prefetch() 取回數週前推斷的固定專案期限;工作階段結束時,on_session_end() 把尚未送出的互動同步到 Honcho 伺服器。日後改用 mem0,也不必修改其他記憶流程。
如何連結
「記憶提供者」屬於「記憶」系列。最直接相關的概念包括:「記憶管理器」、「長期記憶」、「代理執行環境」、「個人作業系統」。這些連結描述教學關係,不取代來源證據。
來源證據
agent/memory_manager.py#agent.memory_manager.MemoryManager— 精確符號對應;已對照釘選版本驗證。
工作流程
- 目前尚無第一輪工作流程對應;此概念仍透過文章與來源證據出現在知識庫圖譜中。
