Anthropic: エージェントメモリの構成要素

エージェントメモリの理解

エージェントメモリとは、Claudeがユーザーとの対話や割り当てられたタスクなどの経験から得た知識であり、セッションをまたいでアクセス可能なコンテキストとして保持されるものを指します。これには、内部的な重みの更新、標準的なインコンテキスト学習、あるいは単純なコンテキストの圧縮は含まれません。効果的なエージェントメモリは人間の脳と同様に機能し、リアルタイムのキャプチャとオフラインでの統合という役割分担を活用します。

「夢を見る(Dreaming)」ことの役割

「夢を見る(Dreaming)」とは、モデルが対話の合間のアイドル時間を利用して、記憶を再構成、内省、洗練させるプロセスです。人間の海馬が睡眠中に経験を再生して大脳新皮質に統合するのと同様に、Claudeは夢を見ることを通じて以下のことを行います。

  • エラーの修正: メモと元のセッションのトランスクリプトを比較することで、Claudeはハルシネーションや古い情報を特定し、修正できます。
  • 表現の構築: Claudeは知識をマッピングするリンクされたページの集合体である「Wiki」を構築し、検索効率を向上させることができます。
  • 階層の促進: 夢を見ることで、モデルは重要な情報をメモリ階層の最上位に浮上させ、新しいセッションの開始時にコンテキストウィンドウへ確実に注入できるようにします。
  • 焦点の洗練: 内省を通じて、Claudeは自身のメモリ作成手順を更新し、冗長なログよりも関連性の高いデータを優先するようにします。

予測ツールとしてのメモリ

メモリは、将来のセッションで何が必要になるかを予測するツールとして機能します。Anthropicが CL-Bench 1.0を使用して行った評価では、Claude Opus 5 のようなフロンティアモデルが、失敗を記録し、原因を理論化し、将来の使用のために成功したルールを体系化することで「ループを閉じる」ことができることが示されています。

メモリ管理に成功したモデルは、以下のような特性を示します。

  • 顕著性の判断: Fable 5 のようなより高性能なモデルは、一時的な状態データ(現在の場所や所持金など)よりも、戦略的な洞察(例:「3つ以上のボールが失敗した場合はタイミングを変える」)を優先します。
  • オーバーヘッドの削減: 簡潔で構造化されたメモリを維持することで、エージェントは情報を無差別に保存するモデルに見られるパフォーマンスの低下を回避します。

メモリ設計の戦略的インプリケーション

Anthropicは、エージェントメモリの実装に関して以下の重要な知見を強調しています。

  • 自律性と制御: 一般的なガイダンスは役立ちますが、何を記憶するかについて厳格なルールを設定することは、フロンティアモデルのパフォーマンスを実際に低下させる可能性があります。モデル自身に顕著性を判断させる方が、一般的に効果的です。
  • Wikiの有用性: 法的文書の作成のような複雑なタスクでは、Wikiは文書全体から情報を統合することで、生のファイル検索よりも大幅に優れたパフォーマンスを発揮します。ただし、Wikiがソース資料と同じくらい大きくなると、抽象化としての有用性は失われます。
  • 計算コストのトレードオフ: メモリの維持には計算リソースが必要です。夢を見ることは強力ですが、継続的な検証コストとのバランスを取る必要があります。将来のシステムでは、メモリへのアクセス頻度や保存される情報の変動性に基づいて、夢を見る頻度を調整する必要があるでしょう。

Sources