iOS 27のFoundation Models解説|オンデバイスAI・PCC・外部LLMの選び方

iOS 27でFoundation Modelsは「モデルを選ぶAPI」へ

Appleは2026年6月のWWDC26で、iOS 27のFoundation Models frameworkを拡張しました。これまでのFoundation Modelsは、Apple Intelligenceを支えるオンデバイスモデルをSwiftから使う役割が中心でした。

iOS 27では、Appleのオンデバイスモデル、Private Cloud Compute(PCC)上のサーバーモデル、Language Model protocolに対応した外部モデルを、同じLanguageModelSessionから扱える方向へ広がります。AppleはiOS 27の開発者向けページで、ClaudeやGeminiをクラウドモデルの例として挙げています。

APIの呼び方が似ていても、通信の有無、1回で扱える情報量、費用、対応端末は同じではありません。この記事では、オンデバイス、PCC、外部LLMを同じ条件で比較し、どの処理をどこへ置くか決める順番をまとめます。

3分で把握

最初は端末内、必要になった処理だけ外へ出す

Foundation Modelsが共通化するのはモデルの呼び方です。通信、上限、料金、データの扱いは、選んだモデルに合わせて設計します。

オンデバイス

短い処理の初期値

端末内で動き、オフラインでも使えます。リクエスト回数の上限もありません。

Private Cloud Compute

長文と複雑な推論

32Kのコンテキストと推論機能を使えます。通信とユーザーごとの日次上限があります。

外部LLM

固有機能が必要な処理

共通APIへ接続できますが、認証、料金、提供地域、データ条件はプロバイダーごとに残ります。

3つのAIモデルを同じ条件で比較する

どのモデルが一番賢いかを先に決めても、アプリの設計は決まりません。オフラインで動く必要があるのか、入力が端末のコンテキスト上限へ収まるのか、ユーザーごとの利用上限を受け入れられるのかで候補が変わるからです。

比較項目 オンデバイス PCC 外部LLM
実行場所 Apple Intelligence対応端末の中 AppleのPrivate Cloud Compute プロバイダーまたは選んだ実行環境
通信 不要。オフラインで動作 必要 クラウドモデルでは必要
コンテキスト 端末・OSで変動(WWDC26例: 4K / 8K) 32Kトークン モデルごとに異なる
推論 短い生成、抽出、分類向け light / moderate / deep モデルごとに異なる
上限・費用 リクエスト上限なし ユーザーごとの日次上限。条件内の開発者はクラウドAPI費用なし 料金と上限はプロバイダー次第
主な前提 対応端末、Apple Intelligence有効、モデル準備済み 対応端末、通信、利用資格、entitlement Swiftパッケージ、認証、プロバイダー規約
向く処理 要約、分類、情報抽出、短い文章生成 長い文書、複数段階の判断、多数のツール呼び出し 特定モデルの固有機能や既存バックエンドとの統合

基準: AppleのPCC解説セッションFoundation Models更新セッションPCC利用条件を2026年7月28日に確認。外部LLMの仕様はプロバイダーごとに変わります。

実際に選ぶなら、まずオンデバイスで必要な品質が出るかを確かめるのがよさそうです。短い要約や情報抽出まで最初からサーバーへ送ると、通信失敗、認証、料金、プライバシー表示まで同時に設計することになります。

短い処理はオンデバイスモデルから始める

SystemLanguageModelは、Apple Intelligenceを支える端末内の言語モデルです。AppleはFoundation Modelsのドキュメントで、要約、情報抽出、文章理解、文章生成、Swift構造体への出力、ツール呼び出しなどを利用例として挙げています。

iOS 27のオンデバイスモデルは画像も入力でき、OCRやバーコード読み取りなどのVisionツールも端末内で呼べます。通信が不安定な場所で使う機能や、短い個人データを端末外へ送らず処理したい機能なら、オンデバイスが第一候補になります。

import FoundationModels

func summarize(_ text: String) async throws -> String? {
    let model = SystemLanguageModel.default
    guard model.isAvailable else { return nil }

    let session = LanguageModelSession(model: model)
    let response = try await session.respond(
        to: "次の文章を3点に要約してください:\n\(text)"
    )
    return response.content
}

このコードは最小例です。本番アプリでは真偽値だけで終わらせず、availabilityを使い、非対応端末、Apple Intelligenceがオフ、モデルがまだ準備できていない状態を分けて表示します。Apple Intelligenceを使えるiPhoneは、2026年7月時点でiPhone 15 ProモデルとiPhone 16以降です。詳しい条件はAppleの対応端末一覧で確認できます。

同じFoundation Modelsでも、扱える情報量が違う

オンデバイス

4K / 8K*

端末・OSで変動

短い入力を繰り返し処理する機能へ置きやすい方式です。

Private Cloud Compute

32K

通信・日次上限・推論あり

長い入力や複数段階の判断へ使える余地が増えます。

* AppleのWWDC26コード例では、オンデバイスのcontextSizeはiOS 26で4096、iOS 27の新しい端末で8192、PCCは32768です。入力と出力で共有し、推論で生成される内容もコンテキストを消費します。実装では固定値にせずcontextSizeを確認します。出典: Apple Developer, WWDC26

長文と複雑な推論はPCCへ切り替える

オンデバイスモデルのcontextSizeへ収まらない文書をまとめる、複数のツールを順番に呼ぶ、回答前に複数段階の判断をさせる。このような処理では、PrivateCloudComputeLanguageModelが候補になります。

AppleのWWDC26セッションによると、PCCは32Kのコンテキストを持ち、light、moderate、deepの3段階で推論量を選べます。Appleは、PCCへ送ったデータを保存せず、リクエストの処理だけに使うと説明しています。アプリ側でAPIキーを管理する必要もありません。

PCCをクラウドAPI費用なしで使う条件

  1. App Store Small Business Programへ加入している
  2. いずれのApp Storeアプリも初回ダウンロードが200万件未満
  3. 開発者アカウントへPrivate Cloud Compute entitlementが割り当てられている

いずれかのアプリが200万件を超える、またはSmall Business Programから外れると、Appleからの通知後6か月以内に代替手段へ移行する必要があります。出典: Apple「Accessing Private Cloud Compute」

開発者側のクラウドAPI費用がなくても、PCCを無制限には呼べません。利用回数はユーザーのiCloudアカウントごとに数えられ、日次上限があります。iCloud+によって上限を増やせますが、上限値自体はAppleの公開ページで固定値として示されていません。

上限へ達したときだけアラートを出すと、ユーザーは次に何をすればよいか分かりません。PCCのquotaUsageを確認し、上限へ近づいた段階で表示を変え、到達後はボタンを無効にするか、処理を短くしてオンデバイスへ戻す設計が必要です。

外部LLMでは費用と認証を別に設計する

Language Model protocolへ対応したモデルは、LanguageModelSessionへ渡したあとの応答取得、ストリーミング、トランスクリプトなどをFoundation Modelsの形へそろえられます。モデルを変えるたびにアプリのAI処理全体を書き直さずに済むのが、iOS 27の大きな変更です。

共通化される範囲

LanguageModelSession

プロンプト、応答、ストリーミング、ツール、利用量

↓ Language Model protocol ↓

Apple・端末内

SystemLanguageModel

Apple・クラウド

Private Cloud Compute

プロバイダー固有

外部LLM

認証・料金・データ条件・独自機能は個別に残る

共通APIは、外部サービスの契約まで共通化するものではありません。AppleはFoundation Modelsの更新セッションで、外部のサーバーモデルでは一般に認証と課金への対応が必要で、秘密鍵をアプリ本体へ保存せず、OAuthなどで取得したトークンをKeychainへ保管するよう説明しています。

AppleはAnthropicとGoogleがClaude・Gemini向けSwiftパッケージを公開すると発表していますが、モデルプロバイダー向けセッションでは「提供予定」と説明されています。2026年7月28日時点では、すでに一般提供されている前提で実装手順を書かず、各社の正式なパッケージと料金条件を確認してから組み込む必要があります。

AIモデルは通信・長さ・推論の順で選ぶ

モデル名から選ぶと、似た処理がアプリ内で別々のサービスへ散らばります。処理の条件を次の順で確認すると、選択理由をコードと仕様書へ残しやすくなります。

4つの質問で実行先を決める

Q1

オフライン、または端末内完結が必須ですか?

はい → オンデバイスを選びます。端末のcontextSizeへ収めるため、入力や出力を短く設計します。

Q2

端末のcontextSizeを超える入力、または複雑な推論が必要ですか?

いいえ → オンデバイスから始めます。はい → Q3へ進みます。

Q3

PCCの利用資格とApple Intelligenceの条件を満たしますか?

はい → PCCを候補にします。日次上限時の処理も同時に作ります。いいえ → Q4へ進みます。

Q4

特定の外部モデルや既存バックエンドが必要ですか?

はい → 外部LLMの認証・料金・データ条件を含めて設計します。いいえ → 処理を分割してオンデバイスへ収められるか見直します。

実装の初期値

短い処理はオンデバイス。端末のcontextSizeへ収まらない処理だけPCCまたは外部LLMへ移します。

リリース前に5つの失敗経路をテストする

AIの回答が期待どおりかを確かめるだけでは足りません。Foundation Modelsを使うアプリは、モデルを呼べない状態でも機能全体が止まらないように作る必要があります。

モデルが使えない5つの状態

1. 非対応端末

AIボタンを隠すだけでなく、通常の検索や手入力など代替操作を残します。

2. Apple Intelligenceがオフ

設定が必要な理由を表示し、アプリのエラーとして扱わないようにします。

3. モデルが未準備

ダウンロード中などの状態では、時間を置いて再試行できる表示へ変えます。

4. PCC上限へ到達

上限へ近づいた状態も試し、PCCだけに依存する操作を残さないようにします。

5. OS更新でモデルが変更

同じ評価データを新しいOSで実行し、プロンプトと期待結果を更新します。

AppleはFoundation Modelsの更新履歴で、iOS 27への更新時にオンデバイスモデル自体が変わるため、プロンプトを再テストするよう案内しています。従来のユニットテストだけで生成結果を固定するのは難しいため、入力例と合格条件を用意し、Evaluations frameworkでOS・モデルごとの差を確認する工程が必要になります。

最初の1機能はオンデバイスだけで作る

iOS 27のFoundation Modelsで変わるのは、すべての処理を同じモデルへ送る必要がなくなる点です。共通APIがあるからこそ、最初から3方式を同時に実装するのではなく、必要になった機能だけ別モデルへ移せます。

まずは「文章から予定名と日時を取り出す」「メモを3点に要約する」のように、正解を確認しやすい1機能をオンデバイスで作ってみてください。評価用の入力を20〜30件用意し、端末のcontextSizeへ収まらない、期待する精度が出ない、複数段階の推論が必要、と確認できた処理だけPCCへ切り替えます。

外部LLMは、PCCで足りないから自動的に選ぶものではありません。特定モデルの固有機能、すでに運用しているバックエンド、対応端末の広さなど、外部サービスを使う理由を1つ決めてから追加すると、認証と料金まで含めた設計を小さく保てます。

参考資料