Rork で作業していると、こういう場面に出くわすことがあります。「さっきまで動いていたのに、別の機能を追加したら別のところが壊れた」「同じことを頼み続けているのに、毎回違うコードが出てくる」「直してと言うたびに全体を書き直してしまう」。
これらは Rork の使い方に慣れる上での避けられない通過点です。ただ、失敗パターンを知っておくと、ただ困るのではなく「このパターンだからこう対処すればいい」と判断できるようになります。
今回は、Rork のコード生成でよく起きる失敗パターンを5つ整理し、それぞれに対して私が実際に有効だと感じた打開策をお伝えします。
パターン① 機能追加のたびに全体が書き直される
症状: 新しい画面を追加するよう依頼すると、既存の画面のロジックやスタイルまで変わってしまう。
原因: コンテキストが肥大化すると、AI が「どこまでが変えていい領域か」を正確に把握できなくなります。特にプロジェクトの規模が大きくなってきたとき、AI は「全体の整合性を取ろう」として既存部分を書き直す判断をしがちです。
打開策:
変更範囲を明示的に指定することが最も効果的です。
「既存のコードは変更せずに、HomeScreen.tsx に新しいセクションを追加してください。
追加するのは〇〇のリストコンポーネントだけです。他のファイルは触らないでください。」
「他のファイルは触らないでください」という一文を加えるだけで、スコープが大幅に絞られます。また、変更するファイルを1つに限定する依頼の出し方も有効です。
パターン② 同じバグを直しても元に戻る
症状: バグを報告して修正してもらうと、次のターンでまた同じバグが出てくる。あるいは、直ったと思ったら別の場所で同じ問題が再発します。
原因: AI はコンテキストウィンドウの範囲内でコードを見ているため、修正したファイルと別のファイルで同じパターンが使われている場合、片方しか修正されないことがあります。また、「なぜそのバグが起きるのか」の根本原因を AI が把握していない場合、表面的な修正だけして根本は変わらないことがあります。
打開策:
バグの報告をするとき、症状だけでなく「なぜそうなるか」の仮説を一緒に伝えることで、AI の修正精度が上がります。
「ボタンを押したとき、カウントが2回増えている。
原因はおそらく、onPress が親コンポーネントと子コンポーネントの両方で登録されているためと思われます。
イベントハンドラの重複を解消してください。」
また、同じパターンが複数箇所にあるなら「このパターンがあるすべての箇所を修正してください」と明示します。
パターン③ AIが変更の内容を理解していない状態で作業が進む
症状: プロンプトへの返答は来るが、生成されたコードが依頼の意図とズレています。依頼を繰り返しても改善されありません。
原因: AI が文脈を十分に持てていない状態で作業している可能性があります。特に新しいセッションを開始したとき、以前のやりとりの文脈がリセットされているため、「これまでの前提」が通じなくなっています。
打開策:
新しいセッションを開始するときや、長い会話の後に別のトピックに移るときは、現在の状態を簡単に説明する「状況の再設定」が有効です。
「現在の状況を説明します。このアプリは〇〇の機能を持ち、〇〇という構造になっています。
今回お願いしたいのは、この状況を踏まえた上での〇〇の実装です。」
また、複雑な依頼をする前に AI に「この依頼を一言で要約してください」と聞いてみると、AI の理解度を確認できます。
パターン④ UIの見た目がどんどん変わってしまう
症状: 機能を追加するたびに、ボタンの色・フォント・余白など、意図していないところのスタイルが変化します。
原因: Rork が生成するスタイリングは、機能の追加ごとに「全体の一貫性」を保とうとして調整することがあります。特にスタイルの定義が分散していると、一部の変更が別の部分に波及します。
打開策:
スタイルを集中管理するアプローチが根本的な解決になります。
「スタイルは styles/theme.ts に定義し、各コンポーネントはそこから参照するようにしてください。
スタイルの変更は theme.ts のみで行い、個別コンポーネントにインラインスタイルを書かないようにしてください。」
この構造を最初に確立しておくと、後からのスタイル変更が格段に安定します。
パターン⑤ 生成が途中で止まる・ループする
症状: 生成中に処理が止まる、同じコードのブロックが繰り返し生成される、または依頼に対して意味のある応答が返ってこありません。
原因: 依頼のスコープが大きすぎる場合、または前のセッションのコンテキストが壊れている場合に起きやすいです。複雑な依頼ほど、AI が処理しきれずに不完全な出力を繰り返す傾向があります。
打開策:
依頼を小さく分割することが最も確実な解決策です。
❌ 「ユーザー認証機能を丸ごと実装してください」
✅ 「まずログイン画面のUIだけ作ってください。データ接続は次のステップで行います」
→(完了後)「ログイン画面のUIに対して、Firebase Auth の接続を追加してください」
1回の依頼で完結する単位を「1画面の追加」「1機能の接続」「1つのバグ修正」程度に保つと、生成の成功率が大幅に上がります。
共通して使える対処法:新しいセッションで再試行する
上記のパターンに当てはまらない場合や、何度試しても改善しない場合は、新しいセッションを開始して、最小限の状態から再試行することが意外と効果的です。
長くなったセッションでは、AI のコンテキストが混濁して判断がおかしくなることがあります。新しいセッションで「今の状態はこうです。やりたいのはこれです」と再設定するだけで、スムーズに進むことが多いです。
Rork との対話でうまくいかないとき、多くの場合は「AI の限界」ではなく「伝え方の問題」です。パターンを知っておくと、行き詰まったときに「次にどうするか」を考える余裕が生まれます。