RORK LABEN
BUILD — Rork Max はクラウド上の実機 Mac に Xcode と iOS SDK を載せ、SwiftUI を書き、ビルドし、エラーを読んで直す反復を回します。コードを吐いて終わりではない点が生成物の質に効いていますNATIVE — 生成されるのは React Native ではなく純粋な Swift / SwiftUI です。AR や Metal、ウィジェットなど React Native からは届かない機能に手が届くことが、他ビルダーとの実質的な差になりますPLATFORMS — 対応は iPhone・iPad・Apple Watch・Apple TV・Vision Pro に加えて iMessage まで含みます。ウォッチや拡張から入る設計を試すのに向いていますCOMPANION — Rork Companion により、有料の Apple Developer アカウントなしで生成したアプリを実機の iPhone で確認できます。最初の一本を試す段階の障壁が一段下がりましたPRICING — 無料で開始でき有料プランは月額25ドルから、Rork Max は月額200ドルの Max プランです。回収できる本数と規模を先に見積もっておく価値がありますDEADLINE — Google Play は2026年8月31日以降、新規アプリと更新の双方に対象 API レベル36 以上を要求します。残り10日で、生成物の targetSdkVersion は自分で確認が必要ですBUILD — Rork Max はクラウド上の実機 Mac に Xcode と iOS SDK を載せ、SwiftUI を書き、ビルドし、エラーを読んで直す反復を回します。コードを吐いて終わりではない点が生成物の質に効いていますNATIVE — 生成されるのは React Native ではなく純粋な Swift / SwiftUI です。AR や Metal、ウィジェットなど React Native からは届かない機能に手が届くことが、他ビルダーとの実質的な差になりますPLATFORMS — 対応は iPhone・iPad・Apple Watch・Apple TV・Vision Pro に加えて iMessage まで含みます。ウォッチや拡張から入る設計を試すのに向いていますCOMPANION — Rork Companion により、有料の Apple Developer アカウントなしで生成したアプリを実機の iPhone で確認できます。最初の一本を試す段階の障壁が一段下がりましたPRICING — 無料で開始でき有料プランは月額25ドルから、Rork Max は月額200ドルの Max プランです。回収できる本数と規模を先に見積もっておく価値がありますDEADLINE — Google Play は2026年8月31日以降、新規アプリと更新の双方に対象 API レベル36 以上を要求します。残り10日で、生成物の targetSdkVersion は自分で確認が必要です
記事一覧/開発ツール
開発ツール/2026-07-07上級

どの生成でこの不具合が入ったのか — Rork アプリに生成来歴を刻む長期運用設計

AI ビルダーで同じ画面を何度も作り直していると、ある日現れた不具合がどの生成で入ったのか追えなくなります。ビルドスタンプ・生成台帳・テレメトリ埋め込みの3層で生成来歴を残し、リグレッションを世代単位で絞り込む設計をまとめました。

Rork539長期運用11リグレッション設計10トレーサビリティ

プレミアム記事

先月、あるアプリで直したはずのクラッシュが、数週間後にまた同じ症状で戻ってきました。コードを見ても、直した箇所はそのままです。原因を掴むのに半日かかりました。別の画面を作り直したとき、その生成が古い実装ごと巻き戻していたのです。

個人開発でいくつものアプリを運用していると、こうした「静かな巻き戻し」は珍しくありません。Rork Max の2クリック申請でリリースの敷居が下がったぶん、私たちは以前より気軽に画面を作り直します。生成の回数が増えれば増えるほど、「いつ・どの生成で・何が変わったのか」は手元から抜け落ちていきます。

生成物に来歴(provenance)を刻んでおけば、不具合が出たときに疑うべき世代を数分で絞り込めます。特別なインフラは要りません。ビルド時の定数ひとつと、テキストの台帳ひとつが出発点です。私自身が実運用で使っている設計を、順に見ていきます。

なぜ git blame では追えないのか

手書きのコードなら、git blame が「この行を最後に触ったコミット」を教えてくれます。ところが AI ビルダーで再生成した画面は、しばしばファイル全体が丸ごと差し替わります。差分は「1行の変更」ではなく「ファイルの置換」として記録され、blame は再生成のコミット1点を指すだけです。

さらに厄介なのは、変更の意図がコミットに残らないことです。「価格表示を直して」と指示した生成が、ついでに離れた場所の状態管理を書き換えていても、コミットメッセージは Update pricing screen のままです。あなたが後から読むのは、実際に起きたことではなく、あなたが起こそうとしたことだけです。

つまり欠けているのは行単位の履歴ではありません。「どの生成イベントが、アプリのどの版に対応し、何を触ったのか」という世代の来歴です。これを補うのが本記事の主題です。

来歴を3層で残す

来歴は1か所に書こうとすると必ず破綻します。ビルド成果物、ソースツリー、実行中のアプリは、それぞれ寿命も参照する人も違うからです。私は次の3層に分けて考えています。

何を残すかいつ役に立つか
ビルドスタンプ生成 ID・ビルド日時をアプリ内定数に焼き込む実機やレビュー版で「これはどの世代か」を即答したいとき
生成台帳各生成の意図・触ったファイル・消費クレジットを1行追記数週間後に「あの変更はいつだったか」を遡るとき
テレメトリ埋め込みクラッシュ・主要イベントに生成 ID を付与本番の不具合を世代へ逆引きするとき

3層はそれぞれ独立して価値がありますが、同じ生成 ID で串刺しにすると効果が跳ね上がります。台帳で世代の意図を読み、テレメトリで影響範囲を測り、ビルドスタンプで手元の版を照合する。この往復ができるかどうかが、トリアージの速さを決めます。

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

この記事の続きを読む

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

この記事で得られること
生成 ID をビルド時に刻み、クラッシュとアナリティクスから世代を逆引きする実装
GENERATIONS 台帳の最小フォーマットと、世代間差分を機械的に出す運用スクリプト
不具合が出たときに疑う世代を数分で絞り込むトリアージの手順
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

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

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

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

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

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

関連記事

開発ツール2026-07-14
AI再生成に壊されない設計 — Rork の生成コードと手書きロジックを分ける境界の引き方
Rork へ追加指示を出すたびに手書きのロジックが消える。プロンプトで守るのは対症療法です。生成コードと自分の所有コードを層で分け、再生成が届かない境界を設計で引く方法を、Zustand と service 層の実装例つきでお伝えします。
開発ツール2026-07-27
最低サポート iOS をいつ上げるか — 利用率ではなく、コードに残った分岐の数で決める
最低サポート OS の引き上げを利用率で判断すると、毎年同じ結論になって先送りが続きます。OS 分岐に注記を付けて棚卸しし、引き上げ先ごとに消せる分岐を数えるスクリプトと、引き上げ後に見る指標をまとめました。
開発ツール2026-07-11
端末の時計は動かせる — 日替わり機能とトライアル判定を時刻操作から守る設計
端末の時計を進めるだけで日替わり特典を先取りできてしまう——壁紙アプリのログで見つけた実例を起点に、壁時計・単調時計・サーバー時刻の3層で時刻源を使い分け、時計の巻き戻しにも耐える日替わりロジックとトライアル判定の設計をまとめました。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →