NirDiamant/Agent_Memory_Techniques
Agent memory for LLMs: 30 runnable Jupyter notebooks covering conversation buffers, vector stores, knowledge graphs, episodic and semantic memory, MemGPT, Mem0, Letta, Zep, Graphiti, LoCoMo benchmarks, and production patterns.
📚 Agent Memory Techniques とは
30 個の実行可能な Jupyter ノートブック からなる厳選されたコレクションで、LLM ベースのエージェント で使われる最も一般的なメモリパターンを示しています。リポジトリはこれらの技術を6つのカテゴリに分類しています — 短期バッファ、長期ストア、認知アーキテクチャパターン、検索/ルーティング戦略、既製のフレームワーク(Mem0、Letta、Zep、Graphiti)、プロダクション向け評価/ベンチマーク — そしてプロジェクトに適した選択を支援する視覚的で簡潔な意思決定ツリーを提供します。
動作方法
| カテゴリ | 目的 | 例となる技術 |
|---|---|---|
| 短期 | モデルのコンテキストウィンドウ内に最近の対話を保持しつつ、トークン予算を超過しないようにする。 | コンバージェーションバッファ、スライディングウィンドウ、要約、トークンバッファ |
| 長期 | セッション、ユーザー、または実行間で知識を永続化する。 | ベクトルストア、エンティティメモリ、知識グラフ、エピソード記憶、意味的記憶、手続き的記憶 |
| 認知アーキテクチャ | 脳のようにメモリを組織する — ホット層 vs. コールド層、統合、作業メモリ。 | ハイエラルキー層、メモリ統合、自己反省、ルーティング |
| 検索とルーティング | 何を、いつ 取り出すかを決定する(例:セッション間の再検索、選択的検索)。 | |
| フレームワーク | 上記のパターンを実装する即時利用可能なライブラリ。 | Mem0、Letta(MemGPT)、Zep、Graphiti |
| 評価とプロダクション | メモリのパフォーマンスをベンチマークし、プロダクション環境にデプロイする。 |
各技術は独自のフォルダにあり、自己完結型のノートブック として提供され、ローカルまたは Google Colab で実行可能です。ノートブックには以下が含まれます:
- 最小限の Python コード(Python 3.10+)
- 基盤となる概念の説明
- 簡単な例のプロンプトとデータ
- メモリの時間経過に伴う変化を可視化した図
使うべき人
- チャットボット、個人アシスタント、自律エージェントの開発者 — 対話やセッション間でコンテキストを維持する必要がある人。
- メモリ拡張型 LLM を研究している研究者 — すぐに使える実装例を探している人。
- プロダクション向けのパターンをチェックしたいプロダクトチーム — 例:Mem0、Zep などの商用エージェントを支えるフレームワーク。
すぐに得られるもの
- 実践的な学習パス —
01_conversation_buffer_memoryから始め、リンクされた学習パスに従う。 - 意思決定ツリーと比較マトリクス — 永続性、トークンコスト、用途別に技術を素早く絞り込む。
- プロダクション対応の例 — 実際の商用エージェントを支えるフレームワーク用のノートブック。
- 無料の教育リソース — コンパニオン動画コース、464ページの視覚的書籍、週1回のAIチュートリアルニュースレターへのリンク。
クイックスタート
# リポジトリをクローン
git clone https://github.com/NirDiamant/Agent_Memory_Techniques.git
cd Agent_Memory_Techniques
# ノートブックを開く(例)
jupyter lab all_techniques/01_conversation_buffer_memory/conversation_buffer_memory.ipynb
または、各エントリ横のバッジから Colab で直接ノートブックを起動できます。
TL;DR
Agent Memory Techniques は、LLM エージェントにメモリをどう与えるかを実践的に教えるオープンソースのチュートリアルライブラリです。単純なバッファテクニックから本格的な認知アーキテクチャまで、すべてのパターンを実行可能なノートブックと、それぞれのパターンが適している状況を明確に示すガイド付きでカバーしています。
関連
- プロジェクト
- プロジェクト
- Dispatch
- プロジェクト
- プロジェクト