コーディングエージェント(Claude Code、Aider、Codexなど)のカスタムタスクによる直接比較。合格率、コスト、時間、一貫性メトリクスを測定
strategic-compact
任意の自動コンパクションではなく、論理的な間隔でタスクフェーズを通じてコンテキストを保持する手動コンテキストコンパクションを提案。
含まれるファイル(1)
- SKILL.md6.7 KB
SKILL.md(原文)
インストールする前に、エージェントに与えられる指示の中身を確認できます。
戦略的コンパクトスキル
任意の自動コンパクションに頼るのではなく、ワークフローの戦略的なポイントで手動の/compactを提案します。
発動タイミング
- コンテキスト制限に近づく長いセッション(200K以上のトークン)を実行中
- マルチフェーズタスク(リサーチ→計画→実装→テスト)に取り組んでいるとき
- 同じセッション内で無関係なタスク間を切り替えるとき
- 主要なマイルストーンを完了し、新しい作業を開始した後
- レスポンスが遅くなったり一貫性が低下したとき(コンテキスト圧迫)
なぜ戦略的コンパクションか?
自動コンパクションは任意のタイミングで発動します:
- タスクの途中で発動することが多く、重要なコンテキストを失う
- 論理的なタスク境界を認識しない
- 複雑なマルチステップ操作を中断する可能性がある
論理的な境界での戦略的コンパクション:
- 探索後、実行前 — リサーチコンテキストをコンパクト化し、実装計画を保持
- マイルストーン完了後 — 次のフェーズのためにフレッシュスタート
- 大きなコンテキスト切り替え前 — 別のタスクの前に探索コンテキストをクリア
仕組み
suggest-compact.jsスクリプトはPreToolUse(Edit/Write)で実行され:
- ツールコールの追跡 — セッション内のツール呼び出し回数をカウント
- 閾値検出 — 設定可能な閾値(デフォルト: 50回)で提案
- 定期的なリマインダー — 閾値後25回ごとにリマインド
フックのセットアップ
~/.claude/settings.jsonに追加:
{
"hooks": {
"PreToolUse": [
{
"matcher": "Edit",
"hooks": [{ "type": "command", "command": "node ~/.claude/skills/strategic-compact/suggest-compact.js" }]
},
{
"matcher": "Write",
"hooks": [{ "type": "command", "command": "node ~/.claude/skills/strategic-compact/suggest-compact.js" }]
}
]
}
}
設定
環境変数:
COMPACT_THRESHOLD— 最初の提案までのツールコール数(デフォルト: 50)
コンパクション判断ガイド
コンパクションのタイミングを判断するためのテーブル:
| フェーズ遷移 | コンパクト? | 理由 |
|---|---|---|
| リサーチ → 計画 | はい | リサーチコンテキストはかさばる;計画は蒸留された出力 |
| 計画 → 実装 | はい | 計画はTodoWriteまたはファイルに保存済み;コード用のコンテキストを確保 |
| 実装 → テスト | 場合による | テストが最近のコードを参照する場合は保持;焦点を切り替える場合はコンパクト |
| デバッグ → 次の機能 | はい | デバッグトレースが無関係な作業のコンテキストを汚染する |
| 実装の途中 | いいえ | 変数名、ファイルパス、部分的な状態を失うコストが高い |
| 失敗したアプローチの後 | はい | 新しいアプローチを試す前に行き止まりの推論をクリア |
コンパクション後に残るもの
何が永続化するかを理解すれば、自信を持ってコンパクションできます:
| 永続化する | 失われる |
|---|---|
| CLAUDE.mdの指示 | 中間的な推論と分析 |
| TodoWriteタスクリスト | 以前読み取ったファイル内容 |
メモリファイル(~/.claude/memory/) | マルチステップの会話コンテキスト |
| Git状態(コミット、ブランチ) | ツールコール履歴とカウント |
| ディスク上のファイル | 口頭で述べた細かいユーザー設定 |
ベストプラクティス
- 計画後にコンパクト — 計画がTodoWriteで確定したら、コンパクトしてフレッシュスタート
- デバッグ後にコンパクト — 継続する前にエラー解決コンテキストをクリア
- 実装の途中ではコンパクトしない — 関連する変更のためのコンテキストを保持
- 提案を読む — フックがいつかを教えてくれるが、するかどうかはあなたが決める
- コンパクト前に書き込む — コンパクト前に重要なコンテキストをファイルやメモリに保存
- サマリー付きで
/compactを使用 — カスタムメッセージを追加:/compact Focus on implementing auth middleware next
トークン最適化パターン
トリガーテーブル遅延ロード
セッション開始時にフルスキルコンテンツをロードする代わりに、キーワードをスキルパスにマッピングするトリガーテーブルを使用。スキルはトリガーされた時のみロードされ、ベースラインコンテキストを50%以上削減:
| トリガー | スキル | ロードタイミング |
|---|---|---|
| "test", "tdd", "coverage" | tdd-workflow | ユーザーがテストに言及 |
| "security", "auth", "xss" | security-review | セキュリティ関連の作業 |
| "deploy", "ci/cd" | deployment-patterns | デプロイメントコンテキスト |
コンテキスト構成の認識
コンテキストウィンドウで何が消費されているかを監視:
- CLAUDE.mdファイル — 常にロードされるため、リーンに保つ
- ロードされたスキル — 各スキルが1-5Kトークンを追加
- 会話履歴 — やり取りごとに増加
- ツール結果 — ファイル読み取り、検索結果がかさを増やす
重複命令の検出
重複コンテキストの一般的な原因:
~/.claude/rules/とプロジェクトの.claude/rules/の両方に同じルール- CLAUDE.mdの指示を繰り返すスキル
- 重複するドメインをカバーする複数のスキル
コンテキスト最適化ツール
token-optimizerMCP — コンテンツ重複排除による自動95%以上のトークン削減context-mode— コンテキスト仮想化(315KBから5.4KBの実績)
関連
- The Longform Guide — トークン最適化セクション
- メモリ永続化フック — コンパクション後も残る状態のため
continuous-learningスキル — セッション終了前にパターンを抽出
レビュー
まだレビューはありません。使ってみた感想をお寄せください。
同じリポジトリのスキル
概要と使いどころ
AIエージェントのアクションスペース、ツール定義、オブザベーションフォーマットを設計・最適化し、タスク完了率を向上させる
評価ファーストの実行、分解、コスト考慮型モデルルーティングによるエージェンティックエンジニアとしての運用
AIエージェントが実装出力の大部分を生成するチームのためのエンジニアリング運用モデル
AI支援開発のためのリグレッションテスト戦略。データベース依存なしのサンドボックスモードAPIテスト、自動バグチェックワークフロー、同一モデルがコードの作成とレビューを行う際のAIの盲点を検出するパターン。
AndroidおよびKotlin Multiplatformプロジェクトのためのクリーンアーキテクチャパターン — モジュール構成、依存関係ルール、UseCase、Repository、データレイヤーパターン