記憶提供者
這是什麼
為代理儲存或擷取記憶記錄的後端服務。
白話解釋
記憶提供者是在幕後實際運作的儲存業務,就像餐廳把外套交給衣帽間,而不是自己經營儲藏室。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 用於鏡像內建儲存剛保存的內容。Hermes 附帶的插件以不同方式實作了這個介面:mem0 進行伺服器端 LLM 事實提取並去重,Honcho 建立跨工作階段的使用者模型並可透過自己的問答功能查詢。