AIエージェントの記憶喪失を根治する!セッションをまたぐ永続メモリ基盤「Mnemo Cortex」

タグ AIエージェント永続メモリMCPSQLiteセマンティック検索ローカルLLMマルチエージェントオープンソースcolumnコラムlinuxLinuxwindowsWindowsmacosmacOSGitHubGuyMannDudemnemo-cortex

AIエージェントの記憶喪失を根治する!セッションをまたぐ永続メモリ基盤「Mnemo Cortex」

ひとことでいうと

Mnemo Cortex(ムネモ・コーテックス)は、AIエージェントが抱える「会話が終わると記憶がすべてリセットされる」という問題を根本から解決するオープンソースのメモリ基盤です。セッション(会話のひとまとまり)をまたいで記憶を保ち、意味的検索(文章の意味の近さで情報を探す仕組み)でその記憶をいつでも呼び戻せます。Claude Code・Claude Desktop・Ollama・LM Studio・AnythingLLM など主要なAI環境に対応しており、データはすべてローカルのSQLite(手元のパソコンに保存されるデータベース)に置かれるため、クラウド費用ゼロ・完全プライベートで運用できます。複数のエージェントで記憶を共有したり、夜間に記憶を再合成する「ドリーミング」機能も備えており、マルチエージェント時代の記憶基盤として設計されています。


こんな人におすすめ

1. 複数のAIエージェントを並行して使っている開発者・研究者

Claude Code でコードを書きながら、別のエージェントで調査を進めるといった使い方をしている方に最適です。Mnemo Cortex が両者の文脈を一か所に集約してくれます。夜間のドリーミング機能により、翌朝には全エージェントが前日の出来事を把握した状態で起動できます。

2. 長期プロジェクトで毎回同じ説明を繰り返したくないエンジニア

「自分はPythonが得意でDjangoを使っている」「このプロジェクトはポート8080を使う」といった文脈を一度保存すれば、セッションをまたいで即座に呼び戻せます。手動でメモを管理したり、毎回説明し直したりする手間が省けます。

3. ローカルLLMをプライベートに運用したいユーザー

Mem0 などのクラウドメモリサービスはデータを外部サーバーに送りますが、Mnemo Cortex はデータがすべて手元のマシンに留まります。Ollama と組み合わせれば、埋め込み(文章を数値に変換する処理)の生成もモデルの推論も、手元のGPUだけで完結します。


主な機能

Mnemo Cortex v3.1 は、以下の4つの機能を1つのサーバーパッケージとして提供します。

Deep Recall(ディープリコール) は、SQLite + FTS5(全文検索の拡張機能)と埋め込みベクトルによる意味的検索を組み合わせた中核のメモリエンジンです。キーワードの完全一致だけでなく、意味的に近い記憶もまとめて探し出せます。

WikAI(ウィキAI) は、Mnemo に蓄積されたデータを毎晩自動でコンパイルし、3,000ページを超えるwikiを自動生成する機能です。wiki_searchwiki_readwiki_index の3つのMCPツールから検索・参照できます。

Sparks Bus(スパークスバス) は、エージェント間のメッセージ配送を確認付きで行う通信バスです。Google の A2A(Agent-to-Agent)プロトコルのデータ形式と互換性があります。

Structured Facts(構造化ファクト) は、(entity, attribute, value) のトリプル形式でキー・バリューを保存する仕組みです。verified(確認済み)→ high_probability(高確度)→ false(誤り)の3段階の信頼度で情報を管理し、矛盾する情報が入力されると自動で通知が発火します。

これらの機能はすべてMCP(Model Context Protocol)ツールとして公開されるため、MCPに対応した任意のエージェントから呼び出せます。


インストール・使い方

ターミナル(文字で命令を送る画面)を使います。コマンドはコピー&ペーストでそのまま使えます。Python 3.11 以上が必要です(インストール環境では Python 3.12.13 で動作確認済み)。

Step 1: リポジトリのクローンと仮想環境の作成

git clone https://github.com/GuyMannDude/mnemo-cortex.git
cd mnemo-cortex
python -m venv .venv
source .venv/bin/activate   # Windows の場合: .venv\Scripts\activate

git clone でソースコード一式(リポジトリ=ソースコードの置き場)を手元にコピーします。python -m venv で仮想環境(システムのPython環境に影響を与えない独立した作業スペース)を作り、source .venv/bin/activate でその環境に入ります。

Step 2: パッケージのインストール

pip install -e .

このコマンドで mnemo-cortex(短縮形は mnemo)というCLIコマンドが登録されます。-e オプションは「開発モードインストール」で、ソースコードを直接編集しながら使えるようになります。

Step 3: 初期設定ウィザードの実行

mnemo-cortex init

対話型のウィザードが起動します。推論モデル(Ollamaの qwen2.5:32b-instruct が推奨)、埋め込みモデル(nomic-embed-text が推奨)、サーバーのバインドアドレス(デフォルト: 127.0.0.1:50001)の3点を順に設定します。入力した設定は ~/.agentb/agentb.yaml に保存されます。

Step 4: サーバーの起動と動作確認

mnemo-cortex start
mnemo-cortex health

health コマンドを実行し、APIサーバー・データベース・コンパクションモデルの3点が OK と表示されれば、セットアップ完了です。--json オプションを付けると、機械が読みやすいJSON形式で結果を取得できます。

Step 5: エージェント側のMCP設定(Claude Codeの例)

{
  "mcpServers": {
    "mnemo-cortex": {
      "command": "node",
      "args": ["/path/to/mnemo-cortex/integrations/mcp-bridge/server.js"],
      "env": {
        "MNEMO_URL": "http://localhost:50001",
        "MNEMO_AGENT_ID": "claude-code"
      }
    }
  }
}

デフォルトで13のMCPツール(メモリ4・ファクト4・パスポート5)が登録されます。BRAIN_DIR または WIKI_DIR 環境変数を追加すると、最大22ツールまで拡張できます。


動かしてみた

pip install -e . は警告なく完了し、Python 3.12.13 の環境でパッケージが正常にインストールされることを確認しました。リポジトリには Dockerfilerequirements.txtmnemo-dream.pymnemo-wiki-compile.py など主要ファイルが揃っており、Docker(アプリをまとめて動かすコンテナ仮想化の仕組み)でのコンテナ実行にも対応しています。

ヘルスチェックで全項目が通ったときの出力は以下のとおりです。READMEに掲載されている14/14 チェック通過時の表示例です。

mnemo-cortex health check
=========================

Core Services
  API server (http://localhost:50001) ..... OK (v3.3.0, 156 memories, 42ms)
  Database ................................. OK (12 sessions)
  Compaction model ......................... OK (qwen2.5:32b-instruct — responding)

14/14 checks passed

Ollama(ローカルLLMを動かすツール)が起動していない環境では、埋め込みの生成が自動的に Google Gemini の無料枠にフォールバック(切り替え)する設計になっています。そのため、Ollama を用意していない環境でも動作をすぐに試せます。


ブラウザで試す(デモ)

デモページでは、Mnemo Cortex のコア機能である「記憶の保存」「キーワード検索」「一覧表示」をブラウザ上で体験できます。実際の Mnemo Cortex は SQLite+セマンティック検索+複数エージェント横断検索を備えたサーバーとして動作しますが、デモではその概念をシンプルに再現しています。エージェントIDを変えながら記憶を保存し、検索で呼び戻す一連の流れをぜひ試してみてください。


はじめの一歩:実践のコツ

実際に使い始める前に、次のポイントを押さえておくとスムーズです。

  • まずドライランで流れを確認するMNEMO_INSTALL_DRY_RUN=1 ./robot-install.sh を実行すると、実際のファイル書き込みやpipインストールをスキップして、実行される手順だけを確認できます。初めての環境では必ずこちらから始めましょう。
  • 非対話型インストールも選べる — LLMエージェントやCI環境(継続的インテグレーション=自動でテストやビルドを行う仕組み)向けに robot-install.sh スクリプトが用意されています。進捗を stderr(エラー出力)に出しつつ、構造化されたJSONを stdout(標準出力)に返すため、自動化スクリプトから結果をパースしやすい設計です。
  • Ollamaがなくても始められる — 埋め込みモデルに Google Gemini の無料枠がフォールバックとして使えます。まずOllamaなしで動作確認し、慣れてからローカルLLM構成に移行するのがおすすめです。
  • ツール数は環境変数で後から調整する — 最初はデフォルトの13ツールで試してみましょう。BRAIN_DIRWIKI_DIR の設定はWikAI機能を使いたくなってからで十分です。
  • ドリーミングはスケジュール実行で自動化するmnemo-dream.py をcron(定期実行の仕組み)やタスクスケジューラーに登録しておくと、毎晩自動で記憶が再合成されます。翌朝にはすべてのエージェントが前日の文脈を把握した状態で起動します。
# ドライランで事前確認
MNEMO_INSTALL_DRY_RUN=1 ./robot-install.sh

# 本番インストール
./robot-install.sh

活用例

  • マルチエージェント開発環境での文脈共有 — コードレビューエージェントが見つけたバグパターン、調査エージェントが集めた外部APIの仕様、デプロイエージェントが記録した本番環境の設定変更。これらが Mnemo に集約されると、どのエージェントも mnemo_recall 一発で他エージェントの知見を参照できます。夜間ドリーミングにより、翌朝のブリーフィングも自動生成されます。

  • 構造化ファクトによる確定情報の管理 — ユーザー名・APIエンドポイント・プロジェクト固有の設定値など、意味的な近さではなく正確なキーバリューを引きたい情報は mnemo_fact_save で保存します。3段階の信頼度ラダーがあるため、矛盾する情報が入力されると自動で通知が発火し、エージェントが正誤を確認できます。

  • ローカルLLM環境での長期記憶 — Ollama+qwen3:8bのような完全ローカル構成でも、Mnemo Cortex を組み合わせることで有料クラウドメモリサービスと同等の永続記憶を実現できます。READMEによれば「Zapier のAIツール連携は月20〜50ドルかかるが、Mnemo+ローカルLLMなら月0円、完全プライベート」とされています。

  • 個人開発での長期プロジェクト管理 — 個人で長期間にわたってAIと対話しながらプロジェクトを進める場合、セッションをまたいだ文脈の維持が課題になります。「設計方針」や「使用ライブラリのバージョン」をMnemoに保存しておけば、次のセッションでもすぐに続きから作業できます。

  • 学習補助エージェントへの応用 — 勉強した内容や理解できた概念、まだ理解が浅い部分などをエージェントに記憶させておくことで、学習の進捗に合わせた個別最適化されたサポートを長期間にわたって続けられます。

  • チーム開発でのナレッジ共有 — 複数の開発者が同じMnemo Cortexサーバーを共有する構成にすれば、チームメンバー間での知見や設定情報を自動で共有できます。Sparks Bus を使うことで、エージェント同士が互いの作業状況をやり取りすることも可能です。


用語とポイント解説

MCP(Model Context Protocol) AIエージェントとツールをつなぐための標準プロトコル(通信の取り決め)です。かんたんに言うと「AIがツールを呼び出すための共通の言語」のようなものです。Mnemo Cortex はこのプロトコル経由でメモリツールを公開するため、MCPに対応した任意のAIエージェントから利用できます。利用者はMCPの仕組みを深く知らなくても、設定ファイルに数行書くだけで接続できます。

セマンティック検索 キーワードの完全一致ではなく、文章の「意味的な近さ」でデータを検索する手法です。かんたんに言うと「ぴったり同じ言葉でなくても、似た意味の文章を見つけてくれる検索」です。埋め込みベクトル(文章を数値の配列に変換したもの)を使って、意味的に近いものをランキングします。たとえば「車」で検索しても「自動車」や「乗り物」に関する記憶が引っかかります。

FTS5(Full-Text Search 5) SQLiteに標準搭載されている全文検索の拡張モジュールです。かんたんに言うと「データベースの中のテキストを高速に検索する機能」です。Mnemo Cortex はセマンティック検索と組み合わせて使うことで、キーワード検索と意味検索の両方をカバーしています。どちらかが苦手な検索を、もう一方が補う構成です。

ドリーミング 複数エージェントの記憶を夜間に自動で再合成し、全エージェントが共有できるコンテキストを生成するMnemo Cortex独自の機能です。かんたんに言うと「一晩寝ると全員が前日の出来事を把握している状態にする仕組み」です。mnemo-dream.py スクリプトをスケジュール実行することで自動化でき、翌朝のエージェントのブリーフィングとして活用できます。

コンパクション 古い会話ログをLLMで要約・圧縮するプロセスです。かんたんに言うと「大量のメモを読み直して、大事なことだけ残した要約を作る作業」です。トークン量を最大80%削減しつつ重要な情報を保持するため、長期間使い続けても記憶が肥大化しにくい設計になっています。

Sparks Bus エージェント間のメッセージ配送確認付き通信システムです。かんたんに言うと「AIエージェント同士が確実にメッセージを送り合うための、配達追跡付き宅配便のような仕組み」です。Google の A2A(Agent-to-Agent)プロトコルのデータ形式と互換性があり、異なるフレームワークのエージェント間でも通信できます。

WikAI(ウィキAI) Mnemoに蓄積されたデータから毎晩自動生成される3,000ページを超えるwikiです。かんたんに言うと「エージェントたちの記憶から自動で作られる百科事典」です。wiki_searchwiki_readwiki_index の3つのMCPツールを使って検索・参照できます。毎晩再コンパイルされるため、常に最新の状態を保ちます。

Structured Facts(構造化ファクト) (entity, attribute, value)(主体・属性・値)のトリプル形式でキー・バリューを保存する仕組みです。かんたんに言うと「誰が、何を、どんな値で持っているかを整理して記録する台帳」です。verified(確認済み)・high_probability(高確度)・false(誤り)の3段階で信頼度を管理し、矛盾する情報が入ると自動で通知が発火します。

埋め込み(エンベディング) 文章や単語を機械が扱える数値の配列(ベクトル)に変換したものです。かんたんに言うと「意味を数値で表現したもの」で、意味が近い文章ほど数値的にも近い値になります。Mnemo Cortex はこの埋め込みを使ってセマンティック検索を実現しており、OllamaやGoogle Geminiを埋め込みモデルとして使用できます。


ぜひマルチエージェント開発での文脈共有や、Ollama を使ったプライバシー完全自前の長期記憶管理などに活用してみてはいかがでしょうか。