Lance Martin の個人ブログに 2025 年 6 月 23 日に公開された記事で、エージェントがコンテキストウィンドウに入れるものをどのように管理しているかを概観している。記事は、Andrej Karpathy によるものとされる、LLM を新しい種類のオペレーティングシステムとみなす捉え方から始まる。モデルは CPU であり、そのコンテキストウィンドウは RAM、つまり容量の限られた作業記憶であって、コンテキストエンジニアリングとは、次のステップにちょうど必要な情報でそのウィンドウを満たす仕事だという。記事はコンテキストエンジニアリングを、3 種類のコンテキスト、すなわち指示(プロンプト、メモリ、few-shot の例、ツールの説明)、知識(事実とメモリ)、ツール(ツール呼び出しからのフィードバック)を包括する概念として扱っている。

記事の動機は、長時間のタスクの中で LLM 呼び出しとツール呼び出しを交互に行うエージェントはトークンを急速に蓄積し、それがコンテキストウィンドウを超えたり、コストとレイテンシを押し上げたり、性能を低下させたりしうるという点にある。記事は、長いコンテキストが失敗する形についての Drew Breunig のリストを挙げており、そこにはコンテキストポイズニングやコンテキストの混乱が含まれる。これに対して記事は、使われているアプローチを 4 つに分類することを提案し、それぞれをプロダクト、論文、エージェントフレームワークからの例で説明している。

要点

  • 書き込み——コンテキストをコンテキストウィンドウの外に保存し、エージェントが利用できるようにすること。セッション内ではこれはスクラッチパッドであり、ファイルに書き込むツール呼び出しとして、あるいはエージェントのランタイム状態のフィールドとして実装される。セッションをまたぐ場合は長期記憶であり、記事はこれを Reflexion や Generative Agents といった研究から、ChatGPT、Cursor、Windsurf などのプロダクトまでたどっている。
  • 選択——関連するコンテキストをウィンドウに取り込むこと。記事によれば、多くのコーディングエージェントは、Claude Code のCLAUDE.mdや Cursor・Windsurf のルールファイルのような、限られた範囲のファイルを常に読み込むだけである一方、大規模なメモリの集合から選択するのはより難しく、ユーザーが予期しなかったメモリが取り出されるといった失敗も起こりうる。ツールについては、ツールの説明に検索を適用して最も関連性の高いものだけを取得する方法を紹介し、知識については、コードベースが大きくなるにつれて埋め込み検索だけでは信頼性が下がる理由について Windsurf のエンジニアの言葉を引用している。
  • 圧縮——要約またはトリミングによって、タスクに必要なトークンだけを残すこと。要約の例は Claude Code の auto-compact で、記事によればコンテキストウィンドウの 95% が使われた後に実行され、軌跡全体を要約する(コンパクションを参照)。要約は、トークンの多いツール出力や、エージェント間の引き継ぎの時点にも適用できる。これに対してトリミングは、古いメッセージを削除するといったヒューリスティクスでコンテキストをふるい分ける。
  • 分離——コンテキストを分割すること。最も一般的なのは、それぞれが独自のツール、指示、コンテキストウィンドウを持つサブエージェントに分けることである(サブエージェントアーキテクチャを参照)。記事はさらに、トークンの多いオブジェクトをコード実行サンドボックスに隔離する方法——エージェントがコードを書き、その結果は環境内にとどまり、選ばれた値だけが LLM に返される——と、ターンごとに一部のフィールドだけをモデルに公開するスキーマを持つランタイム状態オブジェクトに隔離する方法も紹介している。
  • 記事は、マルチエージェント構成はチャットの最大 15 倍のトークンを使いうるという Anthropic の報告を、サブエージェントの作業を計画し、サブエージェント同士を調整するための慎重なプロンプティングの必要性とあわせて、分離のコストとして伝えている——この数値は記事が測定したものではなく引用したものである。

背景

記事は 4 つの分類を、新しい手法としてではなく、一般的なエージェントにすでに見られるパターンの整理として示しており、結びではエージェントのコンテキストエンジニアリングのパターンはまだ発展途上だと述べている。裏付けとなる例の大半は、Anthropic、Cognition、Hugging Face、OpenAI、LangGraph のドキュメントなど、他の組織の文章から引用されたものであり、記事が伝える具体的な内容はそれらの情報源の主張である。