Skip to content

原文(日本語に翻訳)

autocompactのスラッシュループを修正しました。3回連続でコンパクト後にコンテキストが即座に上限まで再充填される状況を検出し、APIコールを浪費し続ける代わりに実用的なエラーで停止するようになりました。

原文(英語)

Fixed autocompact thrash loop — now detects when context refills to the limit immediately after compacting three times in a row and stops with an actionable error instead of burning API calls

概要

コンテキストウィンドウが満杯になると自動的にコンパクト(圧縮)が実行される機能において、コンパクト直後に再びコンテキストが満杯になる「スラッシュループ」が発生する場合がありました。このループが繰り返されると、大量のAPIコールが無駄に消費されていました。v2.1.89では、3回連続でこの状況が発生した場合を検出し、無駄なAPIコールを止めて原因究明のためのアクションを促すエラーメッセージを表示して停止するようになりました。

基本的な使い方

autocompactは通常自動で動作しますが、コンテキストウィンドウが非常に大きい場合は手動で対処が必要です:

bash
# 手動でコンパクトを実行
/compact

# コンテキスト使用量を確認
/stats

# コンテキストが多すぎる場合は新しいセッションを開始
# 新しいClaude Codeウィンドウを開く
claude

実践例

スラッシュループが発生しやすいシナリオ

bash
# 大量のファイルを読み込んだ後のセッション
# 例: 全ファイルを読み込んで分析するタスク
claude "このプロジェクトのすべてのファイルを読んで概要を教えてください"
# → 何千ものファイルを読み込む
# → コンテキストが満杯
# → autocompact実行
# → compactしてもすぐに満杯 (スラッシュループ)

# 修正後: 3回繰り返すと停止してエラーを表示
# "Context refills immediately after compacting. 
#  Please start a new session or reduce the scope of your task."

スラッシュループを避けるベストプラクティス

bash
# 大規模プロジェクトでは範囲を絞って作業する
claude "src/components/Button.tsx の修正をしてください"
# ✓ 特定のファイルのみ対象

# 全体を読み込む代わりにファイルを必要に応じて参照する
claude "このプロジェクトの構造を理解した上で、認証ロジックを改善してください"
# ✓ 必要なファイルのみ読み込む

スラッシュループ発生時の対処

bash
# エラーメッセージが出た場合の対処法

# 1. 新しいセッションを開始する
claude

# 2. タスクを小さく分割する
claude "Authenticationモジュールのみをリファクタリングしてください"

# 3. 不要なファイルを含めないようにする
claude --ignore "node_modules,dist,*.log" "分析してください"

注意点

  • スラッシュループの停止は3回連続でコンパクト後即座にコンテキストが満杯になった場合にのみ発生します
  • 停止時のエラーメッセージには次のアクションのヒントが含まれます
  • 通常のautocompact(1〜2回で安定する場合)は以前と同様に動作します
  • 非常に大規模なコードベースではコンテキストウィンドウの管理が重要です

関連情報