MemGPT
読み: メムジーピーティー
MemGPTとはAIの記憶管理技術
MemGPTとは、LLMに仮想的なメモリ管理機構を持たせることで、コンテキストウィンドウの制約を超えた長期記憶を実現するフレームワークである。カリフォルニア大学バークレー校の研究チームが2023年に発表し、現在はLettaという名称のオープンソースプロジェクトとして開発が続いている。
かんたんに言うと
LLMの「一度に覚えていられる量」には上限がある。MemGPTはOSのメモリ管理と同じ発想で、使わない情報を外部ストレージに退避し、必要になったら呼び戻す仕組みをLLMに組み込んである。
MemGPTが生まれた背景とコンテキストウィンドウの壁が業務に与える影響
LLMが一度に処理できるテキスト量には上限がある。コンテキストウィンドウと呼ばれるこの制約は、GPT-4で128Kトークン、Claude 3.5で200Kトークン程度。長いようで、業務の文脈を数か月分蓄積するには全く足りない。
会話が長くなると、冒頭の情報からこぼれ落ちていく。先週話した内容はおろか、30分前に伝えた前提条件すら忘れることがある。
MemGPTはこの問題に対して、OSの仮想メモリと同じアプローチを採った。メインメモリに入りきらないデータをディスクに退避し、必要なときにページインする。コンピュータサイエンスの古典的な技術をLLMに応用した点が新しい。
メインコンテキストと外部ストレージの二層構造
MemGPTのアーキテクチャは二層に分かれている。
メインコンテキストは、LLMが直接参照できるメモリ領域にあたる。ここにはシステムプロンプト、直近の会話履歴、ユーザーのプロファイル情報などが収まる。容量は限られているため、常に最も重要な情報を保持するよう管理される。
外部ストレージには、アーカイブメモリとリコールストレージの二種類がある。アーカイブメモリは長期保存用で、過去の会話やユーザーの嗜好、作業履歴が格納される。リコールストレージは会話ログの全文を保持しており、必要に応じて検索できる。
LLM自身が「この情報は後で使う」と判断したらアーカイブに退避し、「あの話題について思い出す必要がある」と判断したら検索して呼び戻す。この判断をLLM自身が自律的に行う点がMemGPTの核心にあたる。
<a href="/ai-glossary/rag/">RAG</a>との根本的な違い
RAGは「ユーザーの質問に関連する文書を外部から検索して、LLMに渡す」仕組みである。検索のトリガーはユーザーの質問文。受動的な検索といえる。
MemGPTは「LLM自身が、いつ何を覚え、いつ何を思い出すかを自分で判断する」仕組みである。会話の流れの中でLLMが能動的にメモリ操作を行う。ユーザーが明示的に質問しなくても、文脈に応じて過去の情報を引っ張ってくる。
もう一つの違いは書き込みの有無にある。RAGは基本的に読み取り専用で、検索対象のデータベースをリアルタイムに更新する設計にはなっていない。MemGPTは会話のたびにメモリを更新し続ける。ユーザーが「来月から新しいプロジェクトが始まる」と言えば、その情報をアーカイブに書き込み、翌月の会話で自動的に参照する。
ただし、RAGとMemGPTは排他的な技術ではない。外部文書の検索にRAGを使い、会話の文脈管理にMemGPTの仕組みを使う、という組み合わせが実用的な落としどころになる。
Lettaへの改称と今後の展開
2024年、MemGPTプロジェクトはLettaに改称された。研究プロジェクトから本格的なオープンソースフレームワークへと移行し、エージェント開発のプラットフォームとしての色合いが強まっている。
Lettaはサーバーとして動作し、REST APIを通じてエージェントの作成やメモリ操作を行える設計になっている。複数のエージェントがそれぞれ独立したメモリを持ち、長期的な文脈を維持しながらタスクを遂行する。
企業向けの導入はまだ初期段階にある。メモリ管理をLLM自身に委ねるため、不要な情報を溜め込んだり、重要な情報を誤って消去するリスクはゼロではない。メモリの棚卸しやガバナンスの仕組みが整うまでは、業務利用には慎重な検証が必要になる。
当社の見解
当社は機密情報のマスキング処理を全てローカルAIで行っている。これにより機密情報を外部に送信せずにAI処理できるようになった。だが、AIが嘘をつくハルシネーションの問題は依然としてある。確認していないのに「確認しました」と言う。当社はこの前提で運用を設計している。事実と推測の強制分離、ファクトチェック機能、3つのAIと人間の同士の三重検証を行っている。どこまでいっても、AIは完璧ではない。理論上100%安全設計をしていても、AIも人間も想定しないことは起こるものだ。その万が一に備えておくことが、AIを使う上では前提になっている。だろうではなく、かもしれない運用がAIを使う上での安全基盤となっている。
同じ失敗を二度としないAIエージェント
今のAIは、聞けば何でも答えてくれます。
でも、セッションが切れた瞬間に前回の失敗を忘れます。
当社が開発しているAIは、過去の経緯を念頭に置いて、
聞かれる前に「それは前回うまくいきませんでした」と声をかけます。
人間にも同じ失敗をさせず、AI自身も繰り返しません。
古参の社員が横にいるように、黙っていても気づいてくれる。
それが、当社が考える本当のAI社員です。
