◉ANTIGRAVITY LABEN
記事一覧/アプリ開発
▣ アプリ開発/2026-06-14中級

オンデバイス推論はどこまで無料で粘れるか — Foundation Models と Gemini の分かれ目を測る

WWDC 2026 で Apple Foundation Models の無償枠が広がり、端末内推論を選びやすくなりました。ただ「無料だから全部オンデバイス」とすると品質が足りない場面に当たります。端末内で粘る範囲とクラウドの Gemini に渡す範囲を、推測ではなく計測で決める手順をまとめました。

Apple Foundation Models4iOS 274オンデバイス推論Gemini10フォールバックコスト管理10個人開発107計測9

✦ プレミアム記事

WWDC 2026 のあと、私自身が手元の小さなアプリで、試しに要約機能をオンデバイス推論に寄せてみました。無償の枠が広がったので、これまでクラウドに払っていたぶんを端末内に移せないかと考えたのです。

短い文章の要約は、驚くほど自然に端末内で完結しました。ところが、専門用語の混じった長文や、複数の話題が入り組んだ文章を渡すと、要約が表層をなぞるだけで芯を外すことが増えました。

「無料だから全部オンデバイスに」という最初の期待は、ここで一度崩れます。かといって「品質が不安だから全部クラウド」に戻すと、せっかく広がった無償枠を使わずに、短い要約にまでネットワークの往復を払うことになります。

ここでも答えは、どこまで端末内で粘り、どこからクラウドへ渡すかの線引きです。そしてこの線は、感覚で引くと必ずどちらかに寄りすぎます。計測して引くべき線です。

三つの物差しで分かれ目を見る

オンデバイスとクラウドのどちらを使うかは、ひとつの基準では決められません。私は三つの軸を分けて見るようにしました。

ひとつめは品質です。端末内モデルの出力が、そのタスクで実用に足りているか。ここは数字にしづらい部分ですが、後で触れる比較で代理の指標を作れます。

ふたつめはレイテンシです。意外に思われるかもしれませんが、短いタスクではオンデバイスのほうが速いことがよくあります。ネットワークの往復がない分、最初の一文字が返るまでが速い。逆に長い生成では、端末の処理能力が頭打ちになり、クラウドのほうが速くなる場合があります。タスクの長さで逆転する、という感覚が大事です。

みっつめはコストです。オンデバイスは無償枠の範囲なら実質ゼロ。クラウドは呼ぶたびに積み上がります。ただし「無料」を最優先にして品質を犠牲にすると、ユーザーが離れて結局高くつきます。コストは単独で見ず、品質とセットで見るべき軸です。

この三つを、自分のアプリの代表的なリクエストに対して一度きちんと測ると、「この種類のタスクは端末内で十分」「この種類はクラウドに渡したほうがいい」という分かれ目が、推測ではなく根拠を持って見えてきます。

一度だけ、自分のアプリで測る

三つの軸は、頭で考えるより一度測ったほうが早く腑に落ちます。難しい計測は要りません。代表的なリクエストを10件ほど用意し、端末内とクラウドの両方に同じ入力を渡して、処理時間と出力を並べて記録するだけです。

// 同じ入力を両方に渡し、レイテンシと出力を記録する一回限りの計測
func benchmark(_ inputs: [String]) async {
    for text in inputs {
        let t0 = Date()
        let local = try? await onDevice.summarize(text)
        let localMs = Date().timeIntervalSince(t0) * 1000
 
        let t1 = Date()
        let cloud = try? await cloudFallback.summarize(text)
        let cloudMs = Date().timeIntervalSince(t1) * 1000
 
        let faster = localMs < cloudMs ? "端末内" : "クラウド"
        print(String(format: "len=%4d 端末内=%.0fms クラウド=%.0fms 速い=%@",
                     text.count, localMs, cloudMs, faster))
    }
}

私のアプリでこれを回したとき、入力が短いうちは端末内が一貫して速く、目安として 800 文字を超えたあたりからクラウドが追い越しました。品質のほうは、出力を10件並べて読み、端末内で芯を外したものに印を付けるだけで、どの長さから危うくなるかの感覚がつかめます。

この計測は、線を引く前に一度やればよく、毎回は要りません。数字を手元に持っておくと、後の閾値調整が「なんとなく」ではなくなります。

✦

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

この記事の続きを読む

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

この記事で得られること
✦オンデバイス推論とクラウド呼び出しの分かれ目を、品質・レイテンシ・コストの3点で計測する判断手順
✦端末内で答えきれないリクエストだけを Gemini へ回す、信頼度ベースのフォールバック実装例
✦無償枠でどこまで賄えているかを後から振り返るための、フォールバック率の集計スクリプト
Stripe による安全な決済 · いつでもキャンセル可能
✦

この記事を購入する

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

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

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

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

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

関連記事

▣ アプリ開発2026-08-19
Liquid Glass の猶予フラグ UIDesignRequiresCompatibility を、Xcode 27 に外される前に自分で外す
Info.plist の UIDesignRequiresCompatibility は Xcode 27 で無視される見込みです。フラグを自分の手で false に戻すと、来年強制される見た目が今日そのまま再現できます。個人開発の壁紙アプリで実際に崩れた箇所と、点検の順番をまとめました。
▣ アプリ開発2026-05-06
Antigravity × Google AI で動かすソロ開発スタジオ — 設計から審査申請までを一人で回す自動化パイプライン
Antigravity 2.0 と Antigravity CLI を中核に、Stitch・Veo 3 を組み合わせ、アプリの設計から実装・テスト・素材生成・ストア申請までを一人で自動化するパイプラインを実装レベルで解説します。権限委譲の線引きと運用の落とし穴も扱う上級者向けの内容です。
▣ アプリ開発2026-10-15
immutable を付けた資産を同じ URL で差し替えたら、利用者のブラウザだけが古いままでした
長期キャッシュを付けた JS を同じ URL で差し替えても、CDN をパージしてもブラウザは取り直しません。同じ URL・no-cache・クエリ付き・内容ハッシュ名の 4 方式を Chromium で並べて比べ、ビルドの最後にハッシュを付ける完全なスクリプトまでをまとめました。