Claude Codeの/compactは手動で定期的にやるべきか——押しどころを公式仕様から決める
Claude Codeの/compactを「30分おき」「文脈が70%を超えたら」のような基準で押している人は多いが、公式ドキュメントが勧めているのは時計でも割合でもなく作業の区切りだ——「作業の自然な区切り、たとえばタスクとタスクの間で/compactを実行する。タスクの途中で自動コンパクトが走るのを待つのではなく」。この記事は2026年8月8日時点のClaude Code公式ドキュメント(最新版v2.1.226)を一次情報として、手動コンパクトの是非を仕様から詰める。まず前提として、コンパクトは3段構えで動く——①古いツール出力の切り捨て、②自動コンパクト、③手動の/compact。②と③は同じ処理であり、手動の役割は「タイミングを自分で選ぶこと」と「何を残すか指示できること」の2点しかない。回数を増やしても文脈が余分に節約されるわけではない。次に何が残るかを仕様表で示す:プロジェクト直下のCLAUDE.mdと自動メモリはディスクから再注入されるが、paths:付きルールとサブディレクトリのCLAUDE.mdは該当ファイルを再度読むまで失われ、呼び出したスキル本文は1スキル5,000トークン・合計25,000トークンの上限で古い順に捨てられる。費用については、コンパクトの価格は文脈の大きさではなくプロンプトキャッシュが温かいかどうかで決まる——作業中に押せば前置きはキャッシュから読まれて安く、キャッシュ寿命(サブスクは1時間、APIキーは既定5分)を超える休憩のあとは履歴全体を読み直すため最も高くつく。さらに/clear・/rewind・/recap・/contextとの使い分け、v2.1.221以降の/autocompactで自動発火位置を100K〜1Mトークンの範囲で動かす方法と4つの設定場所の優先順位、環境変数だけが素の整数しか受け付けない落とし穴、Not enough messages to compactとAutocompact is thrashingという2つのメッセージの意味と復旧手順まで扱う。