Rork でアプリを作っていると、ある瞬間から AI の動きがおかしくなることがあります。「ナビゲーションのエラーを直して」と伝えたら直ったように見えたのに、今度はホーム画面が消えてしまう。ホーム画面を直すと、さっきのエラーが戻ってくる——そんな経験をしたことはないでしょうか。
こうした「直っては壊れ、壊れては直る」状態を、開発者の間では**修正ループ(Fix Loop)**と呼びます。Rork に限らず AI を活用した開発ツール全般で起きる現象ですが、原因と対処法を知っておけば、ほとんどのケースは数分以内に抜け出せます。
修正ループとはどんな状態か
修正ループとは、AI が特定のエラーを修正しようとするたびに別の問題を引き起こし、また元のエラーに戻ってしまうサイクルのことです。典型的な流れを見てみましょう。
- 画面遷移ボタンを押すと
Cannot read property 'navigate' of undefinedが出る - AI が修正する → ナビゲーション関連のコードを書き換える
- エラーは消えたが、今度はホーム画面が表示されなくなる
- AI がホーム画面を修正する → 最初のナビゲーションエラーが再発
- ① に戻る
こうしたループが起きる根本原因は、AI がコード全体の依存関係を正確に把握できないままパッチを積み重ねていることにあります。会話が長くなるほど、文脈の中で「どこが壊れているか」という情報が薄れ、AI の修正精度が落ちていきます。
ループが起きやすい3つのパターン
修正ループが発生しやすい箇所には傾向があります。
パターン1: ナビゲーション関連のエラー 画面間の遷移に関わるコードは、複数のファイルにまたがった変更が必要なことが多いです。AI が一つのファイルだけを修正すると、別のファイルとの整合性が崩れやすくなります。
パターン2: 状態管理(State)の更新
useState や useReducer を使ったコンポーネントで、AI が状態の更新ロジックを変更すると、レンダリングの挙動が変わって連鎖的に別のコンポーネントが壊れることがあります。
パターン3: API レスポンスの型不一致 外部 API から取得するデータの型が想定と異なる場合、AI が型定義を修正するたびに別の箇所で型エラーが発生するループになりがちです。
対処法① 新しい会話を開始して文脈をリセットする
最も効果的で即効性のある対処法は、新しい会話(チャット)を開始することです。
直感に反するかもしれませんが、長い会話でのループは「文脈が複雑になりすぎている」ことが原因の一つです。新しい会話では、AI はそれまでの失敗した試みを引きずらずに、問題だけを見て判断できます。
新しい会話では、次のように問題を一文で明確に伝えてみてください:
「画面遷移ボタンを押すと以下のエラーが発生します:
'Cannot read property navigate of undefined'
ナビゲーションの設定を確認して、正しい実装に直してください。」
「何が起きているか」と「どこを確認してほしいか」を同時に伝えることがポイントです。長い文脈なしに、新鮮な状態で問題を見せることで、AI が正確な原因を特定しやすくなります。
対処法② エラーメッセージを省略せずそのまま貼り付ける
AI が修正に失敗し続けるとき、AI が見ているエラー情報が不完全であることが多いです。
Rork Companion や実機のコンソールに表示されたエラーメッセージを、省略せずそのままコピーして渡すことで、修正精度が大きく上がります:
「以下のエラーが実機で発生しています。コンソールログをそのまま貼ります:
ERROR TypeError: Cannot read property 'navigate' of undefined
at ProfileScreen (ProfileScreen.tsx:45)
at renderWithHooks (react-dom.js:14985)
これを見て、原因を特定してください。」
行番号やファイル名が含まれていれば、AI が正確な箇所を特定できます。「エラーが出ます」だけでは AI は推測で動くしかなく、ループから抜け出しにくくなります。
対処法③ 問題を一つに絞って解決する
修正ループが起きているとき、実は複数の問題が絡み合っていることがあります。一度に複数の修正を依頼すると、AI の変更が別の問題に影響して新しいバグを生み出しやすくなります。
次のように問題を分割して、一つずつ解決していきましょう:
❌ 一度に複数を依頼する例
「アプリが起動しないのと、ログインボタンが動かない問題を直してください」
✅ 一つずつ解決する例
「まず起動クラッシュだけを直してください。
ログインボタンの問題は、起動が安定してから別途対処します。」
「一問一答」のスタイルで進めると、各修正の影響範囲が限定され、ループが起きにくくなります。
ループを最初から防ぐためのプロンプト習慣
修正ループは、最初の指示の仕方を変えるだけでかなり減らせます。
大きな機能を追加する前に、実装の前にプランを確認するステップを挟むのが効果的です:
「ユーザープロフィール画面を追加したいです。
実装の前に、現在のナビゲーション構造を確認して、
どこにどう追加するかプランを教えてください。」
この一手間を加えるだけで、AI がコード全体の整合性を考えた上で実装するようになります。特に複数のファイルにまたがる変更では、この確認ステップが後の修正ループを大きく減らしてくれます。
Rork の AI 機能についてさらに理解を深めたい方は、Rork の AI にうまく伝わらないときのプロンプト FAQ も参考にしてみてください。Rork を使ったバイブコーディング全体の流れを学ぶなら、Rork バイブコーディング入門 も合わせてどうぞ。
まず一つ試してほしいこと
修正ループに陥ったら、まず新しい会話を開始して「エラーメッセージと問題の箇所」だけをシンプルに伝えてみてください。大抵の場合、それだけでループから抜け出せます。
ループは AI の性質上完全には避けられませんが、「リセットして小さく聞く」習慣があれば、開発のテンポを大きく崩さずに前に進めます。