Apple Intelligenceの開発者向けAPIが、画像理解とクラウド推論の両方に対応しました。

この記事では、WWDC26で発表されたFoundation Models frameworkの主要な更新点を整理します。

この記事でわかること

  • オンデバイスLLMへの画像入力の仕組みと対応フォーマット
  • Private Cloud Compute(PCC)へのアクセス方法とオンデバイスモデルとの違い
  • サードパーティ製LLMを接続するLanguageModelプロトコル
  • Dynamic Profilesによるエージェント型アプリの構築方法

https://developer.apple.com/documentation/FoundationModels

WWDC26でFoundation Modelsが大幅に拡張された

2025年のWWDCで初公開されたFoundation Models frameworkは、Apple IntelligenceのオンデバイスLLM(大規模言語モデル)にSwiftからアクセスするための公式APIです。要約、エンティティ抽出、構造化出力、ツール呼び出しなど、アプリ向けのAI機能をデバイス上で動かせます。

WWDC26では、このフレームワークに複数の重要な機能が追加されました。開発者のLouis D’hauwe氏がXでまとめた更新点は、画像入力対応、Private Cloud Computeアクセス、任意のLLMを接続するプロトコル、オープンソースのユーティリティパッケージです(参考)。

Appleの公式ドキュメントでも、2026年6月の更新として同様の内容が確認できます。

オンデバイスLLMが画像入力に対応

最大の変更点は、オンデバイスモデルがテキストだけでなく画像も扱えるようになったことです。これまでアプリ側で別途ビジョン用の大規模モデルを組み込む必要があった場面で、Foundation Models frameworkだけで画像分析が可能になります。

画像の分類、書類写真の要約、アクセシビリティ用の説明文生成、冷蔵庫の中身からレシピを提案するといった用途が想定されています。対応する画像形式はCGImage、CIImage、CVPixelBuffer、ファイルURLなどです。フレームワーク側でスケーリングや色変換を行うため、開発者が事前に画像を加工する必要はありません。

プロンプトへの画像添付はAttachment構造体で行います。

let session = LanguageModelSession()
let response = try await session.respond {
    "Compare these two images by using three bullet points:"
    Attachment(imageOne)
    Attachment(imageTwo, orientation: .right)
}

@Generableマクロで列挙型を定義すれば、画像を事前定義したカテゴリに分類する出力も型安全に取得できます。分類タスクではGenerationOptions(samplingMode: .greedy)を指定すると、最も確率の高いラベルを選びやすくなります。

さらに、Vision frameworkのOCRToolBarcodeReaderToolをセッションに組み込めます。OCRは画像内のテキスト抽出、バーコードリーダーはコードの種類と内容の解釈を担います。カスタムツールではImageReferenceを引数に受け取り、セッション履歴から画像データを参照する設計です。

Private Cloud Computeへのアクセス

オンデバイスモデルはオフライン動作とプライバシー保護に優れますが、コンテキストサイズは4,000トークン、推論(reasoning)機能はありません。長文の処理や複雑な多段階タスクには、サーバー側のApple Intelligenceモデルが必要です。

WWDC26から、Foundation Models frameworkからPrivate Cloud Compute(PCC)に直接アクセスできるようになりました。PCCはAppleが設計したプライバシー保護型のクラウド推論基盤で、コンテキストサイズは32,000トークン、複数段階の推論レベル(light、moderate、deep)に対応します。

切り替えはセッション生成時の1行の変更で済みます。SystemLanguageModelの代わりにPrivateCloudComputeLanguageModelを渡すだけで、同じrespondメソッドやツール設定がそのまま使えます。

let session = LanguageModelSession(model: PrivateCloudComputeLanguageModel())

APIキーの管理や認証処理は不要です。利用者はApple Intelligence対応デバイスで機能を有効にし、1日あたりのリクエスト上限内で利用します。上限に近づいた場合はquotaUsageプロパティで状態を確認し、iCloud+へのアップグレード案内を表示できます。Xcodeのスキーム設定では、上限到達や接近をシミュレートするオプションも用意されています。

ネットワーク切断時はオンデバイスモデルへのフォールバックが推奨されています。画像分析はまずオンデバイスで試し、より高度な推論が必要な場合にPCCへ切り替える、という段階的な設計が公式ドキュメントで示されています。

機能 オンデバイス(SystemLanguageModel) PCC(PrivateCloudComputeLanguageModel)
プライバシー保護 対応 対応
オフライン動作 対応 非対応
利用上限 無制限 1日あたりの上限あり
推論 非対応 light / moderate / deep
コンテキストサイズ 4Kトークン 32Kトークン

PCCの利用には、Appleが定める資格要件を満たし、管理対象のエンタイトルメントを申請する必要があります。

任意のLLMを接続するLanguageModelプロトコル

これまでFoundation Models frameworkはApple純正のオンデバイスモデルとPCCモデルに限定されていました。WWDC26ではLanguageModelプロトコルが導入され、サーバー側・オンデバイス問わず任意のLLMをフレームワークに接続できるようになりました。

プロトコルを実装した型は、モデルの能力(capabilities)と実行設定(executorConfiguration)を定義します。実際の推論処理はLanguageModelExecutorが担い、結果をLanguageModelExecutorGenerationChannel経由でストリーミングします。実装はSwift Package Managerで配布し、利用者は通常のセッション初期化と同じAPIでプロンプトを送れます。

let session = LanguageModelSession(model: MyCustomServerLanguageModel())
let response = try await session.respond(to: "Tell me a joke!")

公式ドキュメントでは、CoreAILanguageModelMLXLanguageModelを使ったオンデバイスモデル統合も案内されています。Core AIはCore MLの後継として位置づけられ、開発者が独自またはサードパーティのモデルウェイトをAppleシリコン上で動かすルートです。

Dynamic Profilesでエージェント型アプリを構築

複数ステップのワークフローを1つの静的セッションで扱うのは困難です。WWDC26ではDynamic Profiles APIが追加され、アプリの状態に応じて指示文、ツール、モデル設定を動的に切り替えられます。

3つのレイヤーで構成されます。Dynamic Instructionsはモデルリクエストのたびに再評価され、現在の状態に必要な指示とツールだけを読み込みます。ProfileはDynamic Instructionsとセッションレベルのプロパティ(使用モデル、推論レベル、温度など)を紐づけます。Dynamic Profileは複数のProfile間の遷移を管理し、常に1つのProfileだけがアクティブになります。

料理アプリの例では、レシピ発見、食材の代替、在庫検索、調理手順の案内といった各フェーズで異なる指示とツールセットを自動的に適用できます。ライフサイクル修飾子(onActivateonToolCallonResponseなど)でプロファイル切り替え時のセットアップや検証も行えます。historyTransform修飾子を使えば、オンデバイスモデル向けに履歴を圧縮し、PCC向けには全文を渡す、といった使い分けも可能です。

その他の更新と開発ツール

オンデバイスモデル自体もiOS 27、iPadOS 27、macOS 27、visionOS 27向けに刷新され、指示追従の精度とツール呼び出しの品質が向上しています。OSアップデートでモデルが変わるため、既存のプロンプトは新モデルでの動作確認が推奨されます。

ツール呼び出しの制御にはGenerationOptions.ToolCallingMode.allowed.required.disallowed)が追加されました。エラーハンドリングもLanguageModelErrorSystemLanguageModel.ErrorLanguageModelSession.Errorに整理されています。

開発者向けには、トランスクリプト管理やスキルAPI、chat-completionsインターフェースなどを含むFoundation Models framework utilitiesパッケージがオープンソースで公開されています。2026年3月にはPython向けのFoundation Models SDK(apple/python-apple-fm-sdk)も提供され、macOS上でのバッチ推論やストリーミング生成がPythonから実行できます。

InstrumentsのFoundation Models計測も更新され、レイテンシ、プロンプト内容、モデル出力、ツール呼び出し、トークン使用量を詳細に追跡できます。評価フレームワークと組み合わせれば、オンデバイスとPCCのどちらを採用するかをデータに基づいて判断できます。