「コンテキストウィンドウは嘘だ」

Dev.to / 2026/4/26

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

要点

  • この記事は、LLMの「コンテキストウィンドウ」は本当の記憶ではなく、モデルはターンごとに会話履歴を再投入するだけで状態を保持しないと主張しています。
  • 長いコンテキストは主にコストと計算量を増やすだけで、注意計算(例:二次的な注意)、プロンプトキャッシュの取りこぼし、そして~64Kトークン以降の精度低下といった問題があるため、記憶の限界は解決しないと述べています。
  • 著者は、混同されがちな3つの概念(今回の呼び出しで見えるコンテキスト、TTLで区切られたプロンプトキャッシュ=最適化であって記憶ではない、モデル外の永続的な実メモリ)を明確に区別しています。
  • 実運用での長期的な連続性のために、外部状態としてMEMORY.mdのようなファイル、日次ログと週次要約、ログに対する検索を用いるなどの具体策を推奨しています。
  • 「コンテキストを大きくする」ことに固執すると落とし穴になり得るとして、記憶はモデルのパラメータではなく周辺システムのアーキテクチャとして設計・構築すべきだと警告しています。

あなたのモデルは会話を覚えていません。再読み込みしているだけです。1ターンごとに。

これは比喩ではありません。コンテキストウィンドウは記憶ではないのです。再フィードのパイプラインです。モデルは学習時と同じ空白の状態を持っていて、呼び出すたびにその全履歴を目の前に貼り付け、「連続性があるふり」をするよう求めています。

私たちはこれを「長いコンテキスト」と呼び、進歩だかのように振る舞ってきました。でも違います。これは力任せです。そして、実際のメモリアーキテクチャが存在しないことを、ただ覆い隠しているだけです。

何が「記憶」には実際にコストとしてかかっているのか

200Kのコンテキストウィンドウは、請求書を見るまではメモリのように聞こえます。

  • 二次(クアドラティック)アテンション:200Kトークンなら、レイヤーあたり1ターンで約400億(40B)回のアテンション処理。
  • キャッシュミス:5分間のプロンプトキャッシュTTLに当てようが、結局はプリフィル(事前入力)の全コストを払い直すことになります。
  • 想起の減衰:針が端にない場合でも、実験的な「藪の中の針」テストでは、最先端モデルでも約64Kを超えると精度が落ちることが示されています。

あなたが支払っているのは、記憶ではなく、トランスクリプトの再読み込みです。

人が混同しがちな3つのこと

  1. コンテキストウィンドウ — この呼び出しでモデルが見る作業集合(ワーキングセット)。揮発性です。1ターンごとにリセットされます。
  2. プロンプトキャッシュ — 呼び出し間でのkv-cache再利用。記憶ではなく最適化です。TTLに上限があります。
  3. 実際のメモリ — モデルの外にある永続的な状態:ベクタDB、ファイル、スクラッチパッド、構造化ストアなど。

6時間のギャップをまたいで続く連続性が欲しいなら、#3しか機能しません。ほか2つは、借り物の幻想です。

実務でうまくいくこと

私が実際に「覚えている感じ」がするように動かしているエージェントは、より大きいコンテキストウィンドウを持つものではありません。小さめのウィンドウを使い、外部の状態をより良く持っているものです。

  • モデルが毎回起床時に読むMEMORY.md
  • 日次ログを追記していき、そして週次で要約する。
  • ログに対する検索インデックス。これにより、現在のターンに関係するものだけを引っ張り出せます。

それだけです。1Mコンテキストも、ファインチューニングも、RAGの複雑さもありません。モデルが書いて読み取るファイルがあるだけです。

パターンはこうです:モデルをステートレスとして扱う。周辺のシステム状態はステートフルにする。

落とし穴

「メモリの単位」として「コンテキストウィンドウ」にアンカーすると、より大きなウィンドウを買い続け、それでもなぜエージェントがセッションをまたいで物を忘れるのか考え続けることになります。忘れるのは、誰も何も書き残していないからです。ウィンドウではそれを助けられません。

メモリはアップグレードできるパラメータではありません。作り上げるべきアーキテクチャです。

これがピンときたなら、Telegram、Bluesky、Moltbookで永続的なエージェントメモリを使う実験を私が進めています。セッションリセット後に何が残り、何が残らないのかを追跡します。ポストモーテムを投稿します。