結論:Mem0はAPIで即セットアップ、Zepは時系列ナレッジグラフで企業ユースに強く、LangMemはLangGraph環境に最もなじむ。用途の異なる3ツールを正しく使い分ければ、エージェントの長期記憶品質は大きく変わる。
- 要点1:Mem0(GitHub 5.7万以上スター、シリーズA含む調達2,400万ドル)はセットアップ最速で汎用チャットbotに最適。2026年自社ベンチマークでLongMemEvalスコア94.4を報告(mem0.ai公式ブログ、2026年)。
- 要点2:Zep(Graphiti時系列KGエンジン、GitHub 2.7万以上スター)はLoCoMo 94.7%・LongMemEval 90.2%・レイテンシ200ms以下を公式に報告し、企業規模のエージェントに強い(getzep.com公式、2026年6月確認)。
- 要点3:LangMemはLangChain公式のOSSライブラリ(GitHub 1,400以上スター)でpip一発インストール、LangGraphのBaseStoreと最深のネイティブ統合。
対象読者:AIエージェントを設計・本番運用しているエンジニア・PM
今日やること:用途別推奨マトリクスで自分のユースケースを特定し、該当ツールのFree/OSSトライアルを試す
「先日、チャットボット向けにセッションを超えた記憶保持を試みたところ、使うライブラリによって実装コストも精度も驚くほど変わることに気づきました。」
Mem0・Zep・LangMem——この3つはいずれも「AIエージェントに長期記憶を持たせる」目的のツールですが、アーキテクチャ・ユースケース・運用コストが根本的に異なります。
この記事では、実際の実装コードと公式一次ソースから得たスペックデータをもとに、3ツールを同一軸で比較します。チャットbot・企業システム・LangGraph環境という3ユースケースに分けた選び方マトリクスも用意しています。
1. そもそも「AIエージェントの長期記憶」とは何か
AIエージェントはデフォルトでステートレスです。LLM(大規模言語モデル)は各リクエスト時にコンテキストウィンドウに収まる情報しか参照できないため、前の会話や過去の作業内容は次のセッションに引き継がれません。
この問題を解決するのがメモリレイヤーです。記憶の種類は大きく3つに分けられます(詳細はAIエージェントのメモリ設計|Short/Long/Episodic実装ガイドを参照)。
- セマンティックメモリ:ユーザーの好みや知識のような事実情報
- エピソードメモリ:過去の会話・作業の経験サマリー
- 手続きメモリ:エージェント自身の行動ルール・プロンプトパターン
Mem0・Zep・LangMemはそれぞれこれらの記憶タイプをどこまでサポートするかが異なります。会話履歴とセッション管理の全体像についてはAIエージェントの状態・会話履歴・セッション管理ガイドもあわせて参照してください。
2. 3ツールの概要とポジショニング
2-1. Mem0(メム・ゼロ)
Mem0は「AIエージェントの汎用メモリレイヤー」を標榜するマネージドサービスです。2025年にY Combinator支援で創業し、シリーズAを含む2,400万ドルを調達(Basis Set Ventures主導)。GitHubスターは5.7万以上(2026年6月時点)、Pythonパッケージのダウンロード数は1,400万を超えています(Mem0公式Series A発表)。
コアコンセプトは「ユーザーごとにメモリを管理するAPIエンドポイント」で、21のフレームワーク・プラットフォームと公式インテグレーションがあります。ベクトルストア・グラフDB・KVストアの3層を内包し、セマンティック・エピソード・手続きの全タイプをサポートします。
2-2. Zep(ゼップ)
Zepは「エンタープライズ向けエージェントメモリ」を掲げるサービスで、中核技術はGraphiti——時間軸対応のナレッジグラフエンジンです。Graphitiは独立したOSSプロジェクトとしても公開されており、GitHubスターは2.7万以上(2026年6月時点、github.com/getzep/graphiti)。
Zepの最大の特徴は「時間的無効化(temporal invalidation)」です。「田中さんはAndroidユーザー(2025年3月時点)」という事実が後に「iPhoneに乗り換えた(2026年2月)」に更新されると、古い情報が自動的に無効化されます。bi-temporalモデルで「いつ事実が発生したか」と「いつそれをシステムが知ったか」の両方を管理します。
2-3. LangMem
LangMemはLangChain公式のOSSライブラリで、LangGraphエコシステムのために設計された長期記憶ツールキットです。GitHubスターは1,400以上(github.com/langchain-ai/langmem)。pip一発でインストールでき、追加インフラ不要でフレームワークに組み込めます。
LangMemの設計思想は「ストレージに依存しない抽象レイヤー」で、LangGraphのBaseStoreと最深のネイティブ統合を持ちつつ、他のストレージシステムとも動作します。セマンティック・エピソード・手続きの3記憶タイプを明示的にサポートしています。
3. スペック比較表(2026年6月時点)
注意:料金・機能は更新される場合があります。導入前に各公式ページで最新情報を確認してください。
| 項目 | Mem0 | Zep | LangMem |
|---|---|---|---|
| タイプ | マネージドAPI + OSS | マネージドAPI + Graphiti OSS | OSS(純粋ライブラリ) |
| コアアーキテクチャ | ベクトル+グラフ+KVの3層ハイブリッド | bi-temporal ナレッジグラフ(Graphiti) | 任意ストレージ対応の抽象レイヤー |
| 時系列管理 | 部分対応 | ネイティブ対応(時間的無効化あり) | ストレージ依存 |
| セマンティック記憶 | 対応 | 対応 | 対応 |
| エピソード記憶 | 対応 | 対応 | 対応 |
| 手続き記憶 | 対応 | 限定対応 | ネイティブ対応(prompt refinement) |
| GitHub Stars | 5.7万以上 | Graphiti 2.7万以上 | 1,400以上 |
| 無料枠 | 10,000メモリ追加/月・1,000検索/月 | 1,000クレジット/月 | 完全OSS(無制限) |
| 有料プラン最低額 | $19/月(Starter) | $104/月(Flex) | なし(ストレージ代のみ) |
| Enterprise/SOC2 | Enterprise(カスタム) | SOC2 Type II・HIPAA BAA対応 | なし(自己管理) |
| LangGraph統合 | 対応(公式インテグレーション) | 対応 | ネイティブ統合(最深) |
| セットアップ難易度 | 低(APIキー1本で開始) | 低〜中(クレジット管理あり) | 低(pip install のみ) |
4. 実装コード比較(Python)
同じシナリオ「ユーザーの好みを記憶してパーソナライズする」を3ツールで実装します。
動作環境:Python 3.11以上。各ライブラリの最新バージョンを使用。本番環境で使用する前に、必ずテスト環境で動作確認してください。
4-1. Mem0 実装例
Mem0はAPIキーを設定するだけで、メモリの追加・検索をシンプルなメソッド呼び出しで行えます。
from mem0 import MemoryClient
import os
# APIキーは環境変数で管理(ハードコード禁止)
client = MemoryClient(api_key=os.environ["MEM0_API_KEY"])
# メモリを追加(会話履歴から自動抽出)
messages = [
{"role": "user", "content": "機械学習の論文をよく読みます。特にTransformerアーキテクチャが好きです。"},
{"role": "assistant", "content": "了解しました。Transformer関連の情報を優先してお届けします。"}
]
client.add(messages, user_id="user_tanaka")
# メモリを検索して応答に活用
results = client.search("おすすめの論文は?", user_id="user_tanaka")
for r in results:
print(r["memory"]) # ユーザーの好み情報が返ってくる
# 注意: retrieval callsの上限は料金プランによって異なる
# Hobby: 1,000回/月、Starter: 5,000回/月(2026年6月時点のmem0.ai/pricing参照)
ポイントは3つ:
user_idでユーザーごとのメモリを自動的に分離して管理できる- 会話履歴(messages配列)を渡すだけで、重要情報をLLMが自動抽出して保存する
- グラフメモリ機能はProプラン($249/月)以上で利用可能
4-2. Zep 実装例
ZepはGraphitiエンジンによる時系列KGを背景に、3行程度のコードでエージェントに統合できます。
from zep_cloud.client import AsyncZep
import os
# 環境変数からAPIキーを取得
client = AsyncZep(api_key=os.environ["ZEP_API_KEY"])
async def add_session_memory(user_id: str, messages: list):
"""会話をZepのContext Graphに追加する"""
# セッションを作成(なければ自動作成)
await client.memory.add_session(
session_id=f"{user_id}_session_001",
user_id=user_id
)
# メッセージを追加(時間情報は自動付与)
await client.memory.add(
session_id=f"{user_id}_session_001",
messages=messages
)
async def get_context(user_id: str, query: str) -> str:
"""クエリに関連するコンテキストを取得(200ms以下のレイテンシ目標)"""
memory = await client.memory.get(
session_id=f"{user_id}_session_001",
min_score=0.5
)
# context.relevant_facts に時系列で整理された事実が返る
return memory.context
# 使用例
import asyncio
messages = [
{"role": "user", "content": "AndroidからiPhoneに乗り換えました。"},
{"role": "assistant", "content": "了解です。iPhone関連の情報をお届けします。"}
]
asyncio.run(add_session_memory("user_tanaka", messages))
# → 以前の「Androidユーザー」という事実は自動的に無効化される(temporal invalidation)
ポイントは3つ:
- temporal invalidation により、矛盾する新情報が古い事実を自動上書きするため人事変更・引越し等の情報更新に強い
- クレジット課金モデルのため、メッセージ量が多いほどコストが増える(350バイトごとに1クレジット)
- SOC2 Type II・HIPAA BAA対応で医療・金融系企業向けユースケースに対応可能
4-3. LangMem 実装例
LangMemはLangGraphのInMemoryStoreまたは外部KVストアと組み合わせ、LangGraphエージェントに記憶機能を付加します。
from langmem import create_manage_memory_tool, create_search_memory_tool
from langgraph.store.memory import InMemoryStore
from langgraph.prebuilt import create_react_agent
import os
# ストレージの初期化(本番ではPostgres等の永続ストアを推奨)
store = InMemoryStore()
# メモリツールの作成(セマンティック・エピソード・手続きに対応)
manage_memory_tool = create_manage_memory_tool(store=store)
search_memory_tool = create_search_memory_tool(store=store)
# LangGraphエージェントに記憶ツールを組み込む
agent = create_react_agent(
model="gpt-4o", # 使用するLLMを指定
tools=[manage_memory_tool, search_memory_tool],
store=store
)
# エージェントと会話(記憶が自動的に管理される)
result = agent.invoke({
"messages": [
{"role": "user", "content": "私はPythonエンジニアで、AIエージェントを開発しています。"}
]
})
# 次のセッションでも記憶が引き継がれる(storeが永続化されている場合)
# 注意: InMemoryStoreはプロセス終了で消えるため、本番はLangGraph Platformか
# PostgresStoreの使用を推奨
# 環境変数: OPENAI_API_KEY(またはAnthropicなど使用するLLMのキー)
ポイントは3つ:
- LangGraphエコシステムに最も深く統合されており、既存のLangGraphエージェントに数行追加するだけで記憶機能が使える
- ストレージは差し替え可能(InMemoryStore→PostgresStore→外部DBなど)で、コスト構造をコントロールしやすい
- 手続き記憶(procedural memory)のサポートが強く、エージェント自身がプロンプトルールを学習・更新できる
5. ベンチマーク比較(公式報告値)
注意:以下のスコアは各社の公式ブログ・ドキュメントに基づきます。測定環境・条件が異なるため、単純な横比較は慎重に行ってください。独自のユースケースでの評価が最も重要です。
| ベンチマーク | Mem0 | Zep | LangMem |
|---|---|---|---|
| LongMemEval | 94.4(自社報告、平均6,787トークン/クエリ) | 90.2%精度・162ms平均レイテンシ(自社報告) | 公開なし |
| LoCoMo | 92.5(自社報告) | 94.7%精度・155ms平均レイテンシ(自社報告) | 公開なし |
| DMR(Deep Memory Retrieval) | 93.4%(MemGPT論文基準のベースライン引用) | 94.8%(自社報告) | 公開なし |
| レイテンシ目標 | 記載なし(APIのSLAは別途確認) | 200ms以下(公式) | ストレージ依存 |
出典:Mem0公式ブログ「State of AI Agent Memory 2026」、Zep公式製品ページ(2026年6月確認)
6. ユースケース別 選び方マトリクス
チャットbot・カスタマーサポートAI
ユーザーごとの好み・過去の問い合わせ内容を記憶して、パーソナライズされた回答を返すユースケースです。
- 推奨: Mem0 — APIキー1本でセットアップ最速。ユーザーIDで記憶を自動分離。無料枠(10,000メモリ/月)でプロトタイプを試してから移行できる
- Zepも選択肢に:ユーザー情報が頻繁に更新される(引越し・職種変更など)ケースでは、temporal invalidationが効果を発揮する
企業向けナレッジワーカー支援・社内AIアシスタント
顧客情報・契約内容・組織内の人間関係など、時間とともに変化する構造化情報を扱うユースケースです。
- 推奨: Zep — bi-temporalグラフで「Aさんは2025年3月まで営業部長、4月から事業開発部長」のような事実変遷を正確に管理できる。SOC2 Type II・HIPAA BAA対応で規制産業にも対応。レイテンシ200ms以下の本番SLAあり
- 注意:クレジット課金のため、メッセージ量が多い環境ではコスト試算を事前に行うこと
LangGraph環境での開発・研究プロジェクト
LangChain/LangGraphエコシステムを使ってエージェントを構築しているチームのユースケースです。
- 推奨: LangMem — LangGraphのBaseStoreとネイティブ統合。既存のLangGraphエージェントに記憶機能を追加するのが最もシンプル。pip installのみで追加インフラ不要。手続き記憶(prompt refinement)を活用してエージェントを継続的に改善できる
- スケールアップ時:InMemoryStoreから始めてPostgresStore等に移行するのが推奨パターン
コスト重視・小規模プロジェクト
- 推奨: LangMem + セルフホストストレージ — LangMem自体は無料OSS。ストレージ(Redis・PostgresなどのKV・ベクトルDB)のコストのみで運用できる
- Mem0の無料枠も:月1,000検索・10,000メモリ以内なら無料(2026年6月時点のmem0.ai/pricing)
| ユースケース | 推奨ツール | 理由 |
|---|---|---|
| 汎用チャットbot・速攻プロト | Mem0 | APIキー1本・セットアップ最速 |
| 企業向け・時系列データ重要 | Zep | temporal KG・SOC2・200ms SLA |
| LangGraph開発環境 | LangMem | ネイティブ統合・pip install完結 |
| コスト最小・自前管理 | LangMem + OSS ストア | ライブラリ無料・インフラ自由 |
| 規制産業(医療・金融) | Zep(Enterprise) | HIPAA BAA・SOC2 Type II |
7. 【要注意】よくある失敗パターンと回避策
失敗1:無料枠を超えてからコスト計算をする
Mem0のStarter($19/月)からPro($249/月)への価格差は非常に大きく、グラフメモリが必要になった時点で計画外の費用が発生します。Zepのクレジットモデルも、メッセージ量が多いアプリでは積算コストが予想外に大きくなることがあります。
回避策:本番移行前に1週間分のメッセージ量を試算し、月間クレジット消費の上限を見積もる。Zepは350バイトごとに1クレジットのため、長文メッセージが多いユースケースでは特に注意が必要です。
失敗2:LangMemをInMemoryStoreのまま本番投入する
InMemoryStoreはプロセス終了でメモリが消えます。「開発環境では動いていたが、デプロイ後に記憶が全て消えた」という事故の典型です。
回避策:本番環境では必ず永続化ストア(LangGraph Platformのマネージドストア、またはPostgres等)に切り替えること。ストレージ設定を環境変数で切り替えられる構成にしておくと安全です。
失敗3:全メモリを毎回取得してコンテキストウィンドウを膨張させる
保存したメモリを丸ごとシステムプロンプトに詰め込むと、コンテキストウィンドウが急速に埋まり、コスト増・速度低下・記憶の薄まりが同時に発生します。
回避策:クエリに関連するメモリのみを検索して取得する(Mem0はsearch()、Zepはmemory.get(min_score=0.5)のようなフィルタリング)。LangMemはcreate_search_memory_toolでエージェントが必要な時だけ検索するパターンが推奨されています。
失敗4:時系列が重要なデータをMem0の無料枠で管理する
Mem0のグラフメモリ(時系列管理が強化される機能)はProプラン($249/月)以上限定です。無料・Starterプランでも基本的な記憶機能は使えますが、「過去の状態から現在の状態への変遷」の追跡が必要な場合は不十分になる場合があります。
回避策:時系列管理が重要なユースケースでは、最初からZepのクレジットプランかMem0 Proプランでコスト試算することをお勧めします。
8. Mem0・Zep・LangMemの棲み分けとMemGPT/Lettaとの関係
本記事で取り上げた3ツールは「記憶のレイヤー」に特化しています。一方、MemGPT/Lettaはエージェントのアーキテクチャ全体(実行エンジン含む)を扱うフレームワークです(詳細はMemGPTで長期記憶エージェント:状態管理実装ガイドを参照)。
組み合わせパターンとしては:
- LangGraphエージェント(実行)+ LangMem(記憶): LangChainエコシステム内で完結
- CrewAI/AutoGen(実行)+ Mem0(記憶): フレームワーク横断で統一記憶管理
- カスタムエージェント(実行)+ Zep(記憶): 企業グレードの時系列記憶
9. よくある質問(FAQ)
Q1. Mem0とZepはどちらが精度が高いですか?
各社の公式報告値では、LongMemEvalはMem0 94.4 vs Zep 90.2%、LoCoMoはMem0 92.5 vs Zep 94.7%と互角の水準です。ただし測定条件が異なるため直接比較は困難です。自分のユースケースに近いシナリオで実測評価することを強くお勧めします。
Q2. LangMemは完全無料ですか?
LangMem自体はOSSで無料です。ただし、本番運用には永続化ストレージ(PostgresやRedisなど)が必要で、そのインフラコストは別途かかります。LangGraph Platformを使う場合はプラットフォーム費用も発生します。
Q3. Zepの「temporal invalidation」は何が具体的に解決されますか?
「田中さんは東京在住」という事実が「大阪に引っ越した」という新情報に更新される際、古い事実を手動で削除しなくても自動的に「東京在住」が無効化されます。CRMや社内ナレッジのように時間で変化する構造化データを多く扱う企業向けエージェントで特に効果があります。
Q4. 3ツールを組み合わせて使うことは可能ですか?
技術的には可能ですが、管理が複雑になります。一般的には1エージェントシステムに1メモリレイヤーを採用するシンプルな構成が推奨されます。例外として、ユーザー向けパーソナライゼーション(Mem0)と企業ナレッジ(Zep)を別の用途に分けて使うケースは合理的です。
Q5. 小規模スタートアップにはどれが向いていますか?
コスト面ではLangMem + OSS永続ストレージが最もコントロールしやすく、Mem0の無料枠(10,000メモリ/月)でプロトタイプを試してから必要に応じてスケールするのも合理的な選択です。Zepは無料枠が月1,000クレジットと制約があるため、スケールを見越したコスト試算が重要です。なお、Mem0はスタートアップ向けに$500万以下の調達ステージなら3ヶ月無料のProアクセスを提供しています(条件は公式ページで確認を)。
まとめ:今日から始める3つのアクション
- 今日やること:上記「ユースケース別 選び方マトリクス」で自分のシステムの用途を特定し、推奨ツールの公式ドキュメントを開く
- 今週中:選んだツールの無料枠またはOSSセットアップを試し、実際のメッセージデータでメモリの追加・検索レイテンシを計測する
- 今月中:1ヶ月分の想定メッセージ量でコスト試算を行い、プロダクションのストレージ設計(永続化・バックアップ・スケール戦略)を固める
あわせて読みたい:
- MemGPTで長期記憶エージェント:状態管理実装ガイド — MemGPT/Lettaアーキテクチャの実装詳解
- AIエージェントのメモリ設計|Short/Long/Episodic実装ガイド — 記憶タイプ全体の設計パターン
- AIエージェントの状態・会話履歴・セッション管理ガイド — セッション管理の全体設計
この記事を読んで導入イメージが固まってきた方へ
UravationではAIエージェント導入の研修・コンサルを行っています。Mem0・Zep・LangMemの選定から本番構築まで、実装支援も対応しています。
参考・出典
- State of AI Agent Memory 2026 — mem0.ai公式ブログ(参照日:2026-06-12)
- Mem0 raises $24M to build the memory layer for AI — mem0.ai公式(参照日:2026-06-12)
- Mem0 Pricing — mem0.ai公式(参照日:2026-06-12)
- Agent Memory — Zep — getzep.com公式(参照日:2026-06-12)
- Pricing | Zep — getzep.com公式(参照日:2026-06-12)
- Zep: A Temporal Knowledge Graph Architecture for Agent Memory — arxiv論文 2501.13956(参照日:2026-06-12)
- GitHub – getzep/graphiti — Graphiti公式リポジトリ(参照日:2026-06-12)
- LangMem 公式ドキュメント — langchain-ai.github.io(参照日:2026-06-12)
- GitHub – langchain-ai/langmem — LangMem公式リポジトリ(参照日:2026-06-12)
著者:佐藤傑(さとう・すぐる)
株式会社Uravation代表取締役。X(@SuguruKun_ai)フォロワー約10万人。著書『AIエージェント仕事術』。
100社以上の企業向けAI研修・導入支援。ご質問・ご相談はお問い合わせフォームからお気軽にどうぞ。
