代理框架
Lemmalog 以 Datalog 維護代理記憶,事實撤回可自動失效下游結論
Lemmalog 將代理記憶拆成由 LLM 擷取的事實,以及由規則引擎維護的可驗證狀態。初步評測顯示它能大幅縮短回答階段的上下文,但整體準確率仍受事實擷取與實體對齊限制。

Lemmalog 把長期代理記憶重新定義為「持續更新的演繹資料庫」,而非從歷史對話中搜尋相似片段。LLM 負責把自然語言、程式碼或除錯輸出轉成結構化事實;Rust 寫成的 Datalog 引擎則計算規則閉包、保存有效時間與來源,並在基礎事實被修正時,只重算受影響的下游結論。這解決了向量搜尋難以處理的問題:一段舊資訊即使語意相關,也可能早已失效。
系統支援分層 Datalog、半樸素固定點計算、負事實撤回、信心與 provenance 標註,以及可顯示推導鏈的 `why()`。名稱正規化會把不同會話中的局部實體映射至共同對象;BM25、實體圖與 embedding 則保留模糊檢索能力。專案另提供 12 個 MCP 工具,Claude Code 或 Kimi CLI 可查詢、安裝規則、模擬 `what_if` 情境及跨會話保存 snapshot。[作者的技術說明](https://pwning.systems/posts/llm-memory-program-analysis/)與 [MIT 授權程式庫](https://github.com/JordyZomer/lemmalog)均已公開。
作者以 Claude Sonnet 4.6 做一次性資訊擷取,再沿用 MemEval 的 reader 與評分流程。三次 LongMemEval 測試平均 F1 為 0.463,低於 PropMem 的 0.550,但回答模型每題只接收約 2,700 token,而完整歷史約為 104,000 token;LoCoMo 的 F1 為 0.533,上下文約縮至六分之一。知識更新與錯誤前提問題表現較突出,跨會話與隱含推理則偏弱。
這些數字尚不能直接換算成成本降幅:建立事實仍須支付一次 LLM 擷取費用,比較系統也未必使用完全相同的前端模型。工程團隊接下來應觀察擷取遺漏、條件式知識表示、多寫入者一致性,以及未受信任內容能否藉由錯誤事實污染整條推導鏈。