問題の核心:RAGが拾えない「今この瞬間」
RAGの仕組みは本質的に静的だ。事前にベクトル化されたドキュメントを類似度検索で引っ張る。それだけだ。会話の中でユーザーが「実は私、猫アレルギーなんです」と言った瞬間、その情報はどこにも保存されない。次のターンでは消える。200ターン後には完全に忘却される。
この問題に対して、開発者の/u/One-Pain6799が公開したのがMDA(Memory-Driven Architecture)だ。Sourceによれば、知識を「連想エンティティネットワーク」としてエンコードし、バックプロパゲーションもインデックス再構築も不要なOjaルールでリアルタイム更新するという設計思想が核心にある。
Ojaルールとは何か。ニューラルネットワークの主成分分析に使われるオンライン学習則で、重みを逐次更新できる。バッチ処理不要、再インデックス不要。会話の流れに乗りながら記憶を書き換え続ける。これがRAGとの根本的な違いだ。
ベンチマーク数値の読み方
開発者自身が「合成問題による自作評価であり、方向性を示すものであって確定的な数値ではない」と明記している。この誠実さは重要だ。数値を鵜呑みにする前に、構造を理解する必要がある。
評価環境は以下だ。推論モデルにQwen3 6-35B-A3B、ジャッジモデルにClaude Haiku。比較対象はChromaDB+bge-large-en-v1.5のRAG構成。
| 指標 | RAG | MDA |
|---|---|---|
| 全体精度 | 67.5% | 82.5% |
| クエリあたりコンテキスト | baseline | 3.1×削減 |
| 200ターン後の保持率 | 0% | 92% |
| A-early(1〜10ターン) | 70% | 80% |
| B-mid(25〜44ターン) | 90% | 100% |
| C-late(100〜119ターン) | 90% | 100% |
| クロスクラスター | 20% | 50% |
最も注目すべき数値は二つある。「200ターン後の保持率0% vs 92%」と「クロスクラスター精度20% vs 50%」だ。
前者はRAGの根本的欠陥を示す。類似度検索は「今の質問に近いドキュメント」しか拾えない。会話の文脈は類似度では表現できないため、長期会話でRAGは機能しなくなる。MDAが92%を維持するのは、概念グラフの連想トラバーサルが時系列に依存しないためと推測される。
後者のクロスクラスター精度は、異なるトピック間の横断的推論能力を測る。「猫アレルギー」と「外食の提案」が結びつくかどうか、そういう問いだ。MDAはエージェントAが学習した情報をエージェントBが「検索せずに」取得できる設計で、この横断性を実現している。開発者の言葉を借りれば「検索ではなく、共有された直感のように感じ始める」。
ただし、クエリあたりコンテキスト3.1×削減という数値の計算根拠は元ソースに明示されていない。この点は独自検証が必要だ。
実装構造と再現可能性
MDAの技術スタックは実用的に設計されている。CPU優先で動作し、Ollama・OpenAI・Anthropic APIと即座に統合可能。MCPサーバーとして提供されており、バッチワークロード向けにGPUアクセラレーションもサポートする。モデル非依存設計のため、特定のLLMに縛られない。
ソースコードはGitHubで公開されている(https://github.com/rangle2/mda)。再現を試みる場合、まず200ターン会話でのRAG保持率0%の再現から始めることを筆者は推奨する。これは最も反証しやすく、かつMDAの価値命題の根拠でもある。
マルチエージェント共有メモリの設計も興味深い。複数エージェントが同一のMDAインスタンスを共有し、エージェントAの学習がエージェントBに伝播する。これは分散AIシステムの協調記憶として機能する可能性がある。ただし、この機能の評価数値は現時点で提供されていない。
結論:RAGキラーではなく、RAGの盲点を埋める道具
開発者自身が「RAGキラーではない」と明言している。この自己評価は正確だと筆者は見る。MDAが狙うのはRAGの得意領域の置き換えではなく、長期会話文脈の保持とクロスドメイン連想という、RAGとLLMの構造的な空白地帯だ。
評価数値が自作合成問題由来である点は、信頼性に一定の留保を要する。コミュニティ構築の標準ベンチマーク(LongMemEvalやMT-Benchなど)での検証結果が出れば、実用性の判断が大きく変わる可能性がある。
現時点でMDAを試す価値がある用途は明確だ。長期セッションのカスタマーサポートボット、継続的なパーソナライズが必要なアシスタント、複数エージェントが協調するワークフローの三つだ。RAGで十分な用途にMDAを無理に適用する必要はない。道具の適材適所だ。
GitHubのソースコードを手元で動かし、200ターン保持率を自分の環境で計測する。それが今できる最も誠実な検証だ。
関連リンク
- MDA(Memory-Driven Architecture)GitHub:記事で紹介されているリアルタイム学習型LLM永続メモリシステムの公式ソースコード。
- Qwen3.6-35B-A3B(Hugging Face):MDAのベンチマークで推論モデルとして使用されたAlibaba製オープンウェイトLLM。
- Claude Haiku(Anthropic公式):MDAのベンチマークでジャッジモデルとして使用されたAnthropicの高速・低コストモデル。
- ChromaDB(公式サイト):MDAとの比較対象として使用されたオープンソースのベクトルデータベース。
- bge-large-en-v1.5(Hugging Face / BAAI):RAGの比較構成で使用されたBAAI製テキスト埋め込みモデル。
- Ollama(公式サイト):MDAが即座に統合可能なローカルLLM実行プラットフォーム。






