2026-08-01 発行(読了 5 分)
実プロダクトのアーキテクチャ・使用例から AI 開発の現在地を週 3 回・1 号 1 テーマで深掘り
プロンプトの言い回しを工夫する段階は終わり、エージェントに何を見せて何を見せないかを設計する段階に移った。Anthropic・Cursor・Manusが相次いで公式ブログで具体的な実装を公開し、圧縮・分離・遅延取得という共通の語彙が固まりつつある。単に情報を増やすとモデルの精度がむしろ落ちる「context rot」が実証された今、コンテキストは足すものではなく削るものだという前提の転換が起きている。
Just-in-Time retrieval とは、ファイルパスや URL、検索クエリのような軽量な識別子だけをエージェントに渡し、実際に必要になった時点でツール経由で本体を取得する設計を指す。事前にすべての候補データを読み込んでおく方式と対比され、grep や検索ツールを使って自ら情報を探しに行く挙動を、人間が資料を都度参照する動きに近づけるという発想が根底にある。
この方式に業界が収束しつつあるのは、事前ロードがコストとレイテンシを増やすだけでなく、無関係な情報が多いほどモデルが本当に必要な箇所に注意を向けにくくなるためだ。Cursor は MCP ツールの説明文をフォルダに同期し必要な時だけ選択的に読み込む方式に切り替え、MCP ツールを呼び出すセッションでトークン消費量を46.9%削減したとA/Bテストの結果を公式ブログで報告している。
コンパクションは、コンテキスト上限に近づいた会話の内容を要約し、その要約から新しいコンテキストウィンドウを開始する手法だ。要約時にはアーキテクチャ上の決定事項や未解決の課題を優先して残し、冗長なツール出力は捨てる。これと組み合わせて使われる構造化ノートは、要約にも残らない細部を進捗ログとしてファイルなどコンテキスト外の永続領域へ書き出し、必要になれば読み戻す仕組みだ。
この2つが必須になっているのは、数千ステップに及ぶような長時間タスクは、どれだけウィンドウを広げても単純な拡大だけでは対応しきれないからだ。Anthropic は Sonnet 4.5 のリリースに合わせて memory tool をパブリックベータで提供し、ポケモンを長時間プレイし続けるエージェントが地図や達成事項をノートとして書き残しながら数千ステップを継続した実例を公式ブログで公開している。
サブエージェントによるコンテキスト分離は、詳細な調査や検索を担当する子エージェントに独立したコンテキストウィンドウを与え、親エージェントには1000〜2000トークン程度に凝縮した要約だけを返す設計だ。詳細な探索過程は子エージェント側で破棄され、親側のコンテキストは肥大化しない。
一方で、この分割が向くのは出力を要約に圧縮できる調査・検索系のタスクに限られる。Manus はコーディングのように状態を継続的に共有し続ける必要があるタスクでは、エージェントを分割してコンテキストを分けるのではなく、単一の長いコンテキストを維持したままツールの利用可否をロジットのマスキングで動的に切り替える方式を採用したと公式ブログで説明している。ツールをコンテキストから物理的に取り除くとKVキャッシュのヒット率が崩れコストと速度が悪化するため、「見せる範囲を絞る」操作をコンテキスト分割ではなくマスキングで行っているという。