第3章 · ユーザーメモリと知識ベース¶
Agent がセッションを越えてユーザーを記憶し、外部知識にアクセスできるようにする。ユーザーメモリシステム、基本的な RAG パイプライン、フラットテキストを超えた知識の整理と検索(構造化インデックス、知識グラフなど)を扱う。
← メイン README に戻る · 📖 章の本文を読む
付随プロジェクト¶
| 実験 | プロジェクト | 種類 | 説明 |
|---|---|---|---|
| 3-1, 3-2 | user-memory | ✅ | 長期的なユーザーメモリシステムを構築し、Agent がユーザーの好みや過去のやり取りを記憶して、パーソナライズされたサービスを提供できるようにする。 |
| 3-1 | user-memory-evaluation | ✅ | 複数のテストシナリオと評価指標を含め、ユーザーメモリシステムの正確性、関連性、有効性を体系的に評価する。 |
| 3-2 | mem0 · memobase | ✅ | 2 つのオープンソースメモリフレームワーク mem0 と Memobase をそれぞれ使ってユーザーメモリを実装し、実験 3-2「メモリ戦略の比較」の比較実装として、異なるメモリソリューション間での抽出形式と回答品質の横断的比較を容易にする。 |
| 3-3 | log-sanitization | ✅ | ローカルの Ollama モデルを使用してログ内のシークレットと PII を検出・墨消しするインテリジェントなログサニタイズ。 |
| 3-4 | dense-embedding | ✅ | ベクトル類似度検索サービスを構築し、ANNOY(木ベース)と HNSW(グラフベース)の近似最近傍インデックスアルゴリズムを比較する。異なるインデックス戦略における性能、メモリ使用量、更新能力のトレードオフを示す。 |
| 3-5 | sparse-embedding | ✅ | BM25 アルゴリズムに基づくスパースベクトル検索エンジンをゼロから実装する。豊富なロギングと可視化インターフェースを提供し、単語頻度の重み計算や転置インデックスの原理など、検索エンジンの内部動作を理解できるようにする。 |
| 3-6 | retrieval-pipeline | ✅ | 密検索、スパース検索、ニューラル再ランキングを組み合わせた完全な検索パイプラインを構築する。入念に設計されたテストケースを通じて、異なるシナリオにおけるハイブリッド検索の相補的な利点を体系的に示す。 |
| 3-7 | multimodal-agent | ✅ | ネイティブマルチモーダル処理、テキストへの抽出、ツールベースの分析という 3 つのマルチモーダル処理戦略を比較する。統一されたフレームワーク内でのアブレーション(実験)を通じて、異なる技術的アプローチにおける忠実度、コスト、柔軟性のトレードオフを明らかにする。 |
| 3-8 | structured-index | ✅ | RAPTOR(再帰的抽象ツリー)と GraphRAG(知識グラフ)という 2 つの構造化インデックスを実装・比較する。 |
| 3-9 | agentic-rag | ✅ | 従来の Non-Agentic RAG と Agentic RAG の性能差を比較する。Agent が ReAct パターンを用いて反復的な情報検索を主導し、複雑な司法 Q&A を処理する際に回答品質を大幅に向上させる様子を示す。 |
| 3-10 | agentic-rag-for-user-memory | ✅ | Agentic RAG フレームワークをユーザーの会話履歴の管理に応用する。複数ターンの反復検索能力を活用してセッションを越えたメモリ検索を処理し、基本的な想起とクロスセッション検索能力を実現する。 |
| 3-11 | contextual-retrieval | ✅ | Anthropic が提唱した contextual retrieval 技術を実装する。テキストチャンクに対して中核的なコンテキストを含む接頭辞の要約を生成することで、従来のチャンク分割手法のコンテキスト欠落問題を解決し、検索失敗率を 49〜67% 削減する。 |
| 3-12 | contextual-retrieval-for-user-memory | ✅ | contextual retrieval 技術をユーザーメモリの構築に応用する。Advanced JSON Cards と Contextual RAG を組み合わせて二層のメモリ構造を形成し、より高度なプロアクティブなサービス能力を実現する。 |
| 3-13 | structured-knowledge-extraction | ✅ | 司法判例を例に、「ボトムアップの要素発見 → 事案プロトタイプのクラスタリング → 対話型アドバイザリー Agent」という 3 段階のパイプラインを実装する。硬直的なフィールドを事前定義することなく、LLM が大量の事案から自律的に要素を発見し、それらをモジュール化されたスキーマ(中核要素 + 罪名固有の拡張要素)にまとめる。次に事案をいくつかのプロトタイプにクラスタリングし、各プロトタイプにおける各要素の重要度を計算する。Agent は新しい事案の事実を最も類似したプロトタイプにマッチさせ、要素の重要度に基づいて不足している情報を尋ね、エビデンスに基づく助言(法的免責事項付き)を提供する。 |
| ## プロジェクトの種類 |
| アイコン | 種類 | 意味 |
|---|---|---|
| ✅ | 単独実行 | このリポジトリに完全なコードがあり、API キーを設定すれば実行できる |
| 📖 | 再現ガイド | git clone が必要な外部リポジトリに依存する詳細ドキュメント |
| 🚧 | 設計ドキュメント | アーキテクチャ/実装計画のみで、実行可能なコードは未完成 |