このページは、Factory Researchの投稿「Evaluating Context Compression for AI Agents」(2025年12月16日)の要約です。
For the full methodology, charts, and examples, read the original post linked above.
TL;DR
- 長期実行エージェントセッションは、どのモデルのコンテキストウィンドウも超える可能性があるため、何らかの形のコンテキスト圧縮が必要です。
- 重要な指標はリクエストあたりのトークン数ではなく、タスクあたりのトークン数です(詳細の欠落により、コストの高い再取得と再作業が発生するため)。
- Factoryの評価において、構造化要約は、OpenAIの
/responses/compactやAnthropicのSDK圧縮と同様の圧縮率で、「タスクを継続する」情報をより多く保持しました。
コンテキスト圧縮が重要な理由
エージェントセッションが数百/数千ターンに及ぶと、完全なトランスクリプトは数百万トークンに達する可能性があります。エージェントが重要な状態(例:正確なエンドポイント、変更されたファイルパス、現在の次のステップ)を失うと、しばしば以下のことが起こります:
- 既に読んだファイルを再読み込みする
- デバッグの行き詰まりを繰り返す
- 何が変更され、どこで変更されたかを忘れる
これにより、圧縮で節約されたよりも多くの時間とトークンがかかります。
Factoryによる「コンテキスト品質」の評価方法
要約類似性メトリクス(例:ROUGE)を使用する代わりに、Factoryはプローブベース評価を使用しました:
- 実際の長期実行本番セッションを取得する。
- 前の部分を圧縮する。
- 切り捨てられた履歴から特定のタスク関連詳細を記憶する必要があるプローブを尋ねる。
- 回答を機能的有用性についてグレード付けする。
プローブタイプ
- 記憶: 事実の保持(例:「元のエラーは何でしたか?」)
- アーティファクト: ファイル追跡(例:「どのファイルを変更し、どのように変更しましたか?」)
- 継続: タスク計画(例:「次に何をすべきですか?」)
- 決定: 推論チェーン(例:「何を決定し、なぜですか?」)
スコア付けの観点
回答は、LLM審判者(GPT-5.2)により以下の観点で(0-5で)スコア付けされました:
- 正確性
- コンテキスト認識
- アーティファクト追跡
- 完全性
- 継続性
- 指示従順
審判者は、どの圧縮方法が回答を生成したかについて盲目化されています。
比較された圧縮アプローチ
| アプローチ | 生成される内容 | 主要なトレードオフ |
|---|
| Factory | 明示的なセクション(意図、ファイル変更、決定、次のステップ)を持つ構造化された永続的要約。新しく切り捨てられた範囲のみを要約し、既存の要約にマージすることで更新(「アンカー反復要約」)。 | 最も積極的な圧縮よりもわずかに大きな要約になるが、タスククリティカルな詳細の保持が向上。 |
| OpenAI | /responses/compact: 再構築精度に最適化された不透明な圧縮表現。 | 最高の圧縮率、ただし解釈可能性が低い(何が保持されたかを検査できない)。 |
| Anthropic | Claude SDK内蔵圧縮: 詳細な構造化要約(多くの場合7-12k文字)、各圧縮時に再生成。 | 高品質な要約だが、圧縮のたびに要約全体を再生成することで、反復圧縮でドリフトが発生する可能性。 |
結果(ハイレベル)
FactoryはPRレビュー、バグ修正、機能実装、リファクタリングなどのタスクにわたる本番セッションから36,000+メッセージを評価したと報告しています。
全体スコア(0-5)
| 方法 | 全体 | 正確性 | コンテキスト | アーティファクト | 完全性 | 継続性 | 指示 |
|---|
| Factory | 3.70 | 4.04 | 4.01 | 2.45 | 4.44 | 3.80 | 4.99 |
| Anthropic | 3.44 | 3.74 | 3.56 | 2.33 | 4.37 | 3.67 | 4.95 |
| OpenAI | 3.35 | 3.43 | 3.64 | 2.19 | 4.37 | 3.77 | 4.92 |
圧縮率 vs. 品質
投稿では、方法間で類似の圧縮率が示されています:
- OpenAI: 99.3% トークン除去
- Anthropic: 98.7% トークン除去
- Factory: 98.6% トークン除去
FactoryはOpenAIより約0.7パーセンテージポイント多くのトークンを保持し(より多くのコンテキストを保持)、全体品質で**+0.35**高いスコアを記録しました。
Factoryが学んだこと
- 構造が重要: 明示的なセクション(ファイル/決定/次のステップ)を強制することで、重要な詳細が時間の経過とともに「静かに消失」する可能性を減らします。
- 圧縮率は誤解を招く目標: 積極的な圧縮は「トークンを節約」できるが、高価な再作業を引き起こす詳細を失う可能性があります;タスクあたりのトークンについて最適化すべきです。
- アーティファクト追跡は依然として困難: すべての方法で、どのファイルが作成/変更/検査されたかの追跡で低いスコア(Factoryの最高は2.45/5)であり、これは要約を超えた専用の状態追跡が必要である可能性を示唆しています。
- プローブベース評価はエージェントの現実により近い: 作業を効果的に継続できるかをテストするため、テキスト類似性メトリクスよりも優れています。
関連ドキュメント