AI・機械学習
上級

LLMメモリアーキテクチャ(エルエルエムメモリアーキテクチャ)

LLMが長期的な情報を保持・検索・活用するための記憶システム設計。短期記憶(コンテキストウィンドウ)と長期記憶(外部ストレージ)を組み合わせ、人間の記憶構造を模倣する。

0 回閲覧
0 いいね

LLMメモリアーキテクチャとは、大規模言語モデルが会話や知識を長期的に保持し、必要に応じて検索・活用するための記憶システム全体の設計思想である。従来のLLMはコンテキストウィンドウ内の情報しか参照できなかったが、2025年以降のメモリアーキテクチャ研究により、人間の認知科学に着想を得た多層記憶構造が実用化されつつある。

概要

LLMメモリアーキテクチャは、人間の記憶システムにおける感覚記憶・短期記憶・長期記憶の3層構造をLLMに適用する設計パターンである。2024年にStanford大学のGenerative Agentsで注目を集め、2025年のMemGPT(現Letta)やLangChain Memoryモジュール、2026年のClaude Code Memory機能として商用実装が進んでいる。

記憶の種類は大きく以下に分類される:

  • 感覚バッファ: 直近のトークン列(数百トークン)を保持する最速アクセス層
  • ワーキングメモリ: コンテキストウィンドウ内の情報(4K〜2Mトークン)を管理する短期記憶
  • エピソード記憶: 過去の対話・イベントを時系列で保存する長期記憶
  • セマンティック記憶: 事実・知識・ユーザー属性を構造化して保存する知識ベース

主な特徴・仕組み

  • MemGPT/Letta方式: OSのページング機構を模倣し、コンテキストウィンドウを「メインメモリ」、外部DBを「ディスク」として自動的にスワップする。2025年時点でLetta v0.5がOSS公開
  • LangChain ConversationBufferMemory: 直近N件の対話をバッファリングする最もシンプルな実装。ConversationSummaryMemoryは要約圧縮で長期対話に対応
  • Claude Code Memory: ~/.claude/memory/ ディレクトリにMarkdownファイルとして永続化。ユーザー/フィードバック/プロジェクト/リファレンスの4タイプに分類
  • RAG統合メモリ: ベクトルDB(Pinecone/Weaviate/Qdrant)に対話履歴を埋め込み保存し、関連記憶をコサイン類似度で検索
  • 階層的圧縮: 古い記憶を段階的に要約し、重要度スコアに基づいて保持/破棄を決定
  • セルフリフレクション: エージェントが自身の記憶を定期的に振り返り、高次の知見を抽出するメタ認知プロセス
  • マルチモーダル記憶: テキストだけでなく画像・音声・動画の記憶をCLIP/ImageBindで統合ベクトル化
  • 記憶の忘却曲線: エビングハウスの忘却曲線を模倣し、アクセス頻度に応じて記憶の重み付けを減衰させる

メモリアーキテクチャ比較表

アーキテクチャ記憶容量検索速度実装複雑度代表実装
バッファメモリコンテキスト長依存(4K〜2M)O(1) 即座低LangChain Buffer
要約メモリ無制限(圧縮損失あり)O(1) 即座中LangChain Summary
ベクトル検索メモリ数百万件O(log n) 50〜200ms中Pinecone/Qdrant統合
ページングメモリ無制限O(log n) 100〜500ms高MemGPT/Letta
グラフメモリ数十万ノードO(k) ホップ数依存高Zep/Neo4j統合

具体例・対応製品

MemGPT(Letta): UC Berkeley発のOSSプロジェクト。2025年にLetta Inc.として商用化。コンテキストウィンドウを仮想メモリとして管理し、128Kトークン制限のモデルでも事実上無制限の記憶を実現。Python SDK提供、月額$29のPro版あり。

Zep: 商用メモリサーバー。対話履歴をナレッジグラフ+ベクトルDBのハイブリッドで保存。ユーザーの事実抽出・感情分析を自動実行。Zep Cloud月額$49〜、セルフホスト版あり。

LangMem(LangChain): LangChainエコシステムのメモリ管理ライブラリ。ConversationBufferMemory/ConversationSummaryMemory/VectorStoreRetrieverMemoryなど7種類のメモリタイプを提供。2026年にlong-term memory APIをベータ公開。

設計パターンと選び方

短い対話(10ターン以下)であればバッファメモリで十分だが、カスタマーサポートボットのように数百ターンの長期対話が必要な場合はベクトル検索メモリやページングメモリが適する。コスト面では、バッファメモリはAPI呼び出しごとに全履歴を送信するためトークン消費が線形増加するのに対し、要約メモリは定数的なトークン消費に抑えられる。

ユースケース別推奨:

  • チャットボット(短期): ConversationBufferMemory + 直近20件制限
  • パーソナルアシスタント(長期): MemGPT/Letta方式 + ベクトルDB
  • ナレッジワーカー: グラフメモリ(Zep) + セマンティック検索
  • コーディングエージェント: ファイルベース永続メモリ(Claude Code方式)

関連用語との違い

用語焦点記憶の持続期間
LLMメモリアーキテクチャ記憶システム全体の設計短期〜永続
RAG外部知識の検索・参照静的(更新頻度低)
コンテキストウィンドウ1回の推論で参照できる範囲推論時のみ
ファインチューニングモデル重みへの知識埋め込み永続(再学習まで)
プロンプトキャッシュ同一プレフィックスの再利用セッション内

よくある質問(FAQ)

Q1: LLMメモリアーキテクチャを導入すると、どの程度コストが変わりますか? A: バッファメモリは対話が長くなるほどトークン消費が増加し、100ターンで約10倍のコストになる。要約メモリやベクトル検索メモリに切り替えると、コンテキスト送信量を80〜90%削減でき、長期対話でもコストを一定に抑えられる。

Q2: MemGPTとRAGの違いは何ですか? A: RAGは静的な外部知識を検索するのに対し、MemGPTは対話中に動的に記憶を書き込み・読み出し・更新する。MemGPTはRAGを内部コンポーネントとして含みつつ、記憶の管理・圧縮・忘却まで自動化する上位概念である。

Q3: 記憶の一貫性はどう保証されますか? A: 現時点で完全な一貫性保証は困難である。実用的なアプローチとして、記憶の書き込み時にコンフリクト検出(同一事実の矛盾チェック)を行い、新しい情報で上書きするLast-Write-Wins方式が主流。Zepはタイムスタンプ付きの事実管理で時系列の整合性を維持する。

まとめ

  • LLMメモリアーキテクチャは短期記憶(コンテキストウィンドウ)と長期記憶(外部DB)を統合する設計パターン
  • MemGPT/Letta、Zep、LangChain Memoryなど複数の実装が2025〜2026年に商用化
  • ユースケースに応じてバッファ/要約/ベクトル検索/ページング/グラフの5方式を選択
  • コスト最適化には要約メモリやベクトル検索メモリへの切り替えが有効
  • 2026年時点で記憶の一貫性保証は発展途上であり、コンフリクト検出が実用的な対策