会話が長くなると、なにが起きる?
長く話し込んでると、Claudeの返事がだんだんズレてくることがある。さっき言った指示を忘れたり、見当違いの方向に進んだり、返事が来るまでやたら時間がかかったり。
原因は、会話が長くなるほど、Claudeが一度に抱える情報も増えていくから。案件ごとの資料を机の上にどんどん積んでいくところを想像してほしい。1件だけならすぐ見つかる。でも5件、10件と積み上がると、さっき置いたはずの大事なメモがどこにあるか探すだけで一苦労になる。会話も同じで、抱えている文脈が増えるほど、今の頼みごとに関係あるところを正確に拾い上げるのが難しくなっていく。
なぜそうなるのかという技術的な仕組みはコンテキストエンジニアリングで詳しく扱う。ここでは「長い会話は、ときどき整理したほうがいい」とだけ覚えておけば十分。
話題が変わったら /clear
今やってる話とはまったく関係ない用事を頼みたいとき、一番シンプルな道具が /clear。
入力欄で /clear と打つと、会話が空っぽになって真っさらな状態から始まる。さっきまで話してた案件のことは、いったんきれいさっぱり忘れてもらう感じ。
$/clear(会話がリセットされ、新しい会話として開始)
話が完全に切り替わるタイミングでは、次に進む前に一度 /clear するのを習慣にしておくといい。前の案件の情報が混ざって、新しい頼みごとの答えが変な方向にねじれるのを防げる。
同じ作業の途中なら /compact
全部消したいわけじゃない。今やってる作業は続けたいけど、会話が膨らみすぎて重くなってきた、というときに使うのが /compact。
/clear が「まっさらに戻す」なら、/compact は「ここまでの話をぎゅっと要約して、身軽になって続ける」。中身が消えるわけじゃなく、要点だけ残して圧縮される。
$/compact テストの出力に集中して(会話がここまでの要約に置き換わる。指定した観点を優先して残す)
うしろに一言添えると、要約するときに何を優先して残すか指定できる。長いデバッグ作業の途中なら「テストの出力に集中して」と書いておけば、雑談やわき道は削られて、テスト結果まわりの経緯だけがちゃんと残る。
中身を覗く /context、寄り道する /btw
今、会話がどれくらい重くなってるか気になったら /context。色分けされたグリッドで、今使ってる分量がひと目でわかる。/context all にすると、内訳まで細かく展開してくれる。
もう1つ、/btw というコマンドもある。今の作業の話を止めずに、ちょっと横道の質問をしたいときに使う。答えは会話には残らないし、Claudeは今すでに会話の中で知ってる範囲だけで答える(新しく調べには行かない)。何も付けずに /btw とだけ打つと、直前に聞いた横道の質問と答えをもう一度見せてくれる。
会話を空にして真っさらから始める
ここまでの会話を要約してコンテキストを空ける
今どれくらい会話が重いかをグリッドで見る
会話に残さず、今の話の腰を折らずに横道の質問をする
前の会話に戻る
「今日は昨日の続きをやりたい」というとき。
デスクトップアプリなら、サイドバーに並んでる過去の会話をクリックするだけ。入力欄に /resume と打つと、タイトル・フォルダ・ブランチで検索できる一覧も出てくる。ターミナルで始めた会話も、ここから続きが開ける。
補足
ターミナルで使っている人へ
同じフォルダで claude --continue(短縮形 -c)と打てば、直前の会話がそのまま開く。別の会話を探したいときは claude --resume(-r)。会話の一覧から選ぶ画面が開く。セッションの途中なら /resume でも同じ一覧が出る。
巻き戻す(/rewind とEsc二回)
作業が思わぬ方向に進んじゃった、間違ったファイルを消された。そういうときの取り消しボタンが /rewind。入力欄が空の状態でEscを2回押しても同じメニューが開く。
開くと、会話中のどのタイミングまで戻すか選べる画面が出る。会話とコードを両方戻す、会話だけ戻す、コードだけ戻す、といった選択肢がある。
注意
入力欄に文字が残ってると、メニューは開かない
Esc二回の動きは、入力欄が空かどうかで変わる。何か打ちかけの文字が残っている状態でEscを2回押すと、その文字が消えるだけで、巻き戻しメニューは開かない。メニューを呼びたいときは、入力欄を空にしてからEsc二回。
ただし、全部が戻せるわけじゃない。/rewind が追跡してるのは、Claude自身がファイル編集ツールで直接書き換えた分だけ。ターミナルのコマンド(rm や mv でファイルを消したり動かしたりする操作)でついた変更は対象外で、戻せない。戻せるもの・戻せないものの全リストはCheckpointsで詳しく扱う。
CLAUDE.md・PROGRESS.mdとの役割分担
前のレッスンで出てきた CLAUDE.md は、ここで説明したどの操作でも消えない。/clear で会話をまっさらにしても、次にClaudeを起動すればCLAUDE.mdはまた最初から読み直される。消えるのは「この会話でのやり取り」だけで、「あなたについての基本情報」は別の場所に置いてあるから。
じゃあ、数日にまたがる案件の「昨日はどこまでやったか」はどう残す? ここは /clear や --continue に任せきりにせず、PROGRESS.mdに自分で書かせておくのが確実。会話そのものを呼び出せなくても、PROGRESS.mdを読み直せば同じ続きから始められる。
切る・畳む・戻る、どれを選ぶ?
話題が変わった → /clear
今の会話は用済み。まっさらな状態から次の用件を始める
同じ作業中、重くなった → /compact
要点だけ残して圧縮し、同じ作業を続ける
様子を見たいだけ → /context
今どれくらい重いかを確認するだけ。何も変えない
やり直したい → /rewind
過去のある時点まで会話やコードを戻す
今日のまとめ
- 話題が変わったら
/clear、同じ作業中に重くなったら/compact、で使い分ける - 前の会話にはアプリの履歴か
/resumeで戻れる(ターミナルなら--continue・--resume) /rewind(Esc二回)で戻せるが、ターミナルコマンドで直接ついた変更は戻せない
次のレッスンでは、Claudeが何をするときに確認を求めてくるかを見ていきます。
セルフチェック
1. 話している途中で、全然関係ない新しい用事を頼みたい。何を使う?
2. 同じ作業を続けたいけど、会話が重くなってきた。どうする?
3. /rewind で戻せないものは次のうちどれ?