先に結論
長いChatGPTチャットを新しいチャットへ移すとき、僕は「上限が来たら最後にまとめればいい」という運用をやめた。
理由は、少なくとも自分が複数回確認した範囲では、上限表示後に作った引き継ぎの「現在地」が実際より1往復ぶん(ユーザーの発言+ChatGPTの返信で1往復)古くなったことがあったからだ。
これはChatGPT内部の仕様を確認した話ではない。「最後の1回が内部で上書きされる」と断定するつもりもない。あくまで自分の画面で繰り返し起きた挙動から、実務上は最後の瞬間だけに依存しない方が安全だと判断した。
既存の「引き継ぎプロンプト」に加えて、状態を分けて残す
Qiitaにはすでに、長いチャットを新しいチャットへ移すための優れた引き継ぎプロンプトの記事がある。単なる「要約」ではなく、背景・決定事項・未解決事項・次にやることまで構造化する考え方はとても実用的だ。
僕が実際の長期作業で最低限残すようになったのは、次の5項目だった。
- 目的 — そもそも何を達成するための会話か
- 確定事項 — すでに決まったこと
- 現在地 — 今どこまで進んでいるか
- 未確認・保留 — まだ決まっていないこと
- 次にやること — 直後の具体的なアクション
ポイントは、会話を「きれいに要約する」ことではなく、次のチャットで作業を再開できる最小状態を残すことだと思っている。
僕が使っている最小プロンプト
これまでの会話をもとに、新しいチャットへ引き継ぐための要点を、次の5項目でまとめてください。
1. 目的
2. 確定事項
3. 現在地
4. 未確認・保留
5. 次にやること
断定できないことは、断定せず「未確認」として残してください。
これを今のチャットで作らせ、新しいチャットの先頭に渡す。
ただ、貼って終わりにはしていない。もう1手、確認を挟んでいる。
新しいチャット側で、1回だけ読み返させる
引き継ぎを貼った直後に、次のように確認する。
今貼った内容から、目的・確定事項・現在地・次にやることを、あなたの言葉で短くまとめ直してください。
返ってきた内容と、自分が思っている現在地を照合する。
この1往復を入れる理由は、引き継ぎ文そのものが正しく見えても、新しいチャット側がどのように解釈したかは別だからだ。ズレがあれば作業を始める前に直せる。
上限後の「最後の引き継ぎ」を唯一の保険にしない
僕がこの運用へ変えたきっかけは、上限到達後の実体験だった。
複数回、上限が表示されたあとに「最後に引き継ぎを出して」と依頼した。引き継ぎ自体は返ってきた。しかし、その直前に見えていた最後のやり取りが画面から消え、生成された引き継ぎの現在地が実際より少し古いことがあった。
内部で何が起きたのかは分からないし、仕様として断定するつもりもない。
それでも、上限後でも引き継ぎ自体は救えること、逆にその1回だけに完全依存するのは危ういことは分かった。だから今は、区切りのいい時点で引き継ぎを作り、新しいチャットで現在地を再確認するようにしている。
長期プロジェクトでは、引き継ぎ文そのものも限界が来る
単発の移行なら、この5項目でかなり使える。
一方、数週間〜数か月続く作業では、毎回引き継ぎ文を作り直すこと自体が負担になる。昔の判断と今の判断が混ざったり、どの情報が最新版か分かりにくくなる。
そこで今は、重要な状態をドキュメントやメモなど、チャットの外にも残す運用へ移している。
変わりにくい目的・原則、最新の現在地、重要な判断と理由を分けて保存し、新しいチャットではそこから現在地を再構築する。
まとめ
結局のところ、僕が変えたのは「何を書くか」より「どこまで残すか」だった。
目的・確定事項・現在地・未確認/保留・次にやることの5点へ分け、新しいチャットへ移したら一度読み返させる。
そして、上限後の最後の引き継ぎだけを唯一の保険にはしない。
長く使うほど、会話そのものより「現在の状態をどこに残すか」の方が重要になってきた。