エージェント記憶アーキテクチャ(エージェントキオクアーキテクチャ)
LLMエージェントが短期記憶・長期記憶・エピソード記憶を統合的に管理し、過去の経験や対話履歴を活用してタスク遂行能力を向上させるための記憶システム設計。MemGPT/Letta、LangChain Memory、AutoGen等のフレームワークで実装される。
エージェント記憶アーキテクチャとは
エージェント記憶アーキテクチャ(Agentic Memory Architecture)は、LLMベースの自律エージェントが複数種類の記憶を階層的に管理し、過去の経験・対話・行動結果を蓄積・検索・活用するためのシステム設計パターンである。2023年にStanford大学の「Generative Agents」論文で注目を集め、2024〜2026年にかけてMemGPT(現Letta)、LangChain Memory、AutoGen、CrewAI等の主要フレームワークが実装を進めている。
従来のLLMはコンテキストウィンドウの制約(GPT-4で128Kトークン、Claude 3.5で200Kトークン)により、長期的な文脈保持が困難だった。エージェント記憶アーキテクチャはこの制約を、外部記憶ストアとの連携・記憶の階層化・選択的想起メカニズムによって克服する。
記憶の3層モデル
認知科学の知見を応用し、エージェント記憶は以下の3層で構成される。
| 記憶層 | 保持期間 | 容量 | アクセス速度 | 実装例 |
|---|---|---|---|---|
| ワーキングメモリ | タスク実行中 | 数千〜数万トークン | 即座(コンテキスト内) | LLMコンテキストウィンドウ / Scratchpad |
| エピソード記憶 | 中期(セッション〜数日) | 数万〜数百万件 | 数百ms(ベクトル検索) | Qdrant / Pinecone / ChromaDB |
| 長期記憶 | 永続 | 無制限 | 数秒(KG検索) | Neo4j / ナレッジグラフ / SQL |
この3層モデルは、人間の記憶システム(感覚記憶→短期記憶→長期記憶)を参考にしており、Atkinson-ShiffrinモデルをLLMエージェント向けに再解釈したものである。
主要フレームワークの実装比較
2026年現在、エージェント記憶を本格実装している主要フレームワークは以下の通り。
| フレームワーク | 記憶方式 | 永続化 | ベクトルDB連携 | 記憶の自動整理 | ライセンス |
|---|---|---|---|---|---|
| MemGPT/Letta v0.6 | 仮想コンテキスト管理 | PostgreSQL | Qdrant/Chroma | ページング自動化 | Apache 2.0 |
| LangChain Memory v0.3 | Buffer/Summary/KG | Redis/SQL | FAISS/Pinecone | ConversationSummaryBufferMemory | MIT |
| AutoGen v0.4 | TeachableAgent | SQLite | Chroma | 明示的teach/learn | MIT |
| CrewAI v0.80 | 短期+長期 | ファイル/DB | 内蔵 | タスク間共有 | MIT |
| Semantic Kernel v1.0 | SemanticTextMemory | Azure Cosmos | Azure AI Search | 手動管理 | MIT |
記憶管理の主要パターン
1. Read-Write-Reflect パターン
Reflexion(Shinn et al., 2023)で提案された手法。エージェントが行動→結果観察→振り返り→記憶更新のサイクルを回す。
- Read: 関連記憶をベクトル検索で取得(Top-K=5〜20)
- Write: 行動結果とその評価を構造化して記録
- Reflect: 蓄積された記憶から高次の洞察を生成し、長期記憶に昇格
2. Memory Consolidation(記憶統合)
類似する複数の短期記憶を要約・統合して長期記憶に変換する手法。Generative Agents(Park et al., 2023)で実証された。
- 類似度閾値0.85以上の記憶群をクラスタリング
- LLMによる要約生成で1つの統合記憶に圧縮
- 重要度スコア(Importance Score)で記憶の優先度を管理
3. Hierarchical Memory(階層型記憶)
RAISE(Reasoning and Acting through Scratchpad and Examples, 2024)で提案。タスクの粒度に応じて記憶を階層化。
- L0: 即座のタスクコンテキスト(〜4Kトークン)
- L1: セッション内の重要イベント(〜100件)
- L2: プロジェクト全体のナレッジ(〜10,000件)
- L3: ドメイン知識ベース(無制限)
記憶検索の最適化技術
エージェント記憶の検索精度を向上させるための技術は以下の通り。
- ハイブリッド検索: ベクトル類似度(コサイン類似度)+ BM25キーワード検索の組合せ。Reciprocal Rank Fusion(RRF)で統合
- 時間減衰関数: 古い記憶の重要度を指数関数的に減衰させる。減衰率λ=0.01〜0.1/日が一般的
- 重要度フィルタリング: 記憶書き込み時にLLMが1〜10で重要度を評価、検索時に閾値(通常5以上)でフィルタ
- コンテキスト圧縮: 検索結果をLLMで要約し、限られたコンテキストウィンドウに収める(LLMLingua、LongLLMLingua等)
実装上の課題と対策
| 課題 | 影響 | 対策 |
|---|---|---|
| 記憶の肥大化 | 検索速度低下・コスト増 | TTL設定・重要度ベース刈り込み・階層化 |
| 幻覚記憶 | 誤った前提での推論 | 記憶の信頼度スコア管理・定期検証 |
| プライバシー | 個人情報の永続記憶 | PII検出・自動マスキング・保持期限 |
| 一貫性 | 矛盾する記憶の共存 | 記憶更新時の競合検出・バージョニング |
| レイテンシ | 記憶検索による応答遅延 | キャッシュ層・非同期プリフェッチ・Top-K制限 |
よくある質問(FAQ)
Q1: エージェント記憶とRAGの違いは何ですか? A: RAGは外部ドキュメントからの情報検索に特化するのに対し、エージェント記憶はエージェント自身の行動履歴・対話履歴・学習結果を蓄積・活用する点が異なる。RAGは静的な知識ベース、エージェント記憶は動的に成長するストアである。
Q2: どのフレームワークが最も実用的ですか? A: 2026年時点ではLetta(旧MemGPT)が最も成熟しており、仮想コンテキスト管理による透過的な記憶ページングが実用レベルに達している。LangChain Memoryは柔軟性が高いが設定が複雑、AutoGenは教師あり記憶に強い。
Q3: コンテキストウィンドウが拡大すれば記憶アーキテクチャは不要になりますか? A: 不要にはならない。100万トークンのコンテキストウィンドウでも、全履歴をコンテキストに入れるとコスト($10〜/リクエスト)と遅延(数十秒)が膨大になる。選択的な記憶検索によるコスト最適化は今後も必須である。
Q4: 記憶の永続化にはどのストレージが適していますか? A: ベクトルDB(Qdrant/Pinecone)とリレーショナルDB(PostgreSQL)のハイブリッドが推奨。ベクトルDBで意味検索、RDBでメタデータ管理・ACID保証を分担する構成が一般的。
まとめ
- エージェント記憶はワーキングメモリ・エピソード記憶・長期記憶の3層で構成
- Letta、LangChain Memory、AutoGen等が主要な実装フレームワーク
- Read-Write-Reflect、Memory Consolidation、Hierarchical Memoryが代表的な設計パターン
- コンテキストウィンドウ拡大だけでは解決できないコスト・速度の課題を記憶アーキテクチャが補完する