01書き込み許可ゲート
出典の含意で各書き込みを許可・降格・拒否。ここの競合は持っていません。
エージェント・メモリの問題
Verimem は永続メモリ層です。その add() はすべての書き込みを反作話の許可ゲートに通し——出典は本当にその事実を含意するのか?——その search() は読み取りごとに来歴を返します。ドアに公証人を置いた海馬です。
✓ 100% 無料&オープンソース —— MIT ライセンス。セルフホスト・ローカルファースト:アカウント不要、API キー不要、課金なし。
他のメモリ層は抽出器が出したものを何でも保存します。Verimem は違います。
書き込み時、候補となる事実は許可・降格・拒否のいずれかになります——引用元が本当にそれを含意するかで決まります。安価で LLM 不要の字句スクリーンがまず 「動く / 検証済み / 完了」 のような裏付けのない主張を降格し、最も厳格なモードでは出典⊢事実の含意チェックを加えます。SNLI で測定すると AUROC 0.971 に達し、この数値はジャッジに依存しません。
mem0、Zep、Letta、Cognee、MemOS を構造的に精査したところ、いずれも書き込み許可ゲートを持っていません。このゲート——そして読み取りごとに戻る来歴——こそが要点のすべてです。
図解 —— 3つの裁定で見るゲート
読み取りはテキストだけを返すのではなく——各事実について書き込み時の status と grounding_score を返します。だからコードは盲信せず信頼度で条件分岐できます。そして update() は古い事実を決して破棄せず、置き換え(supersede)て、監査可能な history() の軌跡を残します。
memory.py · 書き込みはゲートを通り、読み取りは来歴を返す
from engram import Memory
mem = Memory() # local SQLite, offline
mem.add("The deployment uses PostgreSQL 16.") # write goes THROUGH the gate
for hit in mem.search("which database?"): # read returns provenance
print(hit["text"], hit["status"], hit["grounding_score"])
# -> The deployment uses PostgreSQL 16. ADMITTED 0.97 | 指標 | 結果 | 記録として |
|---|---|---|
| 書き込みゲートの entailment | AUROC 0.971 | 出典⊢事実、ジャッジ非依存(SNLI)。書き込み経路の堀。 |
| 下流のハルシネーション | 95.9% → 12.2% | −83.7 pp;McNemar p≈6e-44、2つのシードで再現。仕組みは作話を棄権に変換すること(欠落 3%→85%)で、正確さを上げるのではありません——そしてこの腕はジャッジに結合しています。 |
| クリーンな事実の過剰拒否 | 30–39% | 厳格な閾値での正直なコスト。蒸留したローカルゲート(v2)はクリーンな事実の 0.924 を許可し、これを大きく埋めます。 |
| Retrieval recall@5 · LongMemEval-s | 0.8745 | フル500、ジャッジなし、同一の e5 エンベッダー、外部API ゼロ。Fusion ON 対 0.8525 OFF(+2.2 pp)。以前の n=300 は 0.909 —— 楽観的で、フル500 の数字が正直なものです。これは recall@k であり、エンドツーエンドの QA 正確度ではありません。 |
| イタリア語の retrieval | MRR +52% | e5 エンベッダーへの切替で 0.466 → 0.710、英語の劣化はゼロ。 |
| 矛盾検出 · HaluMem | TPR 0.66 / FPR 0.0125 | 時間的スーパーセッション修正の後。 |
| テストスイート | 5,830 グリーン | テストファイル 764、約8.4万行。自前実行、リポジトリから再現可能。 |
ここの各数値は自前実行でリポジトリから再現可能です——第三者ランキングの順位ではありません。retrieval の数値は recall@k であり、Mem0 や Zep が掲げるエンドツーエンドの QA 正確度ではないため、直接は比較できません。
出典の含意で各書き込みを許可・降格・拒否。ここの競合は持っていません。
各事実が status + grounding_score を返す。update() は置き換え、history() は監査可能なまま。
valid_until のハード失効 —— 事実がいつ真でなくなったかを知るメモリ。
Hosted MCP モード:API キー不要、トークン課金なし —— ホストの LLM が処理します。
書き込み時の prompt-injection 防御 —— 英語だけでなくイタリア語も含む。
セッション開始時に 228 のメモリツール。Claude Code、Cursor、Cline、Continue、Zed に対応。
| システム | 書き込みゲート | 読み取りの来歴 | アプローチ | 成熟度 |
|---|---|---|---|---|
| Mem0 | ✗ | ✗ | フラットベクトル + LLM 要約 | 確立、広く採用 |
| Zep / Graphiti | ✗ | 部分的(時間的) | 時間的ナレッジグラフ | 商用、成熟 |
| HippoRAG | ✗ | ✗ | OpenIE + PageRank | 研究 |
| Verimem | ✓ | ✓ | 融合リコール + ゲート + 睡眠統合 | できたて · 採用はまだ 0 |
競合のスコアや採用は出典や時期で変動します。私たちが立つ2つの列——書き込みゲートと読み取りの来歴——は構造的な精査から来ており、マーケティング表からではありません。
できたての公開リリース。まだ誰も依存していません——メンテナの日常利用を除けば、私たちも。
今のところソース / git から導入。engram-memory パッケージは v0.4.0 以降の目標です。
各数値はリポジトリから再現できますが、第三者監査は受けていません。認証済みではなく再現可能として扱ってください。
単一ユーザーかつローカル。マルチテナントのスコープは事実層にありますが、ホスト型 / 分散ストアはありません。
エンティティ+PageRank エンジンは実データで稼働しますが、抽出器は決定論的な regex で、バックフィルとして実行 —— まだライブの書き込み経路には接続されていません。
敵対的レビューが最初の answer-conditioning デモを誇張と判定。自らの証拠で立つのは書き込み経路の堀だけ —— だから主張もそれだけです。
① Python —— ソースから
pip install "git+https://github.com/aureliocpr-ctrl/verimem.git" engram コマンドと from engram import Memory SDK を提供。ローカル SQLite、オフライン、ゲートはデフォルトで有効。
github.com/aureliocpr-ctrl/verimem ↗ · MIT · README · BENCHMARKS.md
② MCP サーバーとして —— Claude Code、Cursor、Cline、Zed
{
"mcpServers": {
"engram": {
"command": "engram",
"args": ["mcp"],
"env": { "ENGRAM_HOSTED": "1" }
}
}
} ホストを再起動すると、メモリツールがAPI キー不要で呼び出せます。エンジンは現在 engram として配布 —— Verimem への改名は進行中です。