
AIとの修正ループが終わらない|堂々巡りから抜ける手順
エラーが出る。AIに貼る。「これで直ります」と修正案が返ってくる。 試す。今度は別の場所でエラー。また貼る。また修正案。試す。また別のエラー——。
気づけば30分、いや1時間。やり取りは画面いっぱいに伸びているのに、コードは最初よりむしろ怪しくなっている。「あれ、これ進んでる…?」
この堂々巡り、けっこう多くの人が通ります。 そして、たいていの場合、あなたの詰めが甘いからではありません。ループの構造そのものにハマっているだけです。AIは一問一答が得意な反面、往復が長くなるほど過去の文脈を取りこぼし、その場しのぎの修正を積み重ねてしまう。だからこそ、抜け出すには「もっと頑張って聞く」のではなく、いったんループを断ち切る型が要ります。
この記事は、AIとの修正ループが終わらないときに、堂々巡りから抜ける手順をまとめたものです。長く見えますが、全部は要りません。まず「手を止める合図」だけ持ち帰れば、今夜から効きます。
30秒のファストパス(最低ライン)
- 3往復ルール:同じ不具合で修正案を3回試して直らなければ、そこで一旦手を止める(沼のサイン)
- 状態を1行で書く:「今どこが・どんな条件で・どう失敗するか」を自分の言葉でメモする(AIにではなく、自分に)
- 文脈をリセット:長くなった会話は捨て、新しいチャットで「症状+最小の再現+試して効かなかったこと」だけを渡し直す
※直前の変更を捨てて戻れるよう、まだコミット/スタッシュしていなければ先に退避を。
結論:修正ループから抜ける鍵は「回数を制限して手を止める」「症状を自分の言葉で言い直す」「文脈をリセットして問い直す」の3つ。AIとの往復は、長くするほど賢くなるわけではありません。むしろ短く区切り、①3回試して直らなければ止める → ②今の状態を1行で言語化する → ③会話を作り直して最小再現で聞き直す → ④それでも動かなければAIを一度離れて自分で切り分ける。ループは根性ではなく、構造で抜けます。
AIから離れるのは、負けでも手抜きでもありません。 同じ壁に何度もぶつかる時間を止めて、頭を切り替えるためです。
なぜ修正ループは終わらなくなるのか

抜け方の前に、なぜ輪が回り続けるのかを一度だけ見ておきます。犯人が分かると、止めどころが見えます。
- その場しのぎの上塗り:AIは「今見えているエラー」を消すことに最適化します。根っこを直すより、症状を隠す修正(例外を握りつぶす、条件を足す)を返しがちで、それが別の場所を壊す
- 文脈がずれていく:往復が長くなるほど、AIは会話の前半を取りこぼします。もう存在しない古いコードを前提に直そうとして、噛み合わなくなる
- 根本原因が固定されていない:症状を追いかけるうちに、そもそも何を直したかったのかが曖昧になる。ゴールが動くと、いつまでも着かない
- 自分も検証をサボり始める:早く抜けたくて、AIの「これで直ります」を確かめずに試す。動かなかった理由を掴めないまま次の修正へ進む
- 変更が積み重なって戻れない:あれこれ試すうちに、最初の正しかった状態がどこか分からなくなる
裏を返すと——回数を区切り、状態を言い直し、文脈を作り直せば、この輪は断ち切れます。順に見ていきます。
手順1:3回試して直らなければ、手を止める
いちばん効くのに、いちばん難しいのがこれです。「あと1回聞けば直るかも」が、ループを長引かせます。
そこで、同じ不具合に対する修正案を3回試して直らなければ、そこで一旦止めるとあらかじめ決めておきます。回数は3でなくてもいいですが、「無制限にしない」ことが肝心です。時間で区切る(例:15〜20分続けて進まなければ止める)のも有効です。
止めるといっても、諦めるのではありません。同じやり方を続けるのをやめる、という意味です。ここで一度立ち止まれるかどうかで、この後の30分が変わります。
ヒント:往復を始める前に、まだコミットしていない変更は退避(コミットやスタッシュ)しておくと安心です。「試す前の状態」にいつでも戻れると、思い切って手を止められます。差分の扱いはリファクタリングをAIに任せるときの差分の確認方法も参考に。
手順2:今の状態を、自分の言葉で1行にする
手を止めたら、AIに聞く前に、まず自分に説明します。紙でもメモでも、声に出すだけでもいい。書く形はシンプルに。
- どこで:どの操作・どのリクエスト・どの関数で
- どんな条件で:毎回か、特定の入力・タイミングだけか
- どう失敗するか:何が期待で、実際は何が起きるか
例:「ログイン後の一覧画面で、検索結果が0件のときだけ、表示処理が落ちる。あるときは動く」。
この1行を書けた時点で、実はかなり前進しています。往復に飲まれていると、この一番大事な事実がぼやけていることが多い。逆に、ここが曖昧なまま聞き続けたから、AIも的を絞れなかったのです。書けない場合は、まだ情報が足りないサイン。次の手順で情報を集めます。
手順3:文脈をリセットして、最小の再現で問い直す

長くなった会話は、思い切って閉じます。もったいなく感じますが、ずれた文脈を引きずるより、まっさらから問い直す方が速い。新しいチャットに持ち込むのは、次の3点だけ。
- 症状:手順2で書いた1行
- 最小の再現:問題が起きる一番小さいコードと入力(関係ない部分は削ぎ落とす)
- 試して効かなかったこと:これまでの修正で「やってダメだった」ものを列挙。同じ提案の再来を防げる
そして聞き方も変えます。「直して」ではなく、切り分けを頼みます。
- 「この症状の考えられる原因を、可能性が高い順に3つ。それぞれどう確認すれば切り分けられるかもつけて」
- 「まず確認すべきログや値はどこ? 何が分かれば原因を絞れる?」
- 「この修正でなぜ直ると考えたのかを、一言で説明して」
最後の「なぜ直るのか」を必ず聞くのがコツです。理由を言えない修正は、たいていその場しのぎ。理由が腑に落ちてから試す方が、結局は近道です。原因の切り分け自体はスタックトレースをAIに読ませる渡し方も合わせてどうぞ。
手順4:それでも動かなければ、一度AIから離れる
リセットしても進まないなら、それはAIで解ける問題ではないか、情報がまだ足りないというサインです。ここで往復を続けても、輪に戻るだけ。いったんAIを閉じて、自分の手で切り分けます。
- 二分探索で範囲を狭める:動いていた時点まで戻し、変更を半分ずつ戻して、どこで壊れたかを挟み込む
- 仮説をひとつ、自分で確かめる:ログや値を1か所だけ出して、思い込みが本当かを見る
- 前提を疑う:AIの提案した関数・設定が実在するかを確認する。もっともらしい誤り(ハルシネーション)が混じっていないか(→AIのハルシネーションの見抜き方)
- 人に聞く/明日にする:詰まったまま夜中に粘るより、同僚に5分見てもらう、あるいは一晩寝かせる方が、あっさり抜けることは本当に多い
これはAIを見限る話ではありません。根本原因の切り分けは、環境と経緯を知っている人が強い——その役割分担に戻るだけです。任せる所と自分で見る所の線引きはAIに任せてはいけない判断・領域の線引きにまとめています。
ループに戻らないための、次への一歩
抜けられたら、同じ沼にまた落ちないように、ひとつだけ小さな記録を残しておくと後が楽になります。
- 原因と、なぜ直ったかを一言メモ(コミットメッセージやコメントに一行でも)
- どこで沼にハマったか(例:症状を1行にしていなかった/変更を退避せず戻れなくなった)
次に似た詰まり方をしたとき、「あ、これ前に3回ルールで抜けたやつだ」と思い出せれば、往復を始める前に手が動きます。積み重なった修正を保守できる形に戻す手当ては「動くけど読めない」AIコードの手直し手順も参考に。
ありがちな落とし穴
- 無制限に往復する:「あと1回」を繰り返して、気づけば1時間。回数か時間で区切りを決めていない
- 症状を言語化せず聞き続ける:自分でも何を直したいか曖昧なまま、エラーだけ貼り続ける
- 長い会話を捨てられない:ずれた文脈を引きずり、噛み合わない提案を受け取り続ける
- 効かなかったことを伝えない:同じ修正案が何度も返ってくる
- 「なぜ直るか」を聞かずに試す:その場しのぎを積み重ねて、別の場所を壊す
- 戻れなくしてしまう:試す前に退避せず、最初の正しかった状態を見失う
- 夜中に一人で粘りすぎる:疲れた頭で輪の中を回り続ける。人に聞く・明日にする選択肢を忘れる
明日からやること(小さく始める3つ)
- 往復を始める前に、まだ退避していない変更をコミット/スタッシュして「戻れる状態」を作る
- 同じ不具合で3回試して直らなければ手を止め、今の状態を自分の言葉で1行にする
- 長くなった会話は閉じ、症状+最小再現+効かなかったことだけを新しいチャットに渡し、「可能性順+確認方法+なぜ直るか」で聞き直す
この3つだけでも、堂々巡りに飲まれる夜はぐっと減ります。慣れたら、二分探索や最小再現の作り方を足していけば十分です。
修正ループ脱出チェックリスト
「関係する所だけ見る」が前提です。全部に○は要りません。いま詰まっている状況に関わる所だけ、さっと確認します。
止めどきの合図
- 同じ不具合で修正案を3回以上試していないか
- 15〜20分、進んでいる実感がないまま往復していないか
- コードが最初より複雑・怪しくなっていないか
止めたあと
- 症状を「どこで・どんな条件で・どう失敗するか」の1行にしたか
- 試す前の状態に戻れるよう退避してあるか
- 最小の再現(一番小さいコードと入力)を用意したか
問い直すとき
- 長くなった会話を閉じ、新しい文脈で聞き直したか
- 「効かなかったこと」を伝えて同じ提案の再来を防いだか
- 「直して」ではなく「可能性順+確認方法」で聞いたか
- その修正で「なぜ直るか」を一言で説明してもらったか
離れる判断
- リセットしても進まないとき、一度AIを離れて自分で切り分けたか
- 提示された関数・設定が実在するか確かめたか(ハルシネーション対策)
- 人に聞く/明日にする、を選択肢に入れたか
最後に
同じエラーの前で何往復もして、時計だけが進んでいく夜は、誰にでもあります。それはあなたの力不足ではなく、ループという構造にハマっているだけ。だから、抜けるのも構造でいい。回数を区切って、状態を言い直して、文脈を作り直す。それでも動かなければ、いったんAIから離れて、自分の目で切り分ける。
AIは、うまく区切って使えば頼れる相棒です。ずっと画面に張りつく相手ではなく、必要なときに短く問い直す相棒として。最後に糸口を掴むのは、やっぱり現場を知っているあなたの手です。

今日ひとつ、「3回試して直らなければ、一度手を止める」を決められたなら、それはもう、往復に飲まれず主導権を自分の側に取り戻す確かな一歩です。
よければ、こちらも
- エラーの渡し方そのものはスタックトレースをAIに読ませる渡し方へ。
- AIの「たぶんこれ」を見抜く型はAIのハルシネーションの見抜き方へ。
- 積み上がった修正を保守可能に戻すなら「動くけど読めない」AIコードの手直し手順へ。