コンテンツにスキップ

Claude Code 長時間セッション効率化ガイド

調査日: 2026-03-26 調査対象: 公式ドキュメント、技術ブログ、コミュニティの知見を包括的に収集


1. コンテキストウィンドウ管理(最重要)

Claude Codeの長時間利用で最も重要なリソースはコンテキストウィンドウである。LLMの性能はコンテキストが埋まるほど劣化し、70%超で応答品質が平均25%低下するとされる。

1-1. コンテキスト使用率の監視

  • ステータスラインのカスタマイズ: /statusline コマンドでコンテキスト使用率をリアルタイム表示できる
  • スクリプトに渡されるJSONに used_percentageremaining_percentage が含まれる
  • 色分けの目安: 50%以下=緑、50-80%=黄、80%超=赤
  • /cost でトークン消費量とコストのスナップショットを確認
  • /context でコンテキスト使用状況を確認

アクション: ステータスラインをカスタマイズし、常にコンテキスト使用率を表示する。

# 設定例: ~/.claude/settings.json にステータスラインスクリプトのパスを追加

1-2. 手動コンパクション(/compact)

  • 自動コンパクションは80-90%で発動するが、その時点では既にモデルが劣化状態
  • 手動で50-60%に到達したら /compact を実行するのがベストプラクティス
  • 30-45分ごと、または大きなマイルストーン完了後にコンパクションする
  • /compact <指示> で要約の方向性を指定可能(例: /compact Focus on the API changes
  • CLAUDE.mdに「compaction時に保持すべき情報」を記述しておくと効果的
  • 例: "When compacting, always preserve the full list of modified files and any test commands"
  • Session Memoryによりバックグラウンドで要約が継続書き込みされるため、現在は /compact が瞬時に完了する

アクション: 10回程度のやり取りごと、または体感でコンテキスト50%到達時に手動 /compact を習慣化する。

1-3. セッションリセット(/clear)

  • タスクが切り替わったら即座に /clear を実行してコンテキストをリセット
  • 同一セッションで無関係なタスクを混在させるのは「kitchen sink session」と呼ばれるアンチパターン
  • 2回以上の修正指示でも直らない場合、コンテキストが汚染されている。/clear して最初から良いプロンプトを書き直す方が速い

アクション: 1タスク完了 → /clear → 次タスク、を基本サイクルにする。

1-4. /btw(サイドクエスチョン)

  • メイン作業中に概念的な質問をしたい場合、/btw を使うとコンテキストを汚さずに質問できる
  • 回答はオーバーレイに表示され、閉じると消える(会話履歴に入らない)
  • ツールアクセスなし、プロンプトキャッシュを再利用(最小コスト)

アクション: 「ちょっとした確認」は /btw で行い、メインコンテキストをクリーンに保つ。

1-5. /rewind(チェックポイント巻き戻し)

  • Esc + Esc または /rewind でリワインドメニューを開く
  • 会話のみ復元、コードのみ復元、両方復元、選択地点から要約、の4オプション
  • 「ここから要約」は特に強力: 選択ポイント以前はそのまま保持し、以降の試行錯誤を圧縮要約する
  • チェックポイントはセッションをまたいで永続化される

アクション: 探索的な作業では積極的に試行し、うまくいかなければ /rewind で戻る。

1-6. 1Mコンテキストウィンドウ(Opus 4.6)

  • Max/Team/Enterpriseプランでは Opus 4.6 で1Mトークン(従来の5倍)が利用可能
  • ただし「大きいから全部埋めてよい」わけではない
  • コンテキストドリフト: 遠いトークンほど検索精度が低下する
  • 80%のコンテキストが現在の質問に無関係なまま維持されるのが最もコスト効率が悪い

アクション: 1Mでも油断せず、同じコンパクション戦略を適用する。


2. セッション管理戦略

2-1. セッションの命名と再開

  • /rename でセッションに説明的な名前を付ける(例: oauth-migrationdebugging-memory-leak
  • claude --continue で最新セッションを再開
  • claude --resume でセッション一覧から選択して再開
  • セッションをブランチのように扱う: ワークストリームごとに個別の永続コンテキストを持つ

アクション: セッション開始時に /rename で名前を付ける習慣をつける。

2-2. 短く集中したセッション

  • 推奨セッション長: 30-45分
  • 2時間セッションでは2-3回のコンパクションが発生し、要約品質が累積的に劣化する
  • 「調査フェーズ」と「実装フェーズ」は同じセッションでずるずる続けない

アクション: タイマーを設定し、45分を超えたらコンパクションまたは新セッション開始を検討する。

2-3. HANDOFF.md パターン

  • セッション終了前に、進捗・うまくいったこと・次のステップを HANDOFF.md にまとめる
  • 新セッション開始時にそのファイルを読み込ませることで、コンテキストを効率的に引き継ぐ
  • /plan モードで次のエージェント向けの包括的コンテキストを収集する方法もある

アクション: 大きなタスクではセッション間の引き継ぎドキュメントを活用する。


3. CLAUDE.md の活用法

3-1. 基本原則

  • /init で現在のプロジェクト構造に基づくスターターファイルを生成し、徐々に改善
  • 簡潔に保つ: 指示が増えるほど、指示遵守の品質が一様に低下する
  • 各行について「これを削除したらClaudeがミスするか?」と自問し、不要なら削除
  • コードスニペットを含めない(すぐ陳腐化する)。代わりにファイル:行番号で参照

3-2. 含めるべき内容

含める 含めない
Claudeが推測できないBashコマンド コードを読めばわかること
デフォルトと異なるコードスタイル 標準的な言語慣習
テスト実行方法・テストランナー 詳細なAPIドキュメント(リンクで十分)
ブランチ命名・PRの慣習 頻繁に変わる情報
プロジェクト固有のアーキテクチャ決定 ファイルごとのコードベース説明

3-3. 階層構造

  • ~/.claude/CLAUDE.md: 全セッション共通の個人設定
  • ./CLAUDE.md: プロジェクトルート(gitにコミットしてチーム共有)
  • 親ディレクトリ・子ディレクトリにも配置可能(モノレポに有効)
  • @path/to/import 構文で外部ファイルをインポート可能

3-4. コンパクション時の永続性

  • CLAUDE.mdはコンパクション後もディスクから再読み込みされる
  • つまり「絶対に忘れてほしくないルール」はCLAUDE.mdに書くのが最善

3-5. 強調テクニック

  • 重要な指示には IMPORTANTYOU MUST を付けると遵守率が向上
  • CLAUDE.mdが長すぎてルールが無視される場合は、ファイルが肥大化している兆候

アクション: CLAUDE.mdを定期的にレビュー・剪定し、コードと同様にメンテナンスする。


4. ワークフロー: Explore → Plan → Code → Commit

4-1. Plan Mode(Shift + Tab)

  • Plan Modeではファイル読み取りのみ行い、コード変更はしない
  • 複数ファイル変更、未知のコード、アーキテクチャ決定に有効
  • 1文で差分を説明できるような簡単な変更ではスキップしてよい
  • Ctrl+G でプランをテキストエディタで直接編集してからClaudeに渡せる

4-2. Extended Thinking(深い思考)

  • トリガーワード: think(4Kトークン)、think hard(10K)、think harder(32K)、ultrathink(最大)
  • 公式コマンド: /effort low|high|max
  • low: 変数リネーム、タイポ修正、ボイラープレート
  • high: 通常の開発タスク
  • max: 複雑なロジック、エッジケース検討が必要な問題
  • ultrathink + Plan Mode の組み合わせが特に強力(Sonnet 4.5でもOpus級の結果)
  • コストと遅延が増すため、単純なタスクには不要

アクション: 複雑な問題は「ultrathink」で計画→Plan Mode確認→実装、の3段階で進める。

4-3. 検証の提供(最もレバレッジの高い行為)

  • テスト、スクリーンショット、期待出力を提供してClaudeが自己検証できるようにする
  • テストスイート、リンター、出力チェック用Bashコマンドなど
  • 検証手段がない場合はシップしない

5. マルチエージェント・並列実行

5-1. サブエージェント

  • "use subagents to investigate X" と指示すると、別コンテキストで調査してくれる
  • メインコンテキストを汚さずにコードベース探索が可能
  • .claude/agents/ にカスタムサブエージェントを定義可能
# .claude/agents/security-reviewer.md
---
name: security-reviewer
description: Reviews code for security vulnerabilities
tools: Read, Grep, Glob, Bash
model: opus
---
セキュリティレビューの指示...

5-2. Git Worktree による並列開発

  • claude -w feature-payments で独立したworktreeでセッション開始
  • 各エージェントが同じファイルを異なるアプローチで修正可能
  • 変更がないworktreeは自動クリーンアップ
  • サブエージェントに isolation: worktree を設定すると自動的にworktree分離
# ターミナル1
claude -w feature-auth

# ターミナル2
claude -w bugfix-api

# ターミナル3
claude -w refactor-db

5-3. Agent Teams(実験的機能)

  • CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS で有効化
  • 1セッションがチームリーダーとして、タスク割り当て・結果統合を担当
  • 強力なユースケース:
  • 複数の仮説を並列テスト
  • フロントエンド/バックエンド/テストを別々のエージェントが担当
  • 調査を複数エージェントで並行実施

5-4. Writer/Reviewer パターン

  • セッションAで実装、セッションBで(フレッシュなコンテキストで)レビュー
  • 自分が書いたコードへのバイアスがないため、レビュー品質が向上

アクション: 大きなタスクはworktreeで並列実行し、レビューは別セッションで行う。


6. 自動化・Hooks

6-1. Hooks の基本

  • Hooksはライフサイクルの特定ポイントで実行されるシェルコマンド
  • CLAUDE.mdの指示(助言的)と異なり、Hooksは決定論的に必ず実行される
  • "Write a hook that runs eslint after every file edit" のようにClaudeにHookを書かせることも可能

6-2. 推奨Hook 3選

  1. PostToolUse: ファイル編集後の自動フォーマット(prettier、eslint等)
  2. PreToolUse: 危険なコマンドのブロック(本番DB操作等)
  3. Stop: タスク完了時のデスクトップ通知
// ~/.claude/settings.json の hooks 設定例
{
  "hooks": {
    "PostToolUse": [
      {
        "command": "npx prettier --write $FILE",
        "description": "Auto-format after edit"
      }
    ],
    "Stop": [
      {
        "command": "osascript -e 'display notification \"Claude Code completed\" with title \"Done\"'",
        "description": "Desktop notification on completion"
      }
    ]
  }
}

6-3. Auto Mode

  • claude --permission-mode auto で起動
  • リスクベースモデル: 読み取り操作・プロジェクト内編集は自動承認
  • 外部ネットワーク、破壊的Gitコマンド、資格情報アクセスは承認が必要
  • Auto Mode + Hooks で「write → format → lint → test」ループが無人で回る
  • 隔離環境での使用を推奨

6-4. Headless Mode(CI/自動化)

  • claude -p "prompt" で非対話実行
  • --output-format json または stream-json でパース可能
  • --allowedTools でツールを制限
  • --bare でスタートアップ時間短縮(CI向け)
  • cron + -p フラグでスケジュール実行も可能

アクション: 最低限、ファイル編集後の自動フォーマットと完了通知のHookを設定する。


7. Skills・Plugins・カスタムコマンド

7-1. Skills(SKILL.md)

  • .claude/skills/ にディレクトリ + SKILL.md を配置
  • 関連する会話コンテキストを検出すると自動的に適用
  • /skill-name で明示的に呼び出しも可能
  • CLAUDE.md(毎セッション読み込み)と異なり、必要時のみロードされるため軽量

7-2. カスタムスラッシュコマンド

  • .claude/commands/ にMarkdownファイルを配置
  • 再利用可能なプロンプトテンプレート
  • サブエージェント起動やワークフローのパイプラインも定義可能

7-3. Plugins

  • /plugin でマーケットプレイスを閲覧
  • Skills、Hooks、サブエージェント、MCPサーバーをバンドルしたインストール可能なユニット
  • 公式マーケットプレイス + コミュニティマーケットプレイスが存在

アクション: 繰り返すワークフローはSkillsまたはカスタムコマンドとして定義する。


8. その他の実践的テクニック

8-1. インタビューパターン

大きな機能開発の前に、Claudeにインタビューさせる:

I want to build [brief description]. Interview me in detail using the AskUserQuestion tool.
Ask about technical implementation, UI/UX, edge cases, concerns, and tradeoffs.
Keep interviewing until we've covered everything, then write a complete spec to SPEC.md.

→ スペック完成後、新セッションで実装開始(クリーンなコンテキスト)

8-2. ターミナルエイリアス

alias c="claude"
alias ch="claude --chrome"  # Chrome統合

8-3. Ctrl+G(エディタ起動)

  • 長いプロンプトを書く際、Ctrl+G でシステムエディタ(Vim、VS Code等)を起動
  • マルチカーソル、シンタックスハイライトが使える

8-4. MCP サーバー連携

推奨MCP: - Playwright: ブラウザテスト・UI検証 - Serena: シンボルベースのコード分析(トークン効率的) - Context7: リアルタイムライブラリドキュメント取得 - GitHub MCP: リポジトリ操作

8-5. Fan-out パターン(大規模バッチ)

for file in $(cat files.txt); do
  claude -p "Migrate $file from React to Vue. Return OK or FAIL." \
    --allowedTools "Edit,Bash(git commit *)"
done

9. アンチパターンと対策

アンチパターン 症状 対策
Kitchen Sink Session 無関係なタスクの混在 タスク間で /clear
修正の繰り返し 2回以上の失敗修正 /clear して良いプロンプトで再開
CLAUDE.md肥大化 指示が無視される 定期剪定、Hook化できるものはHookへ
検証なき信頼 エッジケース未対応 テスト・スクリプト・スクリーンショットで検証
無限探索 コンテキスト爆発 サブエージェントに委任、スコープ限定
Auto-compact頼り 劣化状態でのcompact 手動で50-60%時にcompact

10. 1時間超セッションの推奨ワークフロー

[0:00] セッション開始
  ├── /rename でセッション命名
  ├── CLAUDE.md確認(自動読み込み)
  └── ステータスライン確認

[0:00-0:15] 調査フェーズ(Plan Mode)
  ├── Shift+Tab でPlan Mode有効化
  ├── ultrathink で深い分析
  └── 実装計画をCtrl+Gで編集・確認

[0:15-0:40] 実装フェーズ(Normal Mode)
  ├── 計画に沿って実装
  ├── テスト実行で自己検証
  └── /btw でサイド質問(コンテキスト汚さず)

[0:40] マイルストーンチェック
  ├── コンテキスト50%超なら /compact
  ├── タスク完了なら /clear → 次タスク
  └── 継続なら進捗確認

[0:40-1:00] 次タスクまたは継続
  ├── /clear で新タスク開始
  ├── 大きな調査はサブエージェントに委任
  └── 並列作業は worktree で分離

[1:00] セッション終了判断
  ├── 2回目のcompactが必要なら新セッション推奨
  ├── HANDOFF.md に進捗まとめ
  └── 次回は claude --resume で再開

Sources

公式ドキュメント

英語技術ブログ・ガイド

日本語記事


作成: 2026-03-26 / 最終更新: 2026-03-26