[おすすめ記事] AIエージェントの記憶メカニズムを理解する レオニー・モニガッティ氏の最新著書『AIエージェントにおける記憶の理解』は、現在のAIエージェントの記憶システムの中核概念、分類、管理手法、そして課題を体系的に概説しています。LLMは本質的に「ステートレス」であるため、セッション間の過去のインタラクションを自然に記憶することはできません。そのため、開発者は外部メカニズムを通じてエージェントの「記憶」機能を構築し、ユーザーの好みを学習し、経験を蓄積し、継続的に改善できるようにする必要があります。 インテリジェントエージェントのメモリとは何ですか? • コア定義:エージェントメモリとは、複数のユーザーインタラクションを通じて重要な情報を記憶、想起、そして忘却するエージェントの能力を指します。これは単にチャットログを保存するだけでなく、エージェントが「学習」し「適応」できるようにすることも意味します。 なぜメモリが必要なのでしょうか?LLMはトレーニング中に学習した知識(パラメータ知識)のみを記憶し、各会話はデフォルトでゼロから始まります。履歴情報を手動で入力しないと、エージェントは「忘れて」しまい、パーソナライズされた一貫性のあるサービスを提供できなくなります。 主な違い: • 「メモリ」とは、情報を保存および取得する機能の全体的なシステムを指します。 • 保存場所は「メモリモジュール」と呼ばれ、「メモリ」ではなく「情報」を保存します。 • エージェント メモリ: インテリジェント エージェントにメモリを提供する機能を指します。 • エージェントメモリ: メモリシステム自体も自律的に管理できます (たとえば、エージェントはツールを通じて自身のメモリにアクセスできます)。 記憶の2つの主な分類観点 1. 認知アーキテクチャに基づく分類(人間の記憶を模倣、CoALA論文およびSOARアーキテクチャより) • 作業メモリ: 現在のコンテキスト ウィンドウの内容を保存します。これは、現在のセッションでのユーザーの指示やエージェントの応答など、進行中の人間の会話に相当します。 • 意味記憶: 「ユーザーにはヘンリーという名前の犬がいます」や「ユーザーの誕生日は 8 月 15 日です」といった固定情報など、人間が学校で学ぶ不変の知識に似た事実の知識を保存します。 • 手続き記憶:スキル、ルール、本能を記憶します。これは、人間が自転車の乗り方を学習する際に、何も考えずに習得する動作に似ています。例えば、「質問に答える前に考えてください」や「ツールを使用する際は特定の形式に従ってください」といった、システムプロンプトにハードコードされた行動ルールなどが挙げられます。 • 手続き記憶:スキル、ルール、本能を記憶します。これは、人間が自転車の乗り方を覚えた後は、もはや考える必要がなくなる行動に似ています。例えば、「質問に答える前に考えなければならない」や「ツールを使用する際は特定の形式に従わなければならない」といった、システムプロンプトにハードコードされた固定された行動ルールなどが挙げられます。 2. デザインパターンに基づく分類(エンジニアリング実装に重点を置いたLettaフレームワーク) レッタは過度の擬人化はエンジニアリングの実装に有害であると信じ、より実用的な分類アプローチを採用しました。 • メッセージ バッファー: 現在のセッションの最新のメッセージ (コンテキスト内での短期的)。 • コアメモリ: エージェントによってアクティブに維持される重要な事実 (ユーザーの誕生日やパートナーの名前などのコンテキスト内でも)。 • リコールメモリ: 会話の完全な元の履歴 (通常は外部に保存されます)。 • アーカイブメモリ: 明示的に抽出された知識は、ベクターデータベースなどの外部ストレージに保存されます (長期)。 2 つのカテゴリ間の対応: • CoALA の作業記憶 ≈ Letta のメッセージ バッファ + コア メモリ • CoALA の長期記憶 (意味/プロット/手順) は、Letta のアーカイブ メモリとほぼ一致します • Letta には、「元の対話履歴」(想起メモリ) という追加の区別がありますが、CoALA ではこれは個別にリストされていません。 メモリ管理: どのように保存、取得、更新、そして忘れ去るのか? 1. コンテキスト定義ウィンドウ管理(短期記憶) • 問題: 会話が長くなるほど、生成されるトークンの数が増える → 速度が遅くなり、コストが高くなり、無関係な情報が混入しやすくなります。 • 一般的な手法: 古いメッセージを手動で削除し、定期的に履歴を要約します (要約のみを保持します)。 2. 外部ストレージ管理(長期記憶) コア操作 (ADD / UPDATE / DELETE / NOOP): • 新しい情報を追加する • 古い情報を更新する(例:ユーザーが引っ越した場合) • 無駄な情報や誤った情報を削除する(メモリの肥大化を防ぐため) 操作は必要ありません。 3. コンテキスト ↔ 外部ストレージフローメカニズム:明示的メモリ(ホットパス):エージェントは重要な情報をリアルタイムで判断し、独自のツールを用いて長期記憶に書き込みます(人間が意識的に何かを記憶するのと同様)。実装が難しく、信頼性が低い。 暗黙的メモリ(バックグラウンド処理):固定ルールに従って定期的に更新することで、より高度な制御が可能になります。一般的なシナリオ: • セッション終了後のバッチ処理。 • 固定間隔/ラウンドでの処理。 • 各対話ラウンドの直後の処理(高いリアルタイム要件)。 実装方法と課題: 保存場所: 現在の会話にはリスト、手順にはテキスト ファイル、長期的な知識にはベクター データベースまたはグラフ データベースを使用します。 • 主な課題: • レイテンシ: 読み取り/書き込み操作ごとに応答速度が低下します。 • 忘却メカニズム:最も難しいのは、古くなった情報を自動的に識別して削除する方法です。これがうまくいかないと、記憶が無制限に拡大し、質の低下につながります。 • 既存のフレームワーク: • 集中メモリ: mem0、Letta、Cognee、Zep • 汎用インテリジェントエージェントフレームワーク(メモリサポート付き):LangChain/LangGraph、LlamaIndex、CrewAI、Google ADK 主な結論と示唆 1. LLM はメモリなしで生まれるため、真に「インテリジェント」なエージェントになるためには外部メモリ システムが必要です。 2. 現在、メモリ設計には擬人化 (CoALA スタイル) とエンジニアリング (Letta スタイル) の 2 つのアプローチがありますが、将来的には統合される可能性があります。 3. 最も重要な技術的課題は、「短期記憶と長期記憶の間のインテリジェントな情報の流れ」と「信頼性の高い自動忘却」にあります。 4. この分野は急速な発展期にあり、多くの資金とオープンソースプロジェクトが集まっています。2026年には、より成熟したソリューションが登場すると予想されます。 ブログアドレス:
スレッドを読み込み中
X から元のツイートを取得し、読みやすいビューを準備しています。
通常は数秒で完了しますので、お待ちください。
![[おすすめ記事] AIエージェントの記憶メカニズムを理解する
レオニー・モニガッティ氏の最新著書『AIエージェントにおける記憶の理解』は、現在のAIエージェントの記憶システムの中核概念、分類、管理手法、そして課題を体系的に概説しています。](https://pbs.twimg.com/media/G6PZArJbsAAu9LI.jpg)