
LLMの長期記憶と短期記憶 | AIモデルの記憶メカニズムを徹底解説
LLMにおける「長期記憶」と「短期記憶」
大規模言語モデル(LLM)は、人間の脳に例えられることが多いですが、実際には「記憶」の扱いがかなり特殊です。
開発者やエンジニアにとって 短期記憶(コンテキストウィンドウ) と 長期記憶(外部知識や永続データストア) を理解しておくことは、実用的なアプリケーションを設計する上で非常に重要です。
短期記憶(コンテキスト)の正体
LLMの「短期記憶」とは、モデルが一度の推論(inference)で参照できるテキスト領域、つまり コンテキストウィンドウ を指します。
- GPT-4 や Llama 3 などでは、数千〜十数万トークンのテキストを一度に扱えます。
- これはあくまで一時的な記憶であり、次回の会話やリクエスト時にはリセットされてしまいます。
- 例えるなら、「その場の会話ログ」を覚えているだけで、電源を切れば全て消える揮発性メモリ のようなものです。
開発者にとっての課題は、コンテキストに入れられる情報量が有限である点です。そのため、長文を扱う場合やドメイン知識を参照する場合は、情報の取捨選択 や 要約 が不可欠になります。
長期記憶(永続化された知識)
一方で「長期記憶」とは、LLMが直接保持していないものの、外部システムと組み合わせて実現する仕組みを指します。
- 代表例は RAG(Retrieval Augmented Generation) です。
ユーザーの質問に応じて、ベクトルDBから関連ドキュメントを検索し、コンテキストに取り込むことで「長期記憶」を模倣します。 - さらに最近では、永続メモリ(Persistent Memory) の研究も進んでいます。これはユーザーごとの履歴や知識をデータベースに蓄積し、モデルが次回以降も参照できるようにする試みです。
- 例えるなら、外付けのHDDやクラウドストレージ に記録しておき、必要に応じて読み込むスタイルです。
この「長期記憶」をどう設計するかで、LLMアプリの性能やユーザー体験が大きく変わります。
短期と長期の組み合わせ方
実際のシステム開発では、「短期」と「長期」を組み合わせるのが鉄則です。
- 短期記憶に直近の会話やユーザー入力を入れる
→ モデルがその場で文脈を理解できるようにする。 - 長期記憶から関連知識を呼び出して補強する
→ ベクトル検索や知識グラフを使って、コンテキストを強化。 - 必要に応じて要約・圧縮
→ コンテキストの容量制限を超えないよう調整する。
例えば、カスタマーサポート用のチャットボットでは「直近の会話履歴(短期)」と「製品マニュアル・FAQ(長期)」を同時に扱うことで、自然で的確な回答を生成できます。
エンジニアが押さえておくべきポイント
- 短期記憶は有限でリセットされる → モデルの限界を理解することが重要。
- 長期記憶は外部設計が鍵 → ベクトルDBやRAGの設計力がアプリ品質を決める。
- ユーザー体験の差はメモリ設計で生まれる → 「覚えてくれるAI」と「忘れてしまうAI」の差は、裏側のアーキテクチャにある。
まとめ
LLMの「記憶」は、人間の脳のように自然に蓄積されるものではありません。
短期記憶(コンテキスト処理) と 長期記憶(外部知識・永続化) を正しく設計・使い分けることで、よりスマートで信頼できるAIアプリケーションを作ることができます。
これからのAIエンジニアリングは、「どんなモデルを使うか」だけでなく「どう記憶を設計するか」 が成功の分かれ目になるでしょう。