MCPまたはPython統合をサポートするあらゆるAIプラットフォームで動作
|
Claude Desktop |
Cursor |
LM Studio |
Cherry Studio |
PyPI パッケージ |
+ あらゆる MCP クライアント |
🇨🇳 中文 •
🇯🇵 日本語 •
🇰🇷 한국어 •
🇪🇸 Español •
🇫🇷 Français •
🇩🇪 Deutsch •
🇧🇷 Português
🇷🇺 Русский •
🇸🇦 العربية •
🇮🇹 Italiano •
🇻🇳 Tiếng Việt •
🇹🇷 Türkçe
pip install simplemem で直接インストールできます。パッケージ使用ガイドを見る →
SimpleMem は最小限のトークンコスト(約550)で最高の F1 スコア(43.24%)を達成し、理想的な左上のポジションを占めています。
SimpleMem は意味的無損失圧縮に基づく効率的なメモリフレームワークで、LLMエージェントの効率的な長期記憶という根本的な課題に取り組んでいます。冗長なコンテキストを受動的に蓄積したり、高コストの反復推論ループに依存する既存システムとは異なり、SimpleMem は3段階のパイプラインを通じて情報密度とトークン利用率を最大化します:
|
意味的構造化圧縮 非構造化インタラクションをコンパクトなマルチビューインデックス付きメモリユニットに蒸留 |
オンライン意味合成 セッション内プロセスで、関連コンテキストを統一された抽象表現に即座に統合し冗長性を排除 |
意図認識検索計画 検索意図を推論し、検索範囲を動的に決定して効率的に正確なコンテキストを構築 |
SimpleMem アーキテクチャ:(1) 意味的構造化圧縮が低効用の対話をフィルタリングし、情報ウィンドウをコンパクトでコンテキスト非依存のメモリユニットに変換。(2) オンライン意味合成が書き込み時に関連フラグメントを統合し、コンパクトで一貫性のあるメモリトポロジーを維持。(3) 意図認識検索計画が検索意図を推論して検索範囲とクエリ形式を適応させ、並列マルチビュー検索とトークン効率の良いコンテキスト構築を実現。
速度比較デモ
SimpleMem vs. ベースライン:リアルタイム速度比較デモンストレーション
LoCoMo-10 ベンチマーク結果(GPT-4.1-mini)
| モデル | ⏱️ 構築時間 | 🔎 検索時間 | ⚡ 合計時間 | 🎯 平均 F1 |
|---|---|---|---|---|
| A-Mem | 5140.5s | 796.7s | 5937.2s | 32.58% |
| LightMem | 97.8s | 577.1s | 675.9s | 24.63% |
| Mem0 | 1350.9s | 583.4s | 1934.3s | 34.20% |
| SimpleMem ⭐ | 92.6s | 388.3s | 480.9s | 43.24% |
💡 主な利点:
- 🏆 最高 F1 スコア:43.24%(Mem0 比 +26.4%、LightMem 比 +75.6%)
- ⚡ 最速検索:388.3s(LightMem より 32.7% 高速、Mem0 より 51.3% 高速)
- 🚀 最速エンドツーエンド:合計処理時間 480.9s(A-Mem の 12.5 倍高速)
SimpleMem は LLM 生成プロセスに統合された暗黙的意味密度ゲーティングメカニズムを適用し、冗長なインタラクションコンテンツをフィルタリングします。システムは生の対話ストリームをコンパクトなメモリユニット(共参照が解決され絶対タイムスタンプが付与された自己完結型の事実)に再構成します。各ユニットは柔軟な検索のために3つの補完的表現でインデックスされます:
| 🔍 レイヤー | 📊 タイプ | 🎯 目的 | 🛠️ 実装 |
|---|---|---|---|
| 意味的 | 密 | 概念的類似性 | ベクトル埋め込み(1024次元) |
| 語彙的 | 疎 | 正確な用語マッチング | BM25スタイルキーワードインデックス |
| 記号的 | メタデータ | 構造化フィルタリング | タイムスタンプ、エンティティ、人物 |
✨ 変換例:
- 入力: "彼は明日午後2時にBobと会う" [❌ 相対的、曖昧]
+ 出力: "AliceはStarbucksで2025-11-16T14:00:00にBobと会う" [✅ 絶対的、原子的]
非同期バックグラウンドメンテナンスに依存する従来のシステムとは異なり、SimpleMem は書き込みフェーズ中にオンザフライで合成を実行します。関連するメモリユニットは現在のセッションスコープ内でより高レベルの抽象表現に合成され、反復的または構造的に類似した経験を即座にノイズ除去・圧縮できます。
✨ 合成例:
- フラグメント 1: "ユーザーはコーヒーが欲しい"
- フラグメント 2: "ユーザーはオーツミルクを好む"
- フラグメント 3: "ユーザーはホットが好き"
+ 統合結果: "ユーザーはオーツミルク入りのホットコーヒーを好む"
この能動的な合成により、メモリトポロジーがコンパクトに保たれ、冗長なフラグメンテーションが回避されます。
固定深度の検索ではなく、SimpleMem は LLM の推論能力を活用して包括的な検索計画を生成します。クエリが与えられると、計画モジュールは潜在的な検索意図を推論し、検索範囲と深度を動的に決定します:
システムは意味的、語彙的、記号的インデックスにわたる並列マルチビュー検索を実行し、IDベースの重複排除で結果をマージします:
|
🔹 シンプルなクエリ
|
🔸 複雑なクエリ
|
📈 結果:フルコンテキスト手法と比較して 30倍少ないトークン で 43.24% の F1 スコアを達成。
| タスクタイプ | SimpleMem F1 | Mem0 F1 | 改善 |
|---|---|---|---|
| マルチホップ | 43.46% | 30.14% | +43.8% |
| 時間的 | 58.62% | 48.91% | +19.9% |
| シングルホップ | 51.12% | 41.3% | +23.8% |
| 指標 | SimpleMem | Mem0 | 備考 |
|---|---|---|---|
| 平均 F1 | 25.23% | 23.77% | 99倍小さいモデルでも競争力あり |
config.py のモデル名と OPENAI_BASE_URL の両方を確認してください。# 📥 リポジトリをクローン
git clone https://github.com/aiming-lab/SimpleMem.git
cd SimpleMem
# 📦 依存関係をインストール
pip install -r requirements.txt
# ⚙️ API 設定を構成
cp config.py.example config.py
# config.py を編集してAPIキーと設定を入力
# config.py
OPENAI_API_KEY = "your-api-key"
OPENAI_BASE_URL = None # または Qwen/Azure のカスタムエンドポイント
LLM_MODEL = "gpt-4.1-mini"
EMBEDDING_MODEL = "Qwen/Qwen3-Embedding-0.6B" # 最先端の検索性能
SimpleMem は LLM ベースのエージェントの長期記憶システムとして機能します。ワークフローは3つのシンプルなステップで構成されます:
この設計により、LLM エージェントはコンテキストを維持し、過去の情報を効率的に想起し、冗長な履歴の再処理を回避できます。
from main import SimpleMemSystem
# 🚀 システムを初期化
system = SimpleMemSystem(clear_db=True)
# 💬 対話を追加(ステージ 1:意味的構造化圧縮)
system.add_dialogue("Alice", "Bob, let's meet at Starbucks tomorrow at 2pm", "2025-11-15T14:30:00")
system.add_dialogue("Bob", "Sure, I'll bring the market analysis report", "2025-11-15T14:31:00")
# ✅ 原子エンコーディングを完了
system.finalize()
# 🔎 意図認識検索でクエリ(ステージ 3:意図認識検索計画)
answer = system.ask("When and where will Alice and Bob meet?")
print(answer)
# 出力: "16 November 2025 at 2:00 PM at Starbucks"
大規模な対話処理には、並列モードを有効にしてください:
system = SimpleMemSystem(
clear_db=True,
enable_parallel_processing=True, # ⚡ 並列メモリ構築
max_parallel_workers=8,
enable_parallel_retrieval=True, # 🔍 並列クエリ実行
max_retrieval_workers=4
)
💡 ヒント:並列処理によりバッチ操作のレイテンシーが大幅に削減されます!
SimpleMem の初回セットアップや実行で問題が発生した場合、以下の一般的なケースを確認してください:
config.py で API キーが正しく設定されていることを確認OPENAI_BASE_URL が正しく構成されていることを確認python --version
SimpleMem はクラウドホスト型メモリサービスとして、Model Context Protocol(MCP)を通じて提供され、Claude Desktop、Cursor などの AI アシスタントとのシームレスな統合を実現します。
🌐 クラウドサービス:mcp.simplemem.cloud
| 機能 | 説明 |
|---|---|
| Streamable HTTP | MCP 2025-03-26 プロトコル(JSON-RPC 2.0) |
| マルチテナント分離 | トークン認証によるユーザーごとのデータテーブル |
| ハイブリッド検索 | 意味検索 + キーワードマッチング + メタデータフィルタリング |
| 本番環境最適化 | OpenRouter 統合による高速レスポンス |
{
"mcpServers": {
"simplemem": {
"url": "https://mcp.simplemem.cloud/mcp",
"headers": {
"Authorization": "Bearer YOUR_TOKEN"
}
}
}
}
📖 詳細なセットアップ手順とセルフホスティングガイドは MCP ドキュメント をご覧ください
# 🎯 完全な LoCoMo ベンチマーク
python test_locomo10.py
# 📉 サブセット評価(5サンプル)
python test_locomo10.py --num-samples 5
# 💾 カスタム出力ファイル
python test_locomo10.py --result-file my_results.json
config.py の正確な設定を使用してください:
研究で SimpleMem を使用される場合は、以下を引用してください:
@article{simplemem2025, title={SimpleMem: Efficient Lifelong Memory for LLM Agents}, author={Liu, Jiaqi and Su, Yaofeng and Xia, Peng and Zhou, Yiyang and Han, Siwei and Zheng, Zeyu and Xie, Cihang and Ding, Mingyu and Yao, Huaxiu}, journal={arXiv preprint arXiv:2601.02553}, year={2025}, url={https://github.com/aiming-lab/SimpleMem} }
このプロジェクトは MIT ライセンス の下で公開されています。詳細は LICENSE ファイルをご覧ください。
以下のプロジェクトとチームに感謝いたします: