> ## Documentation Index
> Fetch the complete documentation index at: https://factory-docs-cli-sandbox-mcp-whole-process.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# コンテキスト圧縮の評価

> 長時間実行されるAIエージェントセッション向けコンテキスト圧縮戦略に関するFactory Researchの評価概要。

このページは、Factory Researchの投稿「**[Evaluating Context Compression for AI Agents](https://factory.ai/news/evaluating-compression)**」（2025年12月16日）の要約です。

<Info>
  手法、グラフ、例の詳細は、上記リンク先の元記事を参照してください。
</Info>

***

## TL;DR

* 長期実行エージェントセッションは、どのモデルのコンテキストウィンドウも超える可能性があるため、何らかの形の**コンテキスト圧縮**が必要です。
* 重要な指標は*リクエストあたりのトークン数*ではなく、**タスクあたりのトークン数**です（詳細の欠落により、コストの高い再取得と再作業が発生するため）。
* Factoryの評価において、**構造化要約**は、OpenAIの`/responses/compact`やAnthropicのSDK圧縮と同様の圧縮率で、「タスクを継続する」情報をより多く保持しました。

***

## コンテキスト圧縮が重要な理由

エージェントセッションが数百/数千ターンに及ぶと、完全なトランスクリプトは**数百万トークン**に達する可能性があります。エージェントが重要な状態（例：正確なエンドポイント、変更されたファイルパス、現在の次のステップ）を失うと、しばしば以下のことが起こります：

* 既に読んだファイルを再読み込みする
* デバッグの行き詰まりを繰り返す
* 何が変更され、どこで変更されたかを忘れる

これにより、圧縮で節約されたよりも多くの時間とトークンがかかります。

***

## Factoryによる「コンテキスト品質」の評価方法

要約類似性メトリクス（例：ROUGE）を使用する代わりに、Factoryは**プローブベース評価**を使用しました：

1. 実際の長期実行本番セッションを取得する。
2. 前の部分を圧縮する。
3. 切り捨てられた履歴から特定のタスク関連詳細を記憶する必要があるプローブを尋ねる。
4. 回答を機能的有用性についてグレード付けする。

### プローブタイプ

* **記憶**: 事実の保持（例：「元のエラーは何でしたか？」）
* **アーティファクト**: ファイル追跡（例：「どのファイルを変更し、どのように変更しましたか？」）
* **継続**: タスク計画（例：「次に何をすべきですか？」）
* **決定**: 推論チェーン（例：「何を決定し、なぜですか？」）

### スコア付けの観点

回答は、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**）であり、これは要約を超えた専用の状態追跡が必要である可能性を示唆しています。
* **プローブベース評価はエージェントの現実により近い**: 作業を効果的に継続できるかをテストするため、テキスト類似性メトリクスよりも優れています。

***

## 関連ドキュメント

* [Memory and Context Management](/jp/guides/power-user/memory-management)
* [Token Efficiency Strategies](/jp/guides/power-user/token-efficiency)
