Claude の Messages API、任意のタイミングで会話を圧縮できるベータ機能
AnthropicAPIベータコンテキストClaude
Anthropic が Claude の Messages API に、開発者側の任意のタイミングで会話履歴を要約圧縮できる on-demand compaction をベータ提供した。ベータヘッダー compact-2026-09-04 を付けて compaction パラメータを送ると署名付きの compaction ブロックが返り、以降のリクエストではそのブロックを先頭に置いて元のメッセージ群を差し替える。
何が発表されたか
2026年9月14日、Claude Platform のリリースノートで Messages API の「on-demand compaction」がベータとして追加された。コンテキスト上限に達したときに自動で走る threshold compaction とは別に、開発者が選んだタイミングで明示的に要約を要求できる。
- ベータヘッダーは
compact-2026-09-04。要約を要求するリクエストと、以降 compaction ブロックを載せる全リクエストに付与する。 - リクエストに
"compaction": {"type": "summarize"}を含めると、stop_reasonがcompactionのレスポンスが返り、type: "compaction"、content(要約本文)、signature(署名)を持つブロックが得られる。 instructionsを渡して要約の観点を指定できる。
使い方の要点
- 以降のリクエストでは、要約対象だったメッセージを取り除き、compaction ブロックを messages の先頭に置く。1リクエストにつきブロックは1つ。
signatureは改変してはならない。- 直近の数ターンを要約リクエストから外しておけば、要約の後ろにそのまま原文として残せる(keep-tail)。
- thinking を保持するモデルでは、残したターンの thinking ブロックが有効なまま扱われる条件がある。要約対象の直後に続くターンであること、システムプロンプトと非 deferred なツールが要約リクエスト時点から変わっていないことが条件。
開発者への影響
- 長い会話を扱うアプリで、コンテキスト上限に当たってから慌てるのではなく、任意のタイミングやバックグラウンドで圧縮を走らせる設計が取れる。
- 課金は通常のリクエストと同様で、要約分の使用量は
usage.iterationsに出る。要約呼び出しでは最上位のinput_tokens/output_tokensは 0 になる。 - 制約として、同一リクエストで
context_managementとは併用できない。圧縮前の会話はモデルのコンテキストウィンドウに収まっている必要がある。要約対象に含まれていた画像・ドキュメント・取得済みURLはブロックへの置き換え時に削除される。output_config.task_budget.remainingとの併用も不可。 - 対象モデルは Claude Fable 5 / 5.1、Claude Mythos 5 / 5.1 / Preview、Claude Opus 4.6・4.7・4.8・5、Claude Sonnet 4.6 / 5。Claude API のほか AWS 上の Claude Platform、Amazon Bedrock、Google Cloud、Microsoft Foundry でもベータ提供される。
