第一章:AIが堂々巡りになったら?中断してやり直す技術とGit基本リセット戦略

Vibe Codingにおいて最も頻繁に遭遇する問題は間違いなく「AIが突然コードをめちゃくちゃに変更し、修正すればするほど悪化する!」現象です。これは俗に「AIの堂々巡り」と呼ばれます。本章ではこの現象が発生する理由と、「中断してやり直す」技術と「Gitリセット」で完璧に解決する方法を深く解説します。

なぜAIは堂々巡りに陥るのか?

AI大規模言語モデル(GPT-4、Claude 3.5 Sonnetなど)の本質は「文字継ぎ」です。コンテキストウィンドウに誤ったロジック、無効な修正(Patch)、または矛盾するプロンプトが充満すると、AIの注意メカニズム(Attention Mechanism)がこれらのノイズに干渉されます。

具体的に、堂々巡りは以下の状況で発生します:

  1. 連続修正(Band-aid Fixes):バグを見つけ、AIが修正案を提示、しかし別のバグを引き起こす。さらに新しいバグを提示し、AIがまた修正...最終的にファイルが原型を留めなくなる
  2. コンテキスト汚染:会話スレッドが長すぎて、AIが最初のシステムアーキテクチャ設定を忘れる
  3. 幻覚(Hallucination):AIが存在しないパッケージやAPIライブラリをでっち上げる

核心の心得:中断してやり直す技術

AIが連続2回の修正で同じ問題を解決できず、さらにエラーが増える場合、即座に会話を停止してください! もう壊れたコードをAIに修正させようとしないでください。必要なのは「中断してやり直す」ことです。

中断してやり直すとは?

  1. 現在の会話スレッド(Context)を放棄する
  2. コードを「最後に動作していた状態」(Working State)に戻す
  3. 全新規の会話スレッドを開始し、問題を改めて説明する

実践チュートリアル:Gitで安全にリセットする方法

Vibe Codingでは「小さな機能を完成させるごとにCommitする」ことを強く推奨します。こうすることでAIが失敗した時、ワンクリックで復元できます。

シミュレーションシナリオ

ログインボタンを開発中で、元々美しいボタンだったが、AIにアニメーションを追加させたらボタンが消えた。20分間AIと議論した結果、ページ全体が真っ白になった。

ステップ1:現在の変更状態を確認

ターミナルまたはCursorのGitパネルで以下を実行:

git status

変更されたファイルが赤字で表示されます。

ステップ2:心を鬼にして全て破棄

まだ壊れたコードをCommitしていない場合、以下のコマンドで全ての変更を破棄できます:

# ステージングされていない変更を全て破棄(警告:この操作は元に戻せません)
git checkout .

# 追跡されていない新規ファイルがある場合、これで削除
git clean -fd

ステップ3:すでにCommitしてしまった場合?

誤って壊れたコードをCommitしてしまっても慌てないでください。git resetが使えます。 まず履歴を確認:

git log --oneline

最後に動作していたバージョン(例:hashがa1b2c3d)を見つけ、実行:

git reset --hard a1b2c3d

バン!プロジェクトはあの美しい瞬間に戻りました。

会話を再開するプロンプト技術

安全なポイントに戻ったら、全新規の会話(New Chat)を開始します。汚染された古い会話は使わないでください。

以下のプロンプト構造で会話を再開します:

[目標] LoginButton.tsxにFramer MotionのHoverアニメーションを追加したい

[現在のコード] (復元したクリーンで動作するコードを貼り付け)

[前回の失敗から学んだこと] 前回<motion.div>で直接ラップしようとしたら、元のflexレイアウトが崩れてボタンが消えました 特にclassName="flex items-center"構造を破壊しないよう注意してください

まとめ

  1. AIの堂々巡りの根本原因はコンテキスト汚染
  2. 連続2回修正できないバグに遭遇したら即停止
  3. Gitで最後の安全なポイントにリセット
  4. 新規会話を開始し、失敗を総括してプロンプトを再送信

この心得をマスターすれば、CursorやChatGPTでコーディングする際の効率が300%向上し、AIにイライラしてPCを叩き壊すこともなくなります!

章のまとめ

  • コアコンセプトと原理を理解
  • 実装方法とテクニックを習得
  • 一般的な問題と解決策に精通
  • 実際のプロジェクトに適用可能

さらに読む

  • 公式ドキュメントとAPIリファレンス
  • GitHubのオープンソース例
  • 技術書とオンラインコース
  • コミュニティディスカッションと技術ブログ

会員限定無料チュートリアル

このチャプターは登録会員限定の無料コンテンツです!ログインまたは登録してすぐにロックを解除してください。

今すぐログイン / 登録