◉RORK LABEN
●EXPO — EAS Observe がネイティブクラッシュも記録(10/07)。SDK 57 は 57.0.21 以降で確認できます●RORK — 09-29 に GPT-6.1 Sol、09-28 に Claude Sonnet 5.5 を追加。モデル選択で使えます●RN 0.88 — React Native 0.88.x の正式リリース予定は 10/12、残り2日●Q&A — AuthSession が Android の standalone で結果を返さない、という問いが長く続いています●WINDOWS — Mac がなくても Windows だけで iPhone アプリを出す手順が共有されています●NEW — Expo Go で通知だけが届かない夜に、先に切り分ける3点●EXPO — EAS Observe がネイティブクラッシュも記録(10/07)。SDK 57 は 57.0.21 以降で確認できます●RORK — 09-29 に GPT-6.1 Sol、09-28 に Claude Sonnet 5.5 を追加。モデル選択で使えます●RN 0.88 — React Native 0.88.x の正式リリース予定は 10/12、残り2日●Q&A — AuthSession が Android の standalone で結果を返さない、という問いが長く続いています●WINDOWS — Mac がなくても Windows だけで iPhone アプリを出す手順が共有されています●NEW — Expo Go で通知だけが届かない夜に、先に切り分ける3点
記事一覧/AIモデル
◉ AIモデル/2026-09-15上級

Rork が二つのネイティブアプリに分かれたあと、AI の判断を残す側と寄せる側の線引き

Rork の新規アプリは iPhone が Swift、Android が Kotlin の別コードベースになりました。AI に関わる判断をクライアントに残すか共有バックエンドへ寄せるかを、ずれの起き方と取り消しやすさから決める線引きと、両クライアントが同じ契約で受け取る実装を書き残します。

Rork577Swift48Kotlin4アーキテクチャ22AI機能設計判断3

✦ プレミアム記事

手元の iPhone アプリに Android を足してみた夜のことです。プレビューの上にある + を押して Android (Kotlin) を選ぶと、エージェントが画面と導線を順に組み直していきました。

出来上がったものを開いて、私が最初に探したのは見た目ではありませんでした。無料で見せる枚数を決めている条件文がどこにあるか、それだけを探しておりました。

見つかった場所は、Kotlin 側の画面のすぐ近くでした。iPhone 側にも、同じ意味の条件文が Swift で書かれておりました。二つとも正しく動きます。ただ、同じ意味のものが二箇所にあるという事実だけが残りました。

ここからお伝えするのは、機能の作り方ではありません。AI に関わる判断を、二つのクライアントのどちらに残し、どこから先を共有バックエンドへ寄せるかという線の引き方です。片側しか持っていない方にも、いま引いておけば後で楽になる線がありますので、そこまで書き残します。

分かれたのは画面ではなく、条件文です

前提を先に置きます。Rork のドキュメントでは、新規アプリが iPhone は Swift、Android は Kotlin、Web は React になったこと、そして既存の Expo プロジェクトはこれまで通り動くことが明記されております(What happened to Expo?)。

同じページに、私がいちばん重く受け取った一文があります。二つのアプリは別々のコードベースであり、Swift の変更は Kotlin の変更と同じファイルではない、そして両者はずれ得る——という趣旨の記述です。一つのプロジェクトの中で共有されるのは、バックエンドとチャットと公開先であって、コードそのものではありません(iPhone, Android, or web: what's the difference)。

React Native の一枚のコードベースから来た方にとって、ここは意識の切り替えが要るところです。画面が二つになったことは、プレビューを見れば分かります。分かりにくいのは、画面と一緒に条件文まで二つになったという点のほうです。

AI 機能を持つアプリでは、この条件文が集中します。どの入力を通してどの入力を止めるか。今日あと何回呼べるか。どのモデルを使うか。応答をどこまで保存するか。いずれも画面ではなく判断であり、判断が二重になると、片側だけを直した日から答えが割れ始めます。

移行そのものを続けるか作り直すかという手前の判断については、Rork の新規作成から Expo が消えました に整理しております。本稿はその先、二つになったあとの話です。

私が自分のアプリで先に踏んだずれ

私は個人開発で壁紙アプリを長く運用しております。iOS 側と Android 側はもともと別のネイティブ実装で、配信する画像と付随する情報だけが共通のサーバから降りてくる構成です。つまり、いま Rork が新規プロジェクトで採る形を、私は先に何年も踏んでおりました。

そこで実際に割れたのは、派手な機能ではありませんでした。「この画像をこの地域で出してよいか」という一行です。

最初のうち、私はこの判定をクライアントに書いておりました。理由は単純で、そのほうが速く、サーバの往復が減るからです。結果は芳しくありませんでした。片方の実装で除外条件を一つ足した日、もう片方には足し忘れました。クラッシュもエラーもありません。ただ、同じ画像が片方の端末だけに出続けました。

気づいたのは、問い合わせをいただいたときでした。ログを見ても異常は残っておりません。両方とも「自分の持っている条件では正しい」と答えていたからです。

この一件から引いた線は、いまも変えておりません。

壊れたときに叫ばない判断は、クライアントに置きません。 例外を作るなら、ずれても実害が出ない範囲に限ります。

AI 機能は、この性質をさらに濃く持ちます。応答は毎回違ってよいものですので、「違う」ことが異常の合図になりません。二つのクライアントが別々の方針で別々の答えを返しても、どちらももっともらしく見えます。

✦

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

この記事の続きを読む

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

この記事で得られること
✦二つのコードベースに分かれたあと、AI に関わる判断のどれをクライアントに残し、どれを共有バックエンドへ寄せるかを、自分のアプリの条件で仕分けできるようになる
✦Swift 側と Kotlin 側で答えが食い違い始める前に、どこが無言でずれるのかを先に塞げるようになる
✦一箇所で決めた判断を Swift と Kotlin の両方から同じ契約で受け取る最小の実装を、そのまま自分のプロジェクトへ移せるようになる
Stripe による安全な決済 · いつでもキャンセル可能
✦

この記事を購入する

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

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

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

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

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

関連記事

◉ AI モデル2026-04-26
Rork で Apple FoundationModels を使う — iOS 26 のオンデバイス LLM をプロダクトに組み込む実装ガイド
iOS 26 の FoundationModels フレームワークを Rork から呼び出し、オフラインでも動く AI 機能を組み込む実装ガイド。テキスト生成・ストリーミング・構造化出力・ツールコールまで、Swift のコード付きで体系的に解説します。
◉ AI モデル2026-10-05
Sonnet 5.5・GPT-6.1 Sol・Opus 5.5 のどれに頼むかを、修正の種類で先に決めておきます。クレジットの行き先を1週間記録して引いた割り当て
Rork のモデルメニューが Sonnet 5.5・GPT-6.1 Sol・Opus 5.5 の三つになったあと、修正を三種類に分けてモデルと effort を割り当てました。変更履歴に書かれた違いの読み方、クレジットの行き先を記録する小さな台帳、そこから引いた線引きを書き残します。
◉ AI モデル2026-09-28
続きで直すか、復元ポイントへ戻して言い換えるか。Rork で同じ不具合を両方の道で直して分かった境目
Rork の修正依頼が三度目にはまったとき、続きで頼むか、Restore で戻して言い換えるか。同じ不具合を両方で直した往復回数と残ったコードを並べ、私が引いた線をお伝えします。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます