← All courses ← Course home

Lesson 01 of 05

Three Apple language paths

One session protocol, three backs: on-device system, Private Cloud Compute, and a custom Core AI model.

Agent brief (llms.md)

WWDC26 opens the Foundation Models abstraction. A LanguageModel can back a LanguageModelSession. You care about three conforming types on iOS 27 and macOS 27:

On deviceSystemLanguageModel
Apple PCCPrivateCloudComputeLanguageModel
CustomCoreAILanguageModel
import FoundationModels
import CoreAI

// Illustrative. Confirm initializers in the installed SDK.
let system = SystemLanguageModel()
let pcc = PrivateCloudComputeLanguageModel()
// CoreAILanguageModel wraps a baked .aimodel. Confirm the load API in Xcode 27.
let coreAI: CoreAILanguageModel? = nil

MLX and third-party server models exist in the same abstraction. This course leaves them out. EDGE FDE routing here is Apple silicon plus Apple PCC plus your Core AI artifact.

Availability is a real branch. The system model can be unavailable. PCC needs a network path that Apple allows. A Core AI file can be missing from the bundle. The router must see those flags before it picks a winner.

Same session, different back. Dynamic Profiles switch the model with a modifier. You do not rebuild the whole chat UI.

Next, write rules in cost, latency, and quality, not in model marketing names.

Key concepts

  • LanguageModel backs LanguageModelSession. Three conforming types matter here.
  • SystemLanguageModel runs on the device. Lowest latency. Smallest window. No network.
  • PrivateCloudComputeLanguageModel runs Apple's larger PCC model. No API key.
  • CoreAILanguageModel wraps a baked .aimodel for a job you shipped.

Takeaways

  • Same session protocol, different back. Dynamic Profiles switch the model with a modifier.
  • MLX and third-party servers are out of scope for this course.
  • The router must check availability before it picks.