AIエージェントにはより大きなコンテキストウィンドウはいらない。必要なのは本当のメモリだ

Dev.to / 2026/4/7

💬 オピニオンDeveloper Stack & InfrastructureIdeas & Deep AnalysisModels & Research

要点

  • 実運用においてAIエージェントが予測可能な失敗をするのは、「ステップ間」や「セッション間」で“忘れて”しまうからであり、単にコンテキストウィンドウを大きくしても、その根本的な制約は解決しない。
  • この記事は、現在の多くのエージェントがメモリを、セッションの文脈・一時的な実行時入力・任意の取得(リトリーバル)で疑似的に実現している一方で、耐久性のあるストレージと一貫したIDの対応付けを備えた“永続的な状態レイヤー”が欠けていると論じる。
  • チャット履歴、RAG、要約ループといった一般的な修正策が部分的には役立つ理由を説明しつつ、それらが真の積み上がるメモリを生み出さないこと、また時間とともに劣化し得ることも示す。
  • 「本当のメモリシステム」はアーキテクチャ設計として捉えるべきであり、永続的なメモリ格納層、取得レイヤー、そして何を保存するか・どのように進化させるかを明示的に更新するロジックを含める必要がある。
  • 全体として、この記事はAIエージェントの“メモリ”をLLMのコンテキスト問題としてではなく、構造化され進化し、セッションをまたいで持続する状態を必要とするシステム設計の問題として捉え直す。

問題

AIエージェントは、推論、ツールの使用、タスクの実行においてどんどん上達しています。

しかし実運用では、まだ非常に予測可能な形で失敗します。

それは「忘れる」ことです。

ユーザーの好み、過去の判断、これまでの文脈、そしてほんの数ステップ前に自分がやったことすらも忘れてしまいます。文脈ウィンドウがどれだけ大きくなっても、この問題は消えません。

なぜなら、文脈は記憶ではないからです。

なぜこれが起きるのか

システムの観点から見ると、今日のほとんどのAIエージェントは実際には「記憶」を持っていません。持っているのは「それっぽく見せる」ことです。

実際にあるのは次のようなものです:

  • 単一のセッションに紐づいた文脈ウィンドウ
  • 実行時に渡される一時的な入力
  • 外部データからの任意の取得

欠けているのは、永続的な状態層です。

重要なものが永続的に保存されることがありません。

セッション間で一貫したアイデンティティ対応がありません。

時間の経過とともに知識を蓄積する仕組みがありません。

各インタラクションは、ほぼゼロから始まります。

履歴を含めたとしても、再読み込みされるだけで、覚えられるわけではありません。

なぜ現在のアプローチでは不十分なのか

多くの手法がこのギャップを埋めようとしています。改善はしますが、解決はしません。

チャット履歴

セッション内では機能しますが、セッションをまたぐと壊れます。永続的ではなく、スケールしません。

検索拡張生成(RAG)

外部の知識へのアクセスは改善されますが、検索は記憶ではありません。データを取りに行くだけで、状態を構築しません。

要約のループ

過去のやり取りを圧縮できますが、細部を失います。時間が経つにつれて、要約はズレたり劣化したりします。

より大きい文脈ウィンドウ

モデルが「見られる」量は増えますが、保持できるものは増えません。

これらのアプローチは文脈を拡張します。

しかし、記憶を作り出しません。

実際の「記憶システム」とはどのようなものか

システム設計の観点で考えるなら、実際の記憶システムは「機能」ではなく「アーキテクチャ」です。

最低限、5つの層が必要です。

1. 記憶ストレージ層

セッションをまたいで生き残る永続的な保存領域です。

ドキュメントだけでなく、構造化され、進化していく記憶です。

2. 検索(リトリーバル)層

文脈、意図、またはアイデンティティに基づいて、関連する記憶を取得する方法です。

3. 更新ロジック

次を決めるためのルール:

  • 何が保存されるのか
  • いつ保存されるのか
  • 時間とともにどのように進化するのか

4. アイデンティティ対応

記憶は、ユーザー、エージェント、またはエンティティに紐づけられる必要があります。

アイデンティティがなければ、継続性はありません。

5. 文脈注入(コンテキスト・インジェクション)層

関連する記憶は、適切なタイミングでモデルに再導入される必要があります。すべてを一度に入れたり、無差別に入れたりしないでください。

これはプロンプトの小技ではありません。

システムです。

実際の記憶層の導入

これをゼロから作ろうとすると、すぐに簡単ではないことが分かります。

必要なのは、検索だけではありません。永続性、構造、ガバナンス、一貫性が必要です。

そこで、MemoryLakeのようなシステムが登場します。

記憶を追加機能として扱うのではなく、AIスタック内の専用の層として扱います。それは、ユーティリティというよりインフラに近いものです。

ベクタデータベースではありません。

RAGだけでもありません。

記憶を状態として管理するために設計されたシステムです。

MemoryLakeがこのアーキテクチャにどう収まるか

MemoryLakeのようなシステムは、一般的なアプローチが残してしまうギャップに対処します。

セッションをまたいだ継続性

記憶は単一のインタラクションを超えて保持されます。エージェントは毎回リセットされません。

クロスエージェント/クロスモデルの移植性

記憶は特定のモデルやフレームワークに縛られません。システム間で再利用できます。

ユーザーが所有する、またはエンタープライズが管理する記憶

記憶が提供者の内部にロックされているわけではありません。外部でガバナンスできます。

ガバナンスと制御

記憶は単に保存されるだけではなく、管理されます:

  • 来歴(どこから来たのか)
  • バージョン管理(どう変化したか)
  • 競合対応(データが食い違うとどうなるか)

マルチモーダルおよびエンタープライズ知識の統合

記憶はチャットログに限定されません。ドキュメント、構造化データ、社内のナレッジも含められます。

これにより記憶は「検索」から「状態管理」へ移行します。

実世界での利用例

この変化は実際のアプリケーションで明確になります。

1. パーソナルAIアシスタント

毎回好みを学び直すのではなく、エージェントが時間の経過とともに安定したユーザープロフィールを構築します。

2. 長期間稼働するタスクエージェント

数日または数週間にまたがるワークフローでは、記憶が意思決定、進捗、文脈を追跡します。

3. マルチエージェントシステム

異なるエージェントが同じ記憶層を共有し、そこに積み上げることができます。孤立して動く必要はありません。

永続的な記憶がないと、これらのシステムはすぐに破綻します。

設計上の考慮点

記憶の設計とは、単にもっと多くのデータを保存することだけではありません。

実際のトレードオフがあります。

記憶の増加

際限のない記憶はノイズになります。システムには、削除(プルーニング)や優先順位付け、要約といった戦略が必要です。

矛盾する情報

新しい記憶が古い記憶と矛盾したらどうなるのでしょうか?

書き込みの判断

すべてを覚えるべきではありません。何を保存するかを決めることは、取得と同じくらい重要です。

誤った記憶

不適切なデータが保存されれば、それは残ります。システムには検証や修正の仕組みが必要です。

これらはシステム設計の問題であって、プロンプトエンジニアリングの問題ではありません。

重要なポイント

  • 文脈は記憶ではない
  • 検索は記憶ではない
  • 要約は記憶ではない

記憶は、永続的で、構造化され、進化していくシステム層です

そして、それがなければAIエージェントは短命なインタラクションを超えてスケールできません。

結論

現在の世代のAIエージェントが知能ではなく「記憶」によって制限されているのは、このためです。

私たちは、モデルがどう考えるかを改善するのに多くの時間を費やしてきました。

一方で、どうやって覚えるかを設計することには、はるかに時間をかけてきませんでした。

時間の経過とともに持続し、適応し、改善する必要があるエージェントを作っているなら、

記憶を「回避策」ではなく「システム」として捉え直す価値があります。

また、MemoryLakeのように、記憶をインフラとして扱うアプローチを探ることは、良い出発点になるでしょう。