>_tech-draft
Mastra AIのアイコン
Mastra AI
動画公開日
タイトル

Observational Memory: The Human-Inspired Memory System for AI Agents, with Tyler Barnes

再生時間

19分 31秒

エージェントの記憶力革新!Mastra「Observational Memory」徹底解説

ポイント

  • AIエージェント開発者向けに、Mastraが発表した革新的な記憶システム「Observational Memory」の全貌を解説します。
  • 従来の記憶システムが抱える課題を克服し、プロンプトキャッシュ安定化とLongEvalベンチマークで史上最高スコアを達成する仕組みを紹介します。
  • エージェントの長期記憶を最適化し、運用コスト削減を実現する最先端技術の具体的な実装と、その開発背景にある人間的洞察を学べます。

Mastraは、AIエージェントの記憶システムに革命をもたらす新機能「Observational Memory(観測的記憶)」を発表しました。これは最先端の技術であり、現在ベンチマークでこれ以上の性能を示したエージェント記憶は存在しません。本記事では、Mastraの創業エンジニアであるタイラー・バーンズ氏が開発したObservational Memoryの全貌に迫ります。

Observational Memoryとは?従来の記憶システムとの比較

Mastraにはこれまで、「Semantic Recall(意味的想起)」と「Working Memory(ワーキングメモリ)」という2つの記憶システムがありました。それぞれに長所と短所があり、Observational Memoryはそれらの最良の部分を組み合わせることで、新たな高みへと到達しました。

Semantic RecallとWorking Memoryの課題

  • Semantic Recall(RAGを使用):
    • RAG(Retrieval Augmented Generation:検索拡張生成)を用いた意味的想起は、以前から非常に優れたロングメモリvalスコアを誇っていました。GPT-4oで約80%という高いスコアを記録しています。
    • しかし、ユーザー入力やエージェントの出力ごとに埋め込みを作成し、クエリを実行して動的なコンテキストを注入するため、リクエストごとにプロンプトキャッシュが無効化されてしまい、運用コストが高くなるという欠点がありました。
  • Working Memory(ワーキングメモリ):
    • Working Memoryはプロンプトキャッシュが完全に安定しており、運用コストは安価でした。
    • しかし、スコアはSemantic Recallほどではなく、その性能には改善の余地がありました。

Observational Memoryの登場

Observational Memoryは、これら2つのシステムの利点を融合させました。プロンプトキャッシュを安定させつつ、Semantic Recallよりもさらに高い性能を実現しています。

LongEvalベンチマークでの驚異的な成績

Mastraは、LongEvalベンチマークにおいて、Observational Memoryで驚くべき成果を達成しました。

  • GPT-4oを使用した場合、**約84%**のスコアを記録。
  • GPT-5 Miniを使用した場合、95%近くのスコアを記録し、これはあらゆるモデルの中で史上最高スコアとなります。

この結果は、Observational MemoryがAIエージェントの記憶領域において、まさに最先端であることを明確に示しています。

Observational Memoryの仕組み:どのように機能するのか?

Observational Memoryは、従来のSemantic Recallのような動的なコンテキスト注入とは異なり、コンテキストウィンドウ内に2つの異なる「データバケット(記憶領域)」を持つことで機能します。

コンテキストウィンドウの構造

  1. メッセージ履歴(Message History):
    • エージェントとの対話が開始されると、まずメッセージがこの領域に追加されていきます。メッセージは次々と蓄積され、この領域は成長し続けます。
  2. 観測(Observations)への変換:
    • メッセージ履歴が事前設定された特定の「しきい値」に達すると、それらのメッセージは「観測(Observations)」に置き換えられます。
    • これにより、コンテキストウィンドウは2つの部分で構成されるようになります。一つは「これまでに起こったことすべてに関する密度の高い観測」であり、もう一つは「それ以降に入ってくる新しいメッセージ」です。観測は時系列順に保持されます。

プロンプトキャッシュの安定性

この2部構成のコンテキストウィンドウにより、Observational Memoryはプロンプトキャッシュを安定させることができます。

  • 観測とメッセージのそれぞれに「プロンプトキャッシュのブレークポイント」を設定し、それぞれにコンテンツを追記していくことが可能です。
  • これにより、従来のSemantic Recallのようにリクエストごとにプロンプトキャッシュが無効化されることを防ぎ、コスト効率を向上させています。

Reflectorエージェントによる長期記憶の最適化

観測の量が増え続けると、いずれは観測領域も上限に達します。この課題に対処するため、Observational Memoryには「Reflector(リフレクター)」と呼ばれる第3のエージェントが導入されています。

  • 観測のしきい値に達すると、Reflectorエージェントが起動します。
  • Reflectorは、これまでのすべての観測を取り込み、それらを「再編成」します。類似する情報を組み合わせ、もはや有用でない情報を削除(忘却)します。
  • これは「優雅な劣化(graceful degradation)」と呼ばれ、実際に重要でない情報を忘れる能力を持つことで、記憶システム全体が効率的に機能し続けることを可能にしています。

これらの要素が組み合わされることで、Observational Memoryは非常に高いスコアを達成しているのです。

開発の背景とインスピレーション

タイラー・バーンズ氏は、自身が開発していたコーディングエージェントの経験からObservational Memoryのアイデアを着想しました。

タイラー・バーンズ氏の課題意識

  • 従来のコーディングエージェントでは、ファイルをコンテキストに固定する機能が不足していることに不満を感じていました。
  • しかし、自分でファイルを固定する仕組みを実装してみると、すぐにそれが非常に悪いアイデアであることに気づきました。例えば、1000個ものファイルを固定しようとすると、コンテキストウィンドウがすぐにいっぱいになり、運用コストが法外に高くなってしまうのです。
  • 当時、Gemini 2.5 Proを使用していましたが、「すべてを知っている」かのように振る舞うその性能には満足していたものの、1日300ドルもの費用がかかることに頭を悩ませていました。
  • 「すべてを知っていてほしいが、法外な費用はかけたくない」――このジレンマが、開発の原動力となりました。

人間の記憶システムからの着想

タイラー氏は、この課題を解決するために「自分の記憶はどのように機能しているのか?」という根源的な問いを自問しました。

  • 人間がコーディングをする際、私たちは「イベントリスト」を観測しています。自分が何をしたか、何が起こったか、何を学んだか、という一連の出来事です。
  • この人間の記憶の仕組み、特に「出来事を観測し、それを整理する」というプロセスからヒントを得て、Observational Memoryが考案されました。
  • Reflectorエージェントは、まるで人間が睡眠中に思考を整理し、再編成する長期記憶の役割を果たしているかのようです。これにより、以前は気づかなかったことに気づくかのような、より深い理解が生まれることもあります。

Observational Memoryの内部実装においても、この人間の記憶の比喩は用いられています。ObserverとReflectorのシステムプロンプトには、「メインエージェントの潜在意識の記憶である」と指示されており、彼ら自身がその概念を理解しながら動作する点が興味深いとされています。

実装と将来の展望

Observational Memoryは、メインエージェントとの会話の裏側で動作する「バックグラウンドエージェント」として機能します。

バックグラウンドエージェントとモデル選択

  • ObserverやReflectorといったバックグラウンドエージェントは、独自のモデル設定を持っています。
  • デフォルトでは、Gemini 2.5 Flashが推奨されています。これは開発者が最も多くのテストを行い、良好な結果を得ているためです。ほとんどのモデルは十分に機能しますが、Claude 4.5モデルは現時点ではあまりうまく機能しないことが判明しています。

ブロッキングモデルからバックグラウンドバッファリングへ

初期リリース版では、以下のような「ブロッキングモデル」が採用されています。

  • 例えばメッセージ履歴のしきい値が30,000トークンに設定されている場合、その上限に達すると処理が一時的にブロックされ、発生したすべての出来事について観測を作成し、それらで履歴を完全に置き換えるという仕組みです。

しかし、Mastraでは近日中に「バックグラウンドバッファリング」の仕組みを導入する予定です。

  • これは、履歴のしきい値を30,000トークンと設定しつつ、例えば5,000トークンごとにバックグラウンドでより小さな観測チャンクを作成していくものです。
  • そして、履歴が上限に達した際に、最初の80%などをアクティブ化する(割合は設定可能)という柔軟な方法で処理を行います。
  • この改良により、どのモデルを使用してもObservational Memoryが良好に機能することが期待されています。

まとめ:エージェント記憶の未来

MastraのObservational Memoryは、AIエージェントの記憶システムにおける画期的な進歩を示しています。従来のシステムの課題を克服し、人間の記憶プロセスからインスピレーションを得て開発されたこの技術は、高い性能とコスト効率を両立させました。LongEvalベンチマークでの史上最高スコアは、その効果を裏付けています。

AIエージェントがより複雑なタスクをこなすためには、効率的で信頼性の高い記憶システムが不可欠です。Observational Memoryは、この分野の未来を切り拓く重要な一歩となるでしょう。今後のMastraの進化に、ますます目が離せません。

参考動画

Agents Hour: Mastra Observational Memory