AI、データ活用、業務改善に関する最新情報やNexaflowの取り組みをお届けします
AIサマリー
A-MEMは、LLMエージェントに人間のような長期記憶を与えるフレームワークで、記憶の保存・検索・更新を自律的に行います。従来の手法に比べ、動的な経験管理が可能で、長期タスクやパーソナライズにおいて効果を発揮します。特に、複数セッション対話での性能向上が顕著です。
AIエージェントが人間のように「過去の経験を覚えていて、それを活かせる」とすればどうでしょうか。A-MEMは、LLMエージェントに人間のような長期記憶を与える画期的なフレームワークです。本記事では、A-MEM論文の内容を解説し、エージェントメモリ技術の最前線をお伝えします。
関連記事: 本記事は「AIエージェント論文おすすめ9選」の詳細解説記事です。他の論文も合わせてご覧ください。
| 項目 | 内容 |
|---|---|
| タイトル | A-MEM: Agentic Memory for LLM Agents |
| 著者 | Wujiang Xu, Zujie Liang, Kai Mei 他 |
| 発表 | 2024年12月 |
| arXiv | 2502.12110 |
現在のLLMには「コンテキストウィンドウ」という入力トークン数の制限があります。
一見十分に見えますが、長期プロジェクトや継続的な会話では、過去の重要な情報が溢れてしまう問題が発生します。
RAG(Retrieval-Augmented Generation)
ベクトルDB + 埋め込み
人間の記憶は単なる「保存」ではありません。
A-MEMは、これらの人間的な記憶機能をエージェントに実装します。
A-MEMの核心は、記憶の保存・検索・更新を自律的に行うアーキテクチャです。
記憶は構造化されたフォーマットで保存されます。
{
"memory_id": "mem_001",
"content": "顧客Aは価格より品質を重視する",
"context": "2024年12月の商談",
"importance": 0.85,
"connections": ["mem_002", "mem_005"],
"created_at": "2024-12-15",
"accessed_count": 12
}
ポイント:
エージェント自身が記憶を管理します。
1. 記憶の追加
新しい経験を既存の記憶と照合し、適切な場所に保存。
2. 記憶の統合
類似した記憶を検出し、より抽象的な知識に統合。
[記憶A] 顧客Aは納期を重視
[記憶B] 顧客Bは納期を重視
[記憶C] 顧客Cは納期を重視
↓ 統合
[新記憶] 中小企業顧客は一般的に納期を重視する傾向
3. 記憶の更新
矛盾する情報を検出し、最新の情報で更新。
4. 記憶の整理
使用頻度の低い記憶を削除または圧縮。
従来のベクトル類似度検索に加え、以下を考慮した検索を実行。
| 観点 | 従来のRAG | A-MEM |
|---|---|---|
| データ対象 | 静的ドキュメント | 動的な経験・会話 |
| 更新方式 | バッチ処理 | リアルタイム |
| 検索基準 | ベクトル類似度のみ | 類似度 + 時間 + 重要度 + 文脈 |
| 記憶管理 | 人間が手動で管理 | エージェントが自律的に管理 |
| 統合・忘却 | 非対応 | 自動的に実行 |
| 適用場面 | 知識検索 | 文脈維持・パーソナライズ |
RAGとA-MEMの使い分け:
論文では、複数のベンチマークで検証が行われました。
| ベンチマーク | タスク内容 | A-MEM性能 | 従来手法比 |
|---|---|---|---|
| LongBench | 長文理解・質問応答 | 78.3% | +12.5% |
| PersonaChat | パーソナライズ対話 | 82.1% | +15.2% |
| MultiSession | 複数セッション対話 | 75.6% | +18.7% |
特に**MultiSession(複数セッション対話)での+18.7%**は、A-MEMの長期記憶能力を示す重要な結果です。
from dataclasses import dataclass
from datetime import datetime
from typing import List, Dict
import numpy as np
@dataclass
class Memory:
id: str
content: str
context: str
importance: float
connections: List[str]
created_at: datetime
accessed_count: int = 0
embedding: np.ndarray = None
class AgenticMemory:
def __init__(self, llm_client):
self.memories: Dict[str, Memory] = {}
self.llm = llm_client
def add_memory(self, content: str, context: str):
# Evaluate importance using LLM
importance = self._evaluate_importance(content)
# Find related memories
related = self._find_related_memories(content)
# Create memory
memory = Memory(
id=f"mem_{len(self.memories)}",
content=content,
context=context,
importance=importance,
connections=[m.id for m in related],
created_at=datetime.now()
)
self.memories[memory.id] = memory
# Consolidate if needed
self._consolidate_if_needed(memory)
def retrieve(self, query: str, k: int = 5) -> List[Memory]:
# Context-aware memory retrieval
candidates = []
for memory in self.memories.values():
score = self._calculate_relevance(query, memory)
candidates.append((memory, score))
# Sort by score and return top k
candidates.sort(key=lambda x: x[1], reverse=True)
return [m for m, _ in candidates[:k]]
def _calculate_relevance(self, query: str, memory: Memory) -> float:
# Calculate relevance score
# similarity + recency + importance + access frequency
similarity = self._cosine_similarity(query, memory.content)
recency = self._recency_score(memory.created_at)
return (
0.4 * similarity +
0.2 * recency +
0.2 * memory.importance +
0.2 * min(memory.accessed_count / 10, 1.0)
)
シナリオ: カスタマーサポートエージェント
[過去の記憶]
- 顧客Aは技術に詳しく、詳細な説明を好む
- 顧客Aは過去にプランBで不満を持っていた
[現在の質問]
「新しいプランを検討しています」
[A-MEMによる応答]
「技術仕様を詳しくご説明いたします。前回プランBでご指摘いただいた
同時接続数の制限は、新プランCでは解消されています...」
シナリオ: プロジェクト管理支援エージェント
[記憶の統合例]
プロジェクトA: 要件定義フェーズの長期化で遅延
プロジェクトB: 要件定義の曖昧さで手戻り発生
プロジェクトC: 要件定義の承認プロセスで遅延
↓
[統合された知見]
「要件定義フェーズは遅延リスクが高い。
早期に明確化と承認プロセスの設計が重要」
シナリオ: 長期DX支援プロジェクト
RAG: 静的なドキュメントの検索。事前に用意された知識ベースから情報を取得。
A-MEM: 動的な経験の管理。エージェントが自律的に記憶を整理・更新・検索。
両者は排他的ではなく、RAGで知識を、A-MEMで経験を管理する併用が効果的です。
論文執筆時点では公式実装は未公開です。ただし、以下のフレームワークで類似機能を実装可能です。
記憶の統合・評価にLLM呼び出しが必要なため、追加のAPIコストが発生します。ただし、コンテキストウィンドウの効率的な活用により、長期的にはコスト削減になる可能性があります。
A-MEMは、LLMエージェントに人間のような「記憶」を与える画期的なフレームワークです。
ポイント:
AIエージェントが「過去を覚えている」ことで、より人間らしい、一貫性のある支援が可能になります。長期プロジェクトや継続的な顧客対応に取り組む方は、ぜひA-MEMの考え方を参考にしてください。
本記事はAIエージェント論文解説シリーズの一部です。
こちらの記事も参考にしてください

Epiplexityは計算制約のあるAIモデルの学習可能性を定量化する新しい情報理論の尺度であり、シャノンエントロピーの限界を克服します。特に、データ拡張、カリキュラム学習、LLMの汎用能力など、従来の理論では説明できなかった現象を統一的に解決します。Epiplexityは、データセット設計や事前学習の最適化に新たな指針を提供し、今後のAI研究において重要な概念とされています。

AGIは2030年前後に実現するとの予測があり、Sergey Brinは2030年前、Demis Hassabisは2030年直後と述べている。Deep Thinkという推論パラダイムが次のブレークスルーの一部であり、600 ELO以上の性能向上が確認されている。AGI実現にはスケーリングとアルゴリズムの両方が必要で、物理世界の理解が次世代AIの中心となる。Google Glassの失敗からの教訓を活かし、スマートグラスの再挑戦が期待されている。

MetaGPTは、複数のAIエージェントが協調してソフトウェア開発を自動化するフレームワークであり、各エージェントが特定の役割を持ち、標準作業手順(SOP)に従って作業を行います。HumanEvalで85.9%の高い性能を達成し、従来の手法に比べて大幅な品質向上を実現しています。プロトタイプ開発やドキュメント自動生成に応用可能で、商用利用も可能です。