一文定義
会話履歴を保持・管理してLLMに過去の文脈を提供する仕組み。短期メモリ(会話内)・長期メモリ(DB永続化)の2種類がある。
詳細解説
チャットメモリ(Chat Memory)とは、LLMベースのチャットシステムにおいて、過去の会話履歴をLLMのコンテキストとして提供する仕組みです。LLM自体は会話の状態を保持しないステートレスなモデルであるため、チャットシステム側でメモリ管理を実装する必要があります。
メモリの種類として、(1)短期メモリ(In-context Memory):コンテキストウィンドウ内に会話履歴を保持する最もシンプルな方式。会話が長くなるとトークン制限に達するため、古いメッセージを切り捨てるか要約する処理が必要、(2)長期メモリ(External Memory):会話履歴・ユーザー情報・重要な事実をDBやベクトルストアに永続化し、関連情報を都度取得する方式。セッションをまたいで情報を保持できる、(3)エピソードメモリ:特定のイベント・経験を構造化して保存し後から参照する方式、(4)セマンティックメモリ:一般的な知識・ファクトを整理して保存する方式があります。
実装パターンとして、LangChainはConversationBufferMemory(全履歴)・ConversationSummaryMemory(要約して圧縮)・ConversationBufferWindowMemory(直近N件のみ)など複数のメモリクラスを提供しています。
専門的なメモリ管理サービスとして、Mem0(旧Memory)はユーザーごとの長期記憶をベクトルDBで管理するAPIを提供し、Zepはエンタープライズ向けの会話メモリ・事実抽出・エンティティ管理を担います。OpenAI Assistants APIにもメモリ相当のThread機能があります。
マルチエージェントシステムでは、エージェント間で共有するメモリ(Shared Memory)の設計がシステム全体の一貫性に関わる重要な設計要素です。
参考情報・出典
- ▸Memory – LangChain Documentation— LangChain(参照日: 2026-02-26)
- ▸Mem0 – The Memory Layer for AI Apps— Mem0(参照日: 2026-02-26)