AI・機械学習
Show HN: Engrim – AI CLI向けのユニバーサルなローカルファーストSQLiteメモリエンジン
Show HN: Engrim – A universal, local-first SQLite memory engine for AI CLIs (github.com)
要約
Engrimは、AI CLI向けのローカルファーストなSQLiteメモリエンジンです。異なるAIモデルや環境間をプロジェクトの状態を失うことなく切り替え可能にし、コンテキストウィンドウの拡大に伴う注意散漫やコスト増大といった課題を解決します。SQLite FTS5とベクトル埋め込みを組み合わせたハイブリッド検索により、効率的なメモリ管理と迅速なコンテキストロードを実現します。
全文翻訳
engrim ユニバーサルなクロスモデル&クロスエージェントエピソードメモリストア。
ローカルファーストでプロジェクトスコープのSQLiteメモリエンジンであり、開発者はアーキテクチャ上の決定、ユーザーの制約、プロジェクトの状態を失うことなく、同じプロジェクト内でモデルや環境(Google Antigravity, Claude Code, Cursor MCP, Windsurf)を自由に切り替えることができます。
1. コアバリュープロポジション
「毎回20万トークンの忘れられたノイズに料金を支払うのはなぜですか?モデルは使い捨てのユーティリティであり、プロジェクトの決定はそうではありません。」
コンテキストウィンドウが100万トークン以上に拡大するにつれて、開発者は注意散漫(attention dilution)に直面します。推論能力は低下し、会話のたびにコストは増加し、コンテキストをクリアすると完全に記憶喪失になります。
engrim は、4,000文字のキュレーションされたエピソードワーキングメモリで注意散漫を置き換えます。
AIメモリの والأمن (Switzerland of AI Memory): プロジェクトの知能を単一のAIベンダーやプロプライエタリなクラウドサイロから切り離します。プロジェクトの途中でAntigravityのGemini 3.8からClaude CodeのClaude 3.7 Sonnetへ、さらにCursorのGPT-4oへ切り替えても、エージェントは他のエージェントが中断したところからすぐに作業を再開できます。
自律コーディングのためのセーブボタン: 作業中に決定、制約、状態を外部化します。エージェントセッションを自由にクリア(/clear)し、コンテキストがそのままリロードされるのを確認してください。
スマートでホットなコンテキストローディング: SQLite FTS5(bm25キーワード検索)と静的ベクトル埋め込み(model2vec)を、ゼロレイテンシのハイブリッドリシプロカルランクフュージョンエンジンで組み合わせます。
2. 実証的証拠(105セッションのケーススタディ)
50,000行のアルゴリズム取引システムで105回の連続セッションにわたってテストされました。186の単体テストで回帰はゼロ、モデル切り替えでコンテキストの記憶喪失はゼロでした。
実際の資金を運用するアクティブなアルゴリズム取引コードベースでの本番テストでは、数日間にわたるアーキテクチャ、パラメータチューニング、デバッグにわたる153,000トークン以上の作業が、1,000トークン未満(コンテキストウィンドウの1%未満)のアクティブメモリパックに統合されました。これは、セッション再開ごとのリロードコンテキストコストが99%以上削減されたことを意味します。
Google Antigravity CLI、Claude Code、Cursor MCPの間で、モデルのドリフトやアーキテクチャの回帰なしに、同一のリポジトリ上でシームレスに切り替えました。
3. アーキテクチャ
graph TD
subgraph Agents ["Supported Agent Environments"]
AGY["Google Antigravity<br/>(PreInvocation & Stop Hooks)"]
CLAUDE["Claude Code<br/>(SessionStart & Stop Hooks)"]
CURSOR["Cursor / Windsurf<br/>(Model Context Protocol stdio)"]
end
subgraph CoreEngine ["engrim Core Engine (v1.3.0)"]
ADAPTERS["Adapters & Hooks<br/>(agy, claude, mcp)"]
PROVENANCE["Agent Provenance Engine<br/>(origin_agent tracking)"]
ROUTER["Hybrid Retrieval & Minder<br/>(bm25 lexical + vector cosine)"]
end
subgraph Storage ["Local-First SQLite Store (~/.engrim/memory.db)"]
MEMORIES[("Curated Memories<br/>(decisions, facts, feedback)")]
FTS5["FTS5 Full-Text Search<br/>(porter stemmer, triggers)"]
VEC["Vector Embeddings<br/>(model2vec static embeddings)"]
LOG["Flight Recorder Log<br/>(turns + action lines)"]
end
AGY -->|"hook / CLI"| ADAPTERS
CLAUDE -->|"hook / CLI"| ADAPTERS
CURSOR -->|"JSON-RPC (stdio)"| ADAPTERS
ADAPTERS --> PROVENANCE
PROVENANCE --> ROUTER
ROUTER --> MEMORIES
MEMORIES --- FTS5
MEMORIES --- VEC
ADAPTERS --> LOG