なぜ長いセッションには「操縦」が要るのか
短いタスクは、指示して結果を見た瞬間に終わる。しかし十数ファイルにまたがるリファクタや新機能のような数時間かかるタスクは違うし、正しい方向へ導くほどかえって長くかかることもある。だから長いセッションには、放っておくことではなく操縦が要る。
操縦の核心は二つの習慣だ。第一に、Claude が始める前に作業範囲を絞る。第二に、走っている間に方向を取る。以下の六つの道具が、この二つの習慣を実際に可能にする——Plan Mode、Compact、Rewind、Goal、Loop、そして Worktree だ。
始める前に範囲を絞る——Plan Mode

Plan Mode では、Claude はファイルを編集せず読み取り専用でコードを調査し、「何をどうするか」の計画を渡してくれる。計画が出たら、必ず最後まで読む。計画が緻密なほど、実行時につまずく余地は減る。
計画を直したいなら、望む場所に望む内容を足してと Claude に言えばよい。計画を数回練り直す方が、うまくいくことを願って実行にいきなり飛び込むより、はるかに速く安全だ。
文脈を空けつつ方向を保つ——Compact

Compact はこれまでの会話を要約して新しい文脈とし、古いものを消して文脈ウィンドウを空ける。長いセッションで会話が重くなったときに役立つ。ただし一つリスクがある——要約で大事な何かが落ちると、Claude が誤った方向へ逸れることがある。
だから compact コマンドを使うときは、何を残し何を捨てるかを一緒に指示する。コマンドの後ろに指示を添えれば、どう要約するかを Claude に伝えられる。デバッグはとうに終わり、今は API の変更だけに集中したいなら、まさにそう指示して、デバッグ出力は捨て API の変更だけ残せる。
間違えたら引き戻す——Rewind

Claude が誤った道に入ったとき、プロンプトで無理に抜け出そうとする必要はない。Rewind が直前のチェックポイントに戻してくれる。開き方は、空のプロンプトで escape を二度叩くこと——すると rewind メニューが出る。あなたが送ったすべてのプロンプトが、戻れるチェックポイントになっている。
選択肢はいくつかある。コードだけ、会話だけ、あるいは両方を復元できる。'Summarize from here' はチェックポイント以降のすべてを要約する——脇道にそれた会話を片づけて空きを作りたいときによい。'Summarize up to here' はチェックポイント以前のすべてを要約する——長い準備段階を畳みつつ、実装部分は残したいときに便利だ。
完了条件を委ねる——Goal

ここまでが「自分の手で操縦する」やり方なら、もう少し自律的に任せたいときに使うのが Goal だ。Goal は完了条件を設定する。完了の姿を描いておけば、Claude は自分で終わったと思う最初の瞬間に止まらず、速い評価器がその条件の充足を確認するまで、ターンをまたいで働き続ける。
たとえば「src/billing のすべてのテストが通り、型チェッカーがエラー 0 を報告したとき」のような条件を設定できる。取り消すには goal を空にする。一つ制約がある——評価器は会話記録(transcript)だけを読む。だから条件は、Claude が生み出す出力、たとえば実際に走らせたテスト結果から確認できるものでなければならない。
外部の状態を見張って反応する——Loop

Loop はプロンプトをターンとターンの間に一定間隔で繰り返し走らせる——間隔は固定にも、自分で調整させることもできる。用途は、CI 実行やデプロイのような外で起きる状態を引き込んで見張り、その状態が変わったら反応することだ。
たとえば、バックログの新しい項目を定期的にポーリングし、重大なエラーが出たら worktree を作って修正を提出させられる。止めたいときは escape を押せばよい。
複数エージェントの衝突を防ぐ——Worktree

ここまでの操縦は「一台の車にハンドル一つ」を前提にしている。しかし複数のエージェントが同じコードベースで同時に働くとき、一台の車にハンドルが二つあるのは危険だ。そこで worktree の出番だ。worktree は、二つ以上の Claude セッションが一つのリポジトリのファイルを奪い合うのを、各セッションに独立したファイルツリーを与えることで防ぐ。
セッションを終えると、変更のないきれいな worktree は自動的に片づけられる。そしてリポジトリのルートにある `.worktreeinclude` ファイルには、各 worktree にコピーして入れる git 無視されたファイルを列挙する——バージョン管理にコミットはしたくないが作業には必要な、環境変数ファイルやローカル設定のようなものを、ここで指定する。
結論——まず範囲を絞り、それから操縦する
長い Claude Code のセッションを扱うときは、まず作業範囲を絞り、それから操縦する。圧縮(compact)は要約が大事なものを残すように方向づけ、rewind メニューで軌道を正す。手順を説明するより「完了の姿」をうまく描けるときは Goal を設定し、並行作業は worktree で走らせる。
そうすれば、長い実行に張り付かずとも信頼できる。結局、数時間のセッションを信頼に足るものにするのは、放っておくことではなく操縦することだ。
