AI Agent 記憶大混戰:Mnemo、piia-engram、OpenContext 三種路線點揀?
我哋班用 AI coding agent 嘅人,遲早會撞到同一幅牆:每次開新 session,個 agent 就失憶。明明上個星期先決定咗用乜嘢架構、發現咗邊個地雷、約定咗 coding convention,佢全部唔記得。你要重新餵一次 context,重新解釋一次背景。呢個唔係 UX 問題,而係 architecture 問題——stateless agent 根本唔適合做持續性嘅工程工作。
今年上半年,有三個 open-source 項目從唔同角度攻擊呢個問題:Mnemo、piia-engram、同 OpenContext。佢哋唔係 compete,而係代表三種根本唔同嘅 memory architecture 路線。搞清楚佢哋嘅分別,你先至知點樣喺自己嘅 workflow 裏面組合運用。
Mnemo:Local-First Knowledge Graph 路線
Mnemo 嘅做法係最「重」嘅。佢唔單止係一個 memory store,而係一個完整嘅 knowledge graph + vector search + tiered memory 系統。佢用 SQLite 做本地儲存,行 BM25 + vector + graph 三重檢索,仲有 Ebbinghaus 遺忘曲線做 memory decay。最新版嘅 mnemo-ai(@mnemoai/core)仲加入咗 Weibull decay 同 contradiction detection,喺 LoCoMo benchmark 排第二。
Mnemo 嘅核心假設係:agent 唔單止需要記住 fact,仲需要理解 fact 之間嘅關係。所以佢唔係就咁 key-value store,而係將每個 memory 分類(architecture、pattern、bug、preference、decision),仲會自動 detect contradiction——如果你今日話要用 PostgreSQL,聽日又話用 SQLite,佢會 detect 到衝突並 supersede 舊嘅 decision。
對香港 developer 嚟講,Mnemo 最吸引嘅係「100% local,zero config」。唔使開 account、唔使畀月費、唔使 dependency on 任何 cloud service。裝完 mnemo init 就用得,啱晒我哋呢啲鍾意自己控制 infrastructure 嘅人。
piia-engram:Memory Layer Middleware 路線
piia-engram 行嘅係完全另一條路。佢嘅定位唔係「agent memory database」,而係「developer identity layer」。佢唔記你個 session 發生過啲乜,而係記「你係邊個」——你嘅 coding preference、quality bar、lesson learned、key decisions。
呢個分別好關鍵。Mnemo 記嘅係「呢個 project 發生過乜」,piia-engram 記嘅係「呢個 developer 係點做嘢」。所以佢嘅 data model 有 profile、code standards、lessons、decisions 呢類 structured field,唔係 general-purpose entity memory。
piia-engram 嘅另一特點係 middleware 思維。佢用 MCP server 做 bridge,一個 JSON file 畀 Claude Code、Codex、Cursor、Windsurf 同時讀。你喺 Claude Code 記低嘅 lesson,轉頭開 Cursor 即刻用到。呢種 cross-tool portability 係佢最大嘅 value proposition——尤其係我哋呢啲成日喺幾個 agent tools 之間跳嚟跳去嘅人。
OpenContext:Embedded Context Management 路線
OpenContext 嘅取向又唔同。佢唔係 memory system,而係一個「context engineering runtime」。佢嘅核心係一個 oc CLI + MCP server + desktop GUI + Web UI,用嚟管理一個 global contexts/ library。
OpenContext 最有趣嘅概念係「subscription」。唔係所有 memory 都要塞畀 agent——你嘅 coding agent 只需要知 touched files、failed tests、recent prompts,但你嘅 research agent 可能需要睇到 browser activity。OpenContext 嘅 collector architecture 可以 filter events by subscription,然後 compile 成 agent-readable memory。
另一個 killer feature 係佢嘅 security model:deny-by-default、no external calls、secrets redacted before prompts。對於要處理 sensitive codebase 嘅香港 dev 團隊,呢個係好大嘅 selling point。
三條路線點揀?
坦白講,呢三個工具唔係 mutually exclusive。佢哋解決嘅係唔同 layer 嘅問題:
Mnemo 係解決「agent 唔記得自己做過乜」——適合你主力用一個 agent tool、想做 deep session continuity。如果你用 Claude Code 做主力、想佢記住 architecture decision 同 code pattern,Mnemo 係最好選擇。
piia-engram 係解決「agent 唔記得你係邊個」——適合你用多個 agent tools、想有一致嘅 developer identity。如果你成日 Codex 做完 research、Cursor 寫 code、Claude Code 做 review,piia-engram 可以確保佢哋全部都知你嘅 preference 同 standard。
OpenContext 係解決「context 嘅管理同分發」——適合團隊協作、有複雜嘅 multi-agent workflow。如果你需要精準控制每個 agent 見到咩 context、要有 audit trail、要 security policy,OpenContext 嘅 subscription 同安全模型係最強。
我嘅建議係:如果你只係單人開發,由 Mnemo 開始,佢最快見到效果。如果你 crossover 幾個 tools,加個 piia-engram 做 identity layer。如果你嘅 agent workflow 開始牽涉團隊或者 sensitive data,認真睇 OpenContext。三層疊加用,效果仲好過揀一個。