RORK LABEN
APPLE-AI — Appleが初回DL 200万未満の開発者にFoundation Modelsを無償開放。個人開発アプリへのAI組み込みコストが大幅に低下SWIFT-API — Foundation Modelsのサーバーサイド統合で、ClaudeやGeminiを同一Swift APIから呼び出し可能に。画像入力にも対応KOTLIN-MIGRATION — Android Studioの移行エージェントがReact Native製アプリをネイティブKotlinへ自動移行。Rork生成アプリの将来の選択肢にRORK-MAX — Rork MaxはネイティブSwiftコードを生成(月$200)。iPhone・iPad・Watch・TV・Vision Pro・iMessageまで対応SIMULATOR — ブラウザベースのストリーミングiOSシミュレータで、XcodeやMacなしに実機相当のApple環境で検証可能SWIFTUI — WWDC 2026でSwiftUIが進化。並べ替え可能コンテナ・任意コンテナのスワイプアクション・最大2倍速のレイアウトAPPLE-AI — Appleが初回DL 200万未満の開発者にFoundation Modelsを無償開放。個人開発アプリへのAI組み込みコストが大幅に低下SWIFT-API — Foundation Modelsのサーバーサイド統合で、ClaudeやGeminiを同一Swift APIから呼び出し可能に。画像入力にも対応KOTLIN-MIGRATION — Android Studioの移行エージェントがReact Native製アプリをネイティブKotlinへ自動移行。Rork生成アプリの将来の選択肢にRORK-MAX — Rork MaxはネイティブSwiftコードを生成(月$200)。iPhone・iPad・Watch・TV・Vision Pro・iMessageまで対応SIMULATOR — ブラウザベースのストリーミングiOSシミュレータで、XcodeやMacなしに実機相当のApple環境で検証可能SWIFTUI — WWDC 2026でSwiftUIが進化。並べ替え可能コンテナ・任意コンテナのスワイプアクション・最大2倍速のレイアウト
記事一覧/開発ツール
開発ツール/2026-06-12上級

Rork の再生成と手動修正を共存させる — 上書きされない境界の引き方

設定画面の文言を直しただけの再生成で、前週に手で入れた広告まわりの修正が消えていました。AI が書く土地と人が守る土地を分けるディレクトリ境界、1行アダプタ、パッチ資産化、プロンプトの絞り方までを実測値とともに整理します。

Rork382再生成コード管理Git長期運用4

プレミアム記事

6月のはじめ、ストア公開直前の差分確認で手が止まりました。前の週に手で入れたはずの修正——ATT の同意ダイアログが閉じる前に広告 SDK の初期化を始めないようにするガード——が、跡形もなく消えていたのです。

直接のきっかけは私自身の操作でした。設定画面の文言を直したくて Rork に小さな修正を頼み、出力されたプロジェクトをそのままエクスポートした。それだけです。Rork は依頼どおり文言を直し、同時に、依頼していない場所を生成時点の「正しい姿」に揃え直していました。手動修正は、AI から見れば揃え直すべき逸脱のひとつだったわけです。

再生成は Rork の中核的な強みで、これを手放す選択はありません。一方で、エクスポート後のコードに手を入れる場面は、運用が長くなるほど確実に増えます。広告(AdMob)の初期化順序、課金イベントの取りこぼし対策、クラッシュへの応急対処。つまり「再生成を続けながら、手動修正も守る」を構造として成立させる必要があります。

私はこの出来事を境に、プロジェクトの中に「AI が書く土地」と「人が守る土地」を明示的に分ける設計へ切り替えました。以下、その境界の引き方を、実測と実装、日々の取り込み手順まで含めて書いていきます。

再生成が手動修正を消す仕組みを、数字で確かめる

Rork のチャットへの依頼は、ファイル単位の編集指示ではありません。「アプリがこうあるべき」という状態への指示で、その実現に関わるファイルがまとめて再構成されます。どのファイルが書き換わるかは、依頼文の小ささからは予測できません。

これを体感ではなく数字にしておきたくて、運用中のプロジェクトの複製に対して影響範囲が小さいはずの依頼を3種類投げ、書き換わったファイル数を git diff --stat で数えました。

依頼内容                                書き換わったファイル数
設定画面のボタン文言を1箇所変更               7
ホーム画面のカードの角丸を 8 → 12 に変更      4
設定画面にトグルを1つ追加                   11

文言1箇所の変更で 7 ファイルです。依頼に直接関係していたのは 1 ファイルだけで、残る 6 ファイル、率にしておよそ 85% は依頼と無関係の書き換えでした。内訳を見ると、目的のファイルに加えて、共有フックやユーティリティが体裁の揃え直しで書き換わっていました。diff の大半は無害な整形です。問題は、その無害な差分の山の中に、手動修正の打ち消しが 1〜2 行だけ混ざることです。数百行の diff から毎回それを人の目で拾い続けるのは、現実的ではありません。

ここから引ける結論は「再生成を避ける」ではありません。再生成されても壊れない場所に手動修正を置く。発想をそちらへ切り替えます。

境界の原則 — 上書きされてよい土地と、守る土地を分ける

私が運用しているルールは3つだけです。

第一に、Rork が生成するツリーは全て「いつ上書きされてもよい」とみなします。app/ も components/ も hooks/ も、次の再生成で消える前提で扱い、ここには手動修正を直接書きません。

第二に、手で書くコードは guarded/ という独立ディレクトリに隔離します。名前は何でも構いません。重要なのは「Rork が生成しないパスである」ことと、「取り込み時に機械的に保護できる」ことの2点です。

第三に、生成コードから guarded/ への接続は、1行の import と1回の関数呼び出しまでに絞ります。接続点が細いほど、再生成で消えたときの復旧が「1行戻す」だけで済みます。

ディレクトリはこうなります。

project/
├── app/              # Rork の土地(いつ上書きされてもよい)
├── components/       # 同上
├── hooks/            # 同上
├── guarded/          # 人の土地(再生成の影響を受けない)
│   ├── ads/
│   │   └── initializeAds.ts
│   ├── analytics/
│   │   └── track.ts
│   └── billing/
│       └── listeners.ts
└── patches/          # guarded に移せない修正のパッチ置き場(後述)

ここまでお読みいただきありがとうございます。

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
文言1箇所の変更依頼で 7 ファイルが書き換わった実測から導く、被害半径を前提にした境界設計の原則
広告・課金・計測の手動ロジックを再生成から守るアダプタ層の TypeScript 実装と接続点を1行に絞る理由
git format-patch で手動修正を資産化し、再生成のたびに機械的へ再適用する取り込みフローの全コマンド
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

お読みいただきありがとうございます

Rork Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • コピー&ペーストで使える実装コード付き
  • 毎日新しい上級ガイドを追加
  • ¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

関連記事

開発ツール2026-06-12
アップデートでお気に入りを消さないために — Rork 製アプリのローカルデータ・マイグレーション設計
「アップデートしたらお気に入りが消えた」という星1レビューを受け取らないための設計です。封筒形式とスキーマバージョン、マイグレーションランナーの実装、EAS Update をスキーマ中立に保つ運用ルールまでを実体験から整理しました。
開発ツール2026-05-19
クラッシュ率上昇時にAdMobを自動で絞る『収益を守る自動制動』アーキテクチャ — Rork × Firebase Remote Config × Crashlytics の連動設計
クラッシュ率が跳ね上がった瞬間、ユーザーに広告を出し続けて評価を落とすか、いったん広告を絞って安定性を守るか。12年の個人開発運用で出した答えは、Firebase Remote Config と Crashlytics のシグナルを AdMob に連動させる4状態の自動制動アーキテクチャでした。
開発ツール2026-04-22
Rork で作った個人アプリを3年以上持たせるための保守設計 — アプリ老化と静かに戦う実践
Rork で作ったアプリを長く運用していくと、リリース直後には見えなかった「老化」が少しずつ現れてきます。OS 更新、ライブラリの破壊的変更、ユーザーの端末環境の変化。私が10年以上アプリを運営してきた経験と、Rork で作ったアプリを2年以上運用してきた中で、3年目以降も安定させるために大事にしている保守設計の考え方をまとめます。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →