AIとの作業の型i-Willink
新しい仕事は新しい会話で——AIの文脈を濁らせない
AIとの会話を長く続けるほど、関係のない経緯まで毎回読ませることになり、答えの質も費用も悪くなります。私たちが決めている「仕事ごとに会話を分ける」「訂正を重ねず巻き戻す」「残すものを指定して縮める」の3つを、公式の案内とあわせて書きます。
AIは返事のたびに、それまでの会話を全部読み直します。仕事が変わったら会話を新しく始め、方向がずれたら訂正を重ねずに巻き戻すと、答えがぶれにくく費用も下がります。
AIに長く働いてもらうほど賢くなる、と思いがちです。実際には逆で、同じ会話を続けているうちに、前の仕事の経緯や捨てた案に引っぱられた答えが返ってくるようになります。
私たちは、実務の多くをAI(Claude Code)に任せています。毎日いくつもの会話を同時に動かすので、会話の使い方を決めておかないと、品質も利用料もすぐに崩れます。この記事では、私たちが社内ルールにしている会話の分け方を、Claude Code の公式の案内とあわせて紹介します。
この記事の要点
- 1関係のない仕事に移るときは会話を新しくする。前の仕事の経緯を、次の仕事で読ませ続けない
- 2同じ訂正を2回しても直らないときは、3回目を書かずに巻き戻すか、学んだことを入れた新しい指示で始め直す
- 3どうしても長くなる仕事は、何を残すかを指定してから会話を縮める
長い会話ほど、答えも費用も悪くなる
AIは返事のたびに会話全体を読み直すので、関係のない経緯が増えるほど答えがぶれ、読ませる量のぶん費用もかかります。
AIとの会話は、1回ごとに独立した問い合わせではありません。返事をするたびに、それまでのやり取りを全部まとめて読み直しています。調べものの途中経過や、途中で捨てた案も、会話に残っている限り毎回読まれます。
Claude Code の公式の案内も、この点をはっきり書いています。無関係な3つの仕事を1つの会話にためると、4つ目の仕事では毎回3つ分の経緯を読み直すことになる、という説明です。直近の読み込みは割引される仕組み(キャッシュ)がありますが、時間が空いて切れると定価に戻ります。
最近のモデルは一度に読める量が大きく、会話が上限に達することはまれです。それでも、焦点の絞れた会話のほうが答えがよくなり、費用も少なくて済む、というのが公式の案内の結論です。私たちの実感も同じでした。
仕事が変わったら、会話を新しくする
別の仕事に移るときは会話を閉じて新しく始めます。同じ仕事の中の「実装→確認→直す」は続けて構いません。
私たちのルールでいちばん効いているのは、仕事が変わったら会話を新しく始める、という単純なものです。社内では次の場面を区切りにしています。
- 朝の確認(スタンドアップ)を終えて、実装の仕事に移るとき
- 別のプロダクトや別の部品の作業に移るとき
- 作ったものを、作った会話とは別の目で確かめる(レビューする)とき
- 調べる段階から、方針を決める段階、作る段階へ移るとき
反対に、同じ仕事の中は続けます。実装してテストして直す、エラーを調べてそのファイルを直す、といった流れは、会話に残った経緯がそのまま役に立つからです。
レビューを別の会話にするのには、もう1つ理由があります。作った会話には、作った側の考えが全部残っています。その上で確かめさせても、同じ考えをなぞるだけになりがちです。作る役と確かめる役を分ける考え方は、作る役と確かめる役を分けるに書いています。
ずれたら、訂正を重ねずに巻き戻す
見当違いの方向に進んだとき、訂正を書き足すと、その失敗のやり取りまで会話に残ります。ずれ始めた地点まで戻してやり直します。
AIが見当違いの方向に走り出すと、つい「そうじゃなくて」と訂正を書き足したくなります。けれど訂正のやり取りも会話に残り、AIは失敗した試みを毎回読み直すことになります。
公式の案内は、同じことを2回訂正してもまだ違うなら、3回目を書くより、会話を消して、学んだことを入れた新しい指示を1つ出すほうが、ほとんどの場合うまくいくとしています。Claude Code には、会話やファイルを前の時点に戻す巻き戻しの機能もあります。
私たちは、ずれ始めた地点が分かるときは巻き戻し、分からないときは新しい会話で指示を書き直しています。巻き戻しで戻るのは、AIが自分の編集機能で変えたファイルだけで、コマンドで変えたものは戻らない点には注意が要ります。大きな変更の前には、変更履歴(git)に区切りを残しておきます。
長引く仕事は、残すものを指定して縮める
1つの仕事がどうしても長くなるときは、会話を要約して縮めます。その際「何を残すか」を一言添えると、必要な経緯が落ちにくくなります。
1つの仕事が長引くこともあります。そのときは会話を丸ごと捨てるのでなく、要約して縮めます。Claude Code では、縮めるときに残す焦点を指定できます。私たちは「今の変更の経緯だけ残して」「テストの失敗と関係するコードだけ残して」のように、何を守るかを毎回添えています。
縮める目安も社内で決めています。道具の呼び出しが30回を超えたとき、読み込んだ量が上限の6割を超えたとき、仕事の区切りに差しかかったとき、のどれかです。ただし公式の案内にあるとおり、縮める作業そのものも会話全体を読む大きな処理なので、経緯が要らないなら新しい会話で始めるほうが安く済みます。
何日もかかる仕事は、縮めたあとも続けられるように、決まったことや次の手順をファイルに書き出しておきます。会話はいつでも捨てられる状態にしておき、引き継ぐべきことは会話の外に置く、という考え方です。
よくある質問
会話を新しくすると、前の経緯を説明し直す手間が増えませんか?
毎回説明が要る事柄は、会話でなくファイル(プロジェクトの説明書やルール集)に書いておきます。新しい会話は最初にそれを読むので、説明し直す手間は小さく済みます。
読める量が大きいモデルなら、会話を分けなくてもよいのでは?
上限に達しにくくはなりましたが、関係のない経緯を毎回読ませる費用と、答えがぶれる問題は残ります。公式の案内も、仕事の間で会話を消すことを勧めています。
巻き戻しと、会話を新しくするのは、どう使い分けますか?
ずれ始めた地点がはっきりしていて、そこまでの経緯が役に立つなら巻き戻します。どこからずれたか分からない、または経緯ごと要らないなら、新しい会話で指示を書き直します。
ChatGPT など、ほかのAIでも同じ考え方は使えますか?
会話の経緯を読み直して答える仕組みは多くのAIに共通なので、仕事ごとに会話を分ける考え方は使えます。巻き戻しや要約の操作の名前は道具ごとに違うので、それぞれの説明で確かめてください。
参考・出典
- Best practices for Claude Code(Claude Code 公式ドキュメント)(仕事の間で会話を消す・2回訂正して直らなければやり直す・焦点を指定して縮める・巻き戻し)
- Checkpointing(Claude Code 公式ドキュメント)(巻き戻しで戻せるもの・戻せないもの)