你正在構建一個智能體,它在多個對話回合里回答問題,到第三回合已經把第一回合學到的東西忘光了。本能反應是給它前面掛一個向量數據庫——現在它記住了所有東西的模糊平均值,按余弦距離排序,前言不搭后語,分不清三周前的偏好和一個過時的隨口一說。換用圖數據庫,你能得到結構,但代價是增加第二套持久化模型,帶自己的查詢語言和部署方式。用托管記憶服務,幾行代碼就能起步,可你的智能體記住什么、忘記什么的決策權也一并交給了別人的基礎設施。
這些方案底下藏著同一個問題:如果每個看似靠譜的事實都在出現瞬間就被寫入記憶,那記憶就變成了堆積層,而不是判斷層。Engrava 對這個問題的回答是本地化、結構化、刻意挑選哪些內容留在伸手可及的范圍里。它的建造方式和理由,下面展開。
在觸及存儲設計之前,團隊花了很長時間翻閱認知架構研究,反復追問一個問題:如果一個長期運行的智能體需要記憶,并且這份記憶必須保持可檢查,那它到底需要什么?正是這個發問角度,讓 Engrava 成為一個類型化圖譜,而不是一袋子嵌入向量;讓鞏固過程保持確定性,而不是扔給大語言模型去重寫;讓信息提取發生在數據庫之上,而不是藏進數據庫內部。
Engrava 到底是什么?它是一個帶混合搜索的類型化知識圖譜,裝在一個單獨的 SQLite 文件里。想法是節點,帶類型的邊承載平面向量無法表達的關系——比如 A 導致 B,C 是 D 的特化。檢索時融合向量相似度、關鍵詞匹配、新鮮度和優先級,而不是單靠余弦距離。開啟日志后,每一次想法和邊的變動都會被記錄在一條防篡改的 SHA-256 鏈上。以上就是免費版本的全部內容。
鞏固機制是怎么運轉的?每個想法都有一個優先級,每次鞏固循環運行時都會重新計算一遍。這個循環是一次確定性地掃描整個存儲,衡量五個信號:新鮮度、陳舊度、確認次數、置信度和出現頻率。它們合成一個分數,再跟幾個門檻比較,決定是否把想法提升到活躍記憶集合。默認參數刻意偏向保守:最少確認次數設為 2,意味著智能體只見過一次的事實不會被升格——它仍然可被檢索,只是不會進入活躍集,直到智能體再次確認它為止。這就是鞏固循環的目的:讓記憶保持為判斷層,避免單次噪聲輸入重塑智能體對既定事實的認識。整個過程中沒有語言模型調用、沒有網絡請求、沒有重新計算嵌入向量——就是跑在 SQLite 行上的算術,相同輸入每次得到相同輸出。
正方觀點很明確:把記憶做成判斷層,而非簡單堆積,讓智能體在長期運行中更可靠。本地單文件部署、類型化圖譜、確定性鞏固,既保留了結構化推理能力,又避開了對遠程服務和黑箱重寫步驟的依賴。反方可能會說,保守的確認門檻會讓智能體反應變慢,它需要反復接觸同一事實才能納入活躍記憶,這對于快速變化的場景可能不夠靈敏。不過,這個取舍正是設計者刻意為之——他們寧愿慢一點確認,也不要讓一次噪聲污染整個記憶池。對一個需要可檢查、可審計的長期智能體來說,這個判斷站得住腳。
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.