Show HN:Memharness – AIエージェントの二時制メモリ、単一SQLiteファイルで実現
Memharnessは、AIエージェント向けの長期記憶ライブラリで、SQLiteベースの二時制・来歴追跡可能な事実ストレージを提供します。タイムトラベルクエリ、修正履歴、出典追跡をサポートし、完全にオフラインかつ決定論的に動作します。
Memharnessは、AIエージェント用の長期記憶ライブラリで、単一のSQLiteファイルに二時制かつ来歴を保持する事実を保存します。多くのエージェントの記憶が単なる文字列の集まりであるのに対し、Memharnessは三つの重要なセマンティクスを組み合わせます。
第一に二時制:各事実は、それが現実で真となった時刻(valid_from/valid_to)と、エージェントが学習した時刻(tx_at)を別々に記録します。これにより「3月1日にあなたは何を信じていたか?」といった質問が可能になります。第二に、修正は古い事実を上書きせずに閉じ、後続の事実にリンクします。そのため「訂正前はどう思っていたか?」という質問にも答えられます。第三に、すべての事実には出典(誰が、どこで、いつ言ったか)が付与され、「なぜそれを信じるのか?」や「そのセッションの記憶をすべて消去して」という要求にも応えられます。
ストレージ層は決定論的で、LLMやネットワーク呼び出しを一切行いません。単なるSQLiteファイルなので、任意のクライアントで開けます。MCPプロトコルを介してエージェントに露出されます。
Memharnessが適しているのは、記憶がコンテキストウィンドウを超える場合、監査証跡が必要な場合、出典に基づく削除が必要な場合、信念が時間とともに変化する場合です。小規模で静的な記憶には、CLAUDE.mdなどの単純なファイルシステムの方が適しています。
競合(mem0、Zep、Lettaなど)と比較して、Memharnessは自動的な事実抽出を行わず、書き込みパスをモデルフリーに保ちます。その代わりに、決定論的で監査可能なストレージ層を提供し、二時制と出典のクエリを実現します。
プロジェクトはnpmパッケージとして公開されており、コアTypeScriptライブラリ(@memharness/core)、MCPサーバー(@memharness/mcp)、オプションの埋め込みモデル(@memharness/embed)を含みます。Claude CodeなどのMCPクライアントに簡単に統合できます。
七つのツール(remember、recall、revise、diff、why、forget、stats)を提供し、各操作は決定的かつ効率的です。ランダム化プロパティテストにより正確性を保証し、10万件の事実で約1.3ミリ秒のクエリ応答時間(p95)を達成しています。
ライセンスはApache-2.0で、完全にオープンソースです。