はじめに

こんにちは!システム開発部のYです。

WWDC2026で、Foundation Models フレームワークの大幅な機能強化が発表されました。
本記事では、以下のセッション内容をまとめています。詳細については、WWDCセッションをご参照ください。
なお、各機能の対応OSバージョンについても、公式ドキュメントをご確認ください。

※ 本記事のコードは、WWDCセッションのデモからの抜粋(概念コード)です。デモ固有の型を含み、そのままではビルドできません。

Foundation Modelsフレームワークの新機能とは?

目次

参考資料

ドキュメント

WWDCセッション

Foundation Modelsの変更点

Model updates

オンデバイスモデルの進化

  • コンテキストサイズの確認やトークン数のカウントができる新APIが追加(iOS 26.4以降)
  • Vision機能が追加され、画像認識ができるようになりました。
    • テキストの指示とあわせて画像データを入力でき、その画像に対して質問や指示を行えます。
    • UIImage / NSImage(プラットフォームに応じて)、CGImage、CIImage、CVPixelBuffer、および画像を指す URL から生成できます。
    • あらゆるサイズ・アスペクト比の画像をサポートしているため、事前の切り抜きなどの加工は不要です。
      ただし、画像サイズが大きいほど消費トークン数が増加し、応答時間が長くなる可能性があります。
// 以下のようにAttachmentで、画像を指定出来る
let response = try await session.respond {
    "What animal is this?"
    Attachment(UIImage(...))
}

// また、Attachmentを複数並べる事ができる
Prompt {
    "Compare these two images:"
    Attachment(firstImage)
        .label("image-0")
    Attachment(secondImage)
        .label("image-1")
}

Private Cloud Compute(PCC)の提供

  • Appleが提供するサーバーサイドモデルを、認証やAPIキーなしで利用できます。
  • オンデバイスモデルよりも大規模なモデルで、32kトークンのコンテキストウィンドウを持ちます。
  • 無償で利用できるのは、App Store Small Business Program に登録し、初回ダウンロードが200万未満の開発者です。
    これを超える(またはSmall Business Program の資格を失う)と、PCCの無償利用は終了します。
    有料で継続する仕組みは用意されておらず、その場合はオンデバイスモデルや外部モデルへの切り替えが案内されています。
  • watchOS 27でも利用できます。
  • 詳しくは、Private Cloud Computeで新しいFoundation Modelを使う(319)をご参照ください。

モデル抽象化

LanguageModel プロトコルの導入により、Apple純正(オンデバイス/PCC)に加え、GoogleやAnthropicが提供する外部のサーバーモデルも同じコードベースで統合・切り替えできるようになります。

// 共通:LanguageModelSession の model を差し替えるだけ(respond等のコードは同じ)

// ① オンデバイス(Apple純正)
let session = LanguageModelSession(model: SystemLanguageModel.default)
// ② Private Cloud Compute(Apple純正・サーバー)
let session = LanguageModelSession(model: PrivateCloudComputeLanguageModel())
// ③ Core AI(ローカルモデル:ANE/GPU)
let session = LanguageModelSession(model: CoreAILanguageModel(/* ... */))
// ④ MLX(ローカルモデル)
let session = LanguageModelSession(model: MLXLanguageModel(/* ... */))
// 外部(Claude / Gemini)は各社の Swift package のモデルを model に渡す

System tools

これまでは開発者が独自に実装していた機能に加え、iOS 27ではApple製のネイティブツールが利用できるようになりました。

Dynamic profiles

  • 1つのsession内で、モードに応じてinstructions / tools / model を宣言的に切り替えられる仕組みです。
  • 重い推論処理はPCC+Reasoning、軽い確認はオンデバイスモデルといった形で、利用するモデルを切り替えられます。
  • 詳しくは、エージェント体験の構築(242) をご参照ください。

折り紙クラフトアプリの例で、アプリの「モード」によってAIの動き方を切り替えています。

// Describing the profile for craft app

struct CraftProfile: LanguageModelSession.DynamicProfile {
  let states: CraftProjectStates

  var body: some DynamicProfile {
      switch states.mode {
      case .craftAnalysis:
          Profile {
              Instructions { /* ... */ }
              RecordImageAnalysisTool()
              SwitchModeTool(states: states)
          }
      case .brainstorm:
          Profile {
              Instructions { /* ... */ }
              BrainstormRecordTool()
          }
          .model(states.privateCloudCompute)
          .reasoningLevel(.deep)
      }
  }
}
  • 分析モード(作品を見る):画像を分析するツールを持たせ、
     軽い処理なので端末内のモデルで動かす
  • ブレストモード(アイデア出し):重くて頭を使うので、
     クラウドの大きなモデル(PCC)を使い、さらに「じっくり考える」設定にする

モードが変わっても会話の履歴は引き継がれるので、
「さっきの話の続き」を踏まえたまま、AIの役割だけが切り替わります。

Evaluations

言語モデルは同じ入力でも出力が変わることがあり、品質の評価が難しいという特徴があります。
Evaluations は、その品質を測るための新しいSwiftフレームワークです。
プロンプトを調整しながら精度を定量化でき、変更の影響を統計的に把握して
安心してリリースできるようになります。
詳しくは、Evaluationsフレームワークの紹介(298)をご参照ください。

Tooling and open source

fm command line tool

macOS 27 では、Foundation Models をターミナルから直接使えるようになりました。
fm CLI は Apple Foundation Models を扱う新しい手段で、
端末上のオンデバイスモデルと PCC の両方にアクセスできます。

fm chat では、対話しながらアプリ機能用にモデルを試せます。
セッションでは「折り紙でいう”谷折り”とは何か?」と尋ねるデモが紹介されました。

また fm はシェルスクリプトに組み込めるため、
ドキュメントの要約・情報の抽出・コンテンツ生成などを自動化できます。
例として、適当な名前の画像ファイルを、中身に基づいた
分かりやすいファイル名へ自動でリネームするデモが示されました。

Foundation Models SDK for Python

Python 向けには Foundation Models SDK for Python が提供されます。
Swift版と同じオンデバイスモデルに Python から直接アクセスでき、
可用性を確認して数行で応答を生成できます。
データサイエンティストや研究者の利用を想定したSDKです。

import apple_fm_sdk as fm

model = fm.SystemLanguageModel()

# Check the model's availability
is_available, reason = model.is_available()

if is_available:
    # Create a session
    session = fm.LanguageModelSession(model=model)

    # Generate a response
    response = await session.respond(prompt="Hello!")
    print(response)

詳しくは、fm CLIとPython SDKでAIスクリプトを作る(334) をご参照ください。

Open source and framework utilities

Foundation Models Framework Utilities というオープンソースライブラリも公開されました。
Foundation Modelsを活用したアプリを開発しやすくするための補助機能が含まれており、
OSのアップデートを待たずに新機能を利用できるのが特徴です。

また、Foundation Modelsの基盤部分もオープンソース化され、Apple純正モデルだけでなく、AnthropicやGoogleのモデル、Core AIやMLXなどとの連携もしやすくなっています。

まとめ

WWDC2026で強化された Foundation Models フレームワークについてまとめました。

画像入力やPrivate Cloud Compute、モデル抽象化、組み込みツール、Dynamic profilesなど、
オンデバイスからクラウド・外部モデルまでを同じAPIで扱える形へと大きく進化しました。

特に、PCCやモデル抽象化の導入により、Apple純正モデルだけでなく外部LLMも含めて柔軟に活用できるようになった点は、今後のAIアプリ開発において大きな変化になると感じました。

この記事が少しでも参考になれば幸いです。詳細はWWDCのセッションをご参照ください。



ギャップロを運営しているアップフロンティア株式会社では、一緒に働いてくれる仲間を随時、募集しています。 興味がある!一緒に働いてみたい!という方は下記よりご応募お待ちしております。
採用情報をみる