Skip to content

原文(日本語に翻訳)

リアクティブコンパクションを改善しました。初回のサマリー試行が元のリクエストのオーバーフローサイズを起点として使用するようになり、無駄なコンテキスト満杯に近い状態での再試行を回避できます。

原文(英語)

Improved reactive compaction: the first summarize attempt now seeds from the original request's overflow size, avoiding a wasted near-full-context retry.

概要

Claude Code のリアクティブコンパクションは、コンテキストウィンドウが上限に達したときに自動的に会話履歴を要約して圧縮する仕組みです。これまでは初回のサマリー試行がオーバーフローのサイズ情報を使わずに実行されるため、生成されたサマリー自体が大きすぎてコンテキスト制限を再び超えてしまい、無駄なリトライが発生することがありました。今回の改善により、初回試行時からオーバーフューサイズを参照してサマリーの量を適切に調整するため、不要なリトライが減り、APIコールとトークン消費が節約されます。

基本的な使い方

リアクティブコンパクションはデフォルトで有効になっており、ユーザーが特別な操作をしなくても自動的に動作します。コンテキストが上限に近づくと Claude Code が自動的に圧縮を行います。

bash
# 自動コンパクションの動作確認(コンテキスト使用率が高い状態で長いセッションを実行)
claude

# 手動でコンパクションをトリガーする場合
/compact

# コンパクション発生のサイン:ターミナルに "[context compacted]" と表示される

コンパクション後は、Claude がこれまでの会話の要点を把握した状態で作業を継続します。

実践例

長時間の開発セッションでの恩恵

大規模なリファクタリングや複数ファイルにまたがる実装を行う際、会話履歴が膨大になります。改善前は、コンテキストオーバーフロー発生時に初回サマリーが大きすぎて再試行が必要になることがありました。

bash
# 例:大規模なコードベースに対して長時間作業する場合
claude

# Claude Code 内で大量のファイルを読み込み・編集する作業
# → コンテキストが 95% 付近に達すると自動コンパクションが発動
# → 今回の改善により、初回から適切なサイズのサマリーが生成される
# → 無駄なリトライがなく、スムーズに作業が継続できる

CI/CD パイプラインでの自動エージェント実行

自動化パイプラインで Claude Code を長時間実行する場合、コンパクションの効率性はコスト面でも重要です。

bash
# GitHub Actions などでのエージェント実行例
claude --headless "大規模なテストスイートを実行して結果を分析し、失敗したテストを修正してください"

# 長時間実行でコンテキストが蓄積される場合でも
# 改善されたリアクティブコンパクションにより余分なAPIコールを削減

コンテキスト使用状況の監視

bash
# セッション中にコンテキスト使用状況を確認
# Claude Code のステータスバーでコンテキスト使用率が表示される

# コンパクションが頻繁に発生する場合は手動でのリセットも検討
/compact  # 手動コンパクション(任意のタイミングで実行可能)

API 経由でのコンパクション設定(Anthropic API 利用者向け)

python
import anthropic

client = anthropic.Anthropic()

response = client.beta.messages.create(
    betas=["compact-2026-01-12"],
    model="claude-opus-4-7",
    max_tokens=4096,
    messages=messages,
    context_management={
        "edits": [
            {
                "type": "compact_20260112",
                # トリガー閾値:150,000 トークンを超えたらコンパクションを実行
                "trigger": {"type": "input_tokens", "value": 150000},
            }
        ]
    },
)

注意点

  • 自動動作:リアクティブコンパクションはバックグラウンドで自動的に動作します。ユーザーが意識する必要はありませんが、コンパクション発生時に [context compacted] と表示されます。
  • コスト:コンパクション自体は別途 API コールが発生するため、追加のトークン消費があります。ただし今回の改善により、無駄なリトライによるコスト増加が抑制されます。
  • サマリーの精度:コンパクション後は会話の要点のみが保持されます。細かい文脈が失われる可能性があるため、重要な情報は /memory や CLAUDE.md ファイルに記載しておくことを推奨します。
  • 手動コンパクション:コンテキスト使用率が 60〜70% 程度の段階で /compact を実行すると、サマリーの品質が高くなりやすいとされています。
  • コンパクション無効化--no-auto-compact フラグで自動コンパクションを無効にすることも可能ですが、長いセッションではコンテキスト制限に達してセッションが終了するリスクがあります。

関連情報