Private Cloud Compute에서 동작하는 Foundation Models
온디바이스 Foundation Model에 형제가 하나 생겼습니다. iOS 27은 프레임워크에 Private Cloud Compute에서 동작하는 서버 규모의 모델을 제공하는데, 32K 컨텍스트 윈도우와 추론 기능을 갖췄으며 코드 한 줄만 바꾸면 이 모델에 접근할 수 있습니다1. 같은 LanguageModelSession, 같은 Generable, 같은 Tool 프로토콜입니다4. 더 큰 변화는 그 아래에 있습니다. Apple은 공개 프로토콜을 통해 거의 모든 LLM에 프레임워크를 개방했고, 그래서 온디바이스 모델, 클라우드 모델, 직접 배포하는 로컬 모델, Hugging Face의 오픈소스 모델, 그리고 곧 합류할 Claude와 Gemini까지 모두 동일한 Swift API에 응답합니다2. 이제 특정 모델을 대상으로 코딩하는 것을 멈추고, 교체 가능한 슬롯을 대상으로 코딩하기 시작합니다.
이 글은 프레임워크 레퍼런스 위에 얹는 클라우드 및 공급자 계층을 다룹니다. 아직 LanguageModelSession, Tool 프로토콜, 또는 가이드 생성을 접해보지 않았다면 Foundation Models 프레임워크 해설과 iOS 27 도구 호출 글부터 읽고 다시 돌아오세요.
TL;DR
- Private Cloud Compute는 더 큰 서버 모델을 Foundation Models 프레임워크로 들여오며, 온디바이스 모델에서 코드 한 줄만 바꾸면 전환할 수 있습니다. 온디바이스의 4K에 비해 32K 컨텍스트 윈도우를 제공하고, 세 단계의 추론을 지원하며, iOS, macOS, visionOS, watchOS에서 동작합니다12.
- 프라이버시 태세는 시스템 모델과 동일합니다. Apple은 사용자 데이터가 절대 저장되지 않고 오직 해당 요청에만 사용되도록 PCC를 설계했으며, 이는 연구자들이 독립적으로 검증했고, API 키도 계정 설정도 없으며 개발자에게 토큰 비용도 없습니다1.
- 각 사용자는 자신의 iCloud 계정에 집계되는 일일 요청 한도를 받으며, iCloud+를 통해 상향할 수 있습니다. UI에서는 모델의 할당량 상태를 확인하고 알림 대신 지속적이고 실행 가능한 컨트롤을 보여주는 방식으로 한도를 처리하세요. 접근 권한은 개발자 웹사이트에서 신청하며, 다운로드 200만 건 미만인 앱에서 사용할 수 있습니다1.
- 새로운
LanguageModel프로토콜은 모든 모델을 교체 가능한 부품으로 만듭니다. System, PCC, ANE의 로컬 모델을 위한 Core AI, Hugging Face 커뮤니티를 위한 MLX, 그리고 앞으로 합류할 Anthropic과 Google의 공급자 패키지가 그것입니다2. DynamicProfile을 사용하면 하나의 세션이 대화 중간에 이 모델들 사이를 오갈 수 있습니다. 그래서 브레인스토밍 차례에는 높은 temperature로 PCC를 쓰고, 검토 차례에는 서버 호출을 아끼려고 온디바이스 모델로 내려갈 수 있습니다3.
더 큰 모델, 똑같은 세 줄
작년의 핵심 메시지는 온디바이스 모델에 프롬프트를 보내는 데 세 줄이면 된다는 것이었습니다. 세션을 만들고, respond를 호출하고, 답을 읽는 것이죠1. 올해는 그 메시지가 클라우드로 확장됩니다. 프레임워크는 어떤 모델과 대화하든 통일된 Swift API를 제공하므로, 온디바이스 System 모델에서 PCC 모델로 전환하는 것은 생성하는 모델만 바꿀 뿐 그 외에는 아무것도 바뀌지 않습니다1. Generable을 통한 구조화된 출력과 도구 호출은 두 모델에서 동일하게 동작합니다1.
세션 319의 Louis: 온디바이스 모델에 프롬프트를 보내는 데는 세 줄이면 되고, PCC 서버 모델로 전환하는 것은 더 큰 컨텍스트와 추론을 갖춘 훨씬 더 큰 모델로 바꾸는 코드 한 줄짜리 변경입니다.
프레임워크 자체의 표현으로 본 이 교체의 모양은 다음과 같습니다.
import FoundationModels
// On-device: the System model.
let onDevice = LanguageModelSession(model: SystemLanguageModel.default)
// Cloud: swap the model. Same session API, same prompts, same tools.
let cloud = LanguageModelSession(model: PrivateCloudComputeLanguageModel.default)
let summary = try await cloud.respond(to: "Summarize this 30-page contract.")
심볼 이름은 세션에서 그대로 가져왔습니다. Apple은 클라우드 모델을 PrivateCloudComputeLanguageModel로 노출하며, 세션은 SystemLanguageModel과 PrivateCloudComputeLanguageModel 양쪽의 contextSize 프로퍼티에서 읽어온 컨텍스트 크기를 보여줍니다1. 클라우드 모델은 다른 모든 모델이 준수하는 동일한 LanguageModel 프로토콜을 준수하므로, 나머지 코드는 그 차이를 알아차리지 못합니다2.
온디바이스 모델에서 이어지는 한 가지 제약은 반드시 확인해야 합니다. PCC는 Apple Intelligence를 지원하는 기기에서만 동작합니다. 가용성 API를 확인하고, 이미 온디바이스 모델을 게이팅하는 것과 같은 방식으로 Apple Intelligence를 사용할 수 없는 경우를 처리하세요1.
PCC가 주는 것과 그 대가
PCC는 온디바이스 모델이 닿을 수 없는 사용 사례에 대한 Apple의 답입니다. 방대한 사용자 입력을 추론하는 어시스턴트, 또는 큰 출력을 내는 도구 호출을 여러 번 발생시키는 기능 같은 것이죠1. 그 맞바꿈은 분위기가 아니라 구체적인 수치로 드러나며, 세션은 이를 정면 비교로 펼쳐 보입니다.
| 온디바이스 System 모델 | Private Cloud Compute | |
|---|---|---|
| 프라이버시 | 온디바이스 | 데이터를 절대 저장하지 않고 해당 요청에만 사용1 |
| 연결성 | 오프라인 동작 | 인터넷 연결 필요1 |
| 요청 한도 | 없음 | 사용자당 일일 한도1 |
| 컨텍스트 크기 | 4K | 32K1 |
| 추론 | — | 세 단계: light, moderate, deep1 |
이 결정의 대부분은 두 행이 좌우합니다. 4K에서 32K로의 도약은 “이미지가 포함된 긴 문서 요약” 기능을 클라우드 모델에서는 실현 가능하게 만들고 온디바이스 모델에서는 빠듯하게 만드는 요인입니다1. 다른 하나는 추론입니다. 일반 응답은 프롬프트를 읽고 곧바로 생성하는 반면, 추론 응답은 답하기 전에 트랜스크립트의 별도 세그먼트에 추가 텍스트를 생성합니다1. 세 단계는 그 사고 예산을 조절합니다. light는 약간의 추가 컨텍스트를 모으고, moderate는 더 깊이 추론하며, deep은 답변 자체보다 더 긴 추론 세그먼트를 만들어낼 수 있습니다1. 단계는 세션에서 respond를 호출할 때 설정합니다1.
추론은 공짜가 아닙니다. 추론 세그먼트는 모델이 생성하는 텍스트이므로 토큰을 소비하고 32K 컨텍스트 예산에 집계됩니다1. 세션은 이를 위해 요구되는 규율에 대해 단도직입적입니다. 온디바이스와 PCC 사이의 결정, 그리고 추론 단계의 선택을 분위기가 아니라 데이터에 근거해 내리라는 것이죠1. Apple은 바로 그 목적으로 Xcode에 새로운 Evaluations 프레임워크를 출시했습니다. 온디바이스 모델은 많은 작업에서 예상보다 더 잘 수행하며, 그것을 알 수 있는 유일한 방법은 측정뿐이기 때문입니다1.
프라이버시 태세가 핵심입니다
사용자의 사적인 입력을 처리하는 서버 모델은 보통 프라이버시 이야기가 무너지는 지점입니다. PCC는 그렇게 되지 않도록 만들어졌습니다. Apple은 종단 간 프라이버시를 염두에 두고 Private Cloud Compute를 설계해 사용자 데이터가 절대 저장되지 않고 오직 해당 요청에만 사용되도록 보장했으며, 연구자들이 그 설계를 독립적으로 검증했습니다1. PCC는 이미 Apple Intelligence 자체의 복잡한 작업을 구동하고 있으며, 프레임워크는 바로 그 동일한 인프라를 여러분의 앱에 개방합니다1.
개발자가 체감하는 부분은 운영상의 결과입니다. PCC는 iCloud와 나란히 OS에 통합되어 있어, 연결할 인증도 없고, 교체할 API 키도 없으며, 사용자에게 요구할 계정 설정도 없습니다1. 사용자에게는 Apple Intelligence를 지원하는 기기만 있으면 그 외에는 아무것도 필요 없습니다. 개발자에게 토큰 비용은 없습니다. 각 사용자는 일일 한도를 받으며, iCloud+를 통해 이를 상향할 수 있습니다1. 이 모델은 다운로드 200만 건 미만인 앱에서 사용할 수 있고, 개발자 웹사이트에서 신청합니다1.
프라이버시 보장에 관한 세션 319: 계정 설정도, 인증도, API 키도 없고 개발자에게 토큰 비용도 없으며, 각 사용자의 요청은 자신의 iCloud 계정에 집계됩니다.
업데이트, 2026년 6월 8일: PCC가 Apple silicon을 떠나다
WWDC가 열린 바로 그 주에 Apple은 PCC가 동작하는 곳을 바꾸는 보안 게시물을 발표했습니다. PCC는 이제 새로운 Apple Intelligence 워크로드를 위해 NVIDIA GPU 기반의 Google Cloud로 확장되며, 이는 “업계를 선도하는 PCC 프라이버시 약속을 처음으로 서드파티 데이터 센터까지 확장하는 것”입니다5. 여러분이 대상으로 삼는 프레임워크는 바뀌지 않습니다. 그 아래의 인프라가 바뀝니다.
Apple은 계약을 동일하게 유지합니다. 다섯 가지 핵심 요건은 예전 그대로입니다. “무상태 연산, 강제 가능한 보장, 특권 런타임 접근 불가, 비표적성, 검증 가능한 투명성”이 그것입니다5. 바뀌는 것은 구현이며, Apple은 이를 “NVIDIA GPU를 사용한 NVIDIA Confidential Computing, TDX를 갖춘 Intel CPU, 그리고 Google의 Titan 칩”이라고 명시합니다5. Apple은 그 기반을 표준 컨피덴셜 컴퓨팅 배포 이상으로 두 가지 방식으로 강화하는데, 개발자라면 주목할 만합니다. Apple은 “PCC 플릿의 일부인 모든 Google Cloud 하드웨어에 대해 암호학적으로 검증 가능한 추가 전용(append-only) 원장”을 유지하며, 사용자 데이터를 유출할 수 있는 구성 요소에 대해서는 “소프트웨어 어테스테이션을 독립된 벤더들의 최소 두 개의 별도 신뢰 루트(root of trust)에 기반을 둡니다”5.
프라이버시 태세에서 가장 중요한 문장은 통제에 관한 것입니다. Apple은 “Apple이 PCC 소프트웨어에 대한 완전한 통제권을 유지하며, Apple 기기는 Apple이 암호학적으로 승인한 PCC 소프트웨어만 신뢰한다”고 밝힙니다5. 연구자를 위한 검증 이야기도 그대로 이어집니다. Apple은 모든 바이너리를 공개 검사를 위해 게시하고, Apple Security Bounty 프로그램을 통해 연구 모드의 라이브 PCC 노드에 대한 접근을 제공하겠다고 말합니다5. 롤아웃은 단계적으로 이루어지며, “여름 프리뷰 기간 내내 완전한 보호 집합을 향해 점차 강화”되므로, PCC를 대상으로 출시하는 기능은 프리뷰 동안 최종본이 아니라 변동하는 보장 집합을 물려받습니다5.
이 글의 코드에 대한 핵심은 이것입니다. 위의 프라이버시 주장은 PCC 모델이 Apple silicon에서 응답하든 Google Cloud에서 응답하든 동일하게 성립합니다. Apple이 같은 다섯 가지 요건과 같은 기기 측 신뢰 게이트를 유지하기 때문입니다. 또한 PCC는 서드파티 모델이 따라올 수 없는 영역에서의 Apple 자체 답이며, 이는 같은 주에 나온 프롬프트 인젝션에 대한 Apple의 자체 답과 짝을 이룹니다.
랩 노트: PCC의 보장은 프레임워크 경계에서 멈춥니다
WWDC 랩이 단도직입적으로 짚었던 한 가지는 그 확장 옆에 함께 드러내 둘 가치가 있습니다. 마케팅이 긋지 않는 선을 긋기 때문입니다. PCC의 보장인 무상태 연산, 비표적성, 임시 저장은 프레임워크의 언어 모델 프로토콜을 통해 도달하는 Gemini나 Claude 같은 서드파티 모델까지는 확장되지 않습니다. 세션이 System이나 PCC 모델 대신 공급자 패키지로 라우팅될 때, 그 공급자의 약관을 읽고 그로 인한 데이터 흐름을 공개하는 것은, App Store 프라이버시 영양 성분 표시 라벨에 명시하는 일을 포함해 개발자의 몫입니다6. 프로토콜은 여러 모델에 걸쳐 하나의 Swift API를 주지만, 여러 모델에 걸쳐 하나의 프라이버시 태세를 주지는 않습니다. 그 공개 작업은 Apple이 아니라 여러분에게 떨어집니다.
UI를 망가뜨리지 않고 일일 한도 처리하기
일일 한도는 클라우드 모델이 UX에 끼어드는 유일한 지점이며, 세션은 이를 어떻게 다룰지에 대해 분명한 입장을 가지고 있습니다. 요청은 사용자의 iCloud 계정에 집계되며, 한도를 초과하는 요청은 오류를 던집니다1. 그 원시 오류를 UI에 그대로 노출하는 것은 잘못된 선택입니다. 그 오류는 실행 가능하지 않기 때문입니다1.
그 대신 모델의 할당량 상태를 확인하고 직접 만든 컨트롤을 렌더링하세요. 세션은 모델의 quotaUsage에서 isLimitReached를 확인하고, 한도를 초과하면 사용자가 한도를 관리하거나 상향할 수 있는 버튼을 보여줍니다1. 표현 방식은 두 가지 규칙이 좌우합니다. 알림은 사용하지 마세요. 한도 상태는 닫혀 사라지기보다 지속되어야 하기 때문입니다. 대신 UI의 상태를 갱신하세요. 예를 들어 요청 버튼을 비활성화하고 그 아래에 상향 액션이 달린 은은한 라벨을 보여주는 식입니다1. 그리고 한도에 가까워지는 경우도 감지하세요. 모델은 belowLimit 상태를 노출하므로, 한도에 근접한 사용자에게 경고를 보내 어떤 요청이 비용을 들일 가치가 있는지 직접 판단하게 할 수 있습니다1.
// Sketch following the session's pattern.
let quota = PrivateCloudComputeLanguageModel.default.quotaUsage
if quota.isLimitReached {
// Persistent label + upgrade button. No alert.
showUpgradeAffordance()
} else if quota.belowLimit {
// Optional: warn the user they are nearing the daily limit.
showNearingLimitNotice()
}
Xcode는 실제 할당량을 소모하지 않고도 이를 만들 수 있게 돕습니다. 스킴의 Debug Options에서 “Simulate Apple Foundation Models Availability” 설정은 “Quota Usage Limit Reached”와 “Nearing Usage Limit”을 제공하므로, 시뮬레이터에서 두 UI 상태를 모두 시험해볼 수 있습니다1.
직접 만든 LLM 가져오기: 공급자 프로토콜
iOS 27의 더 깊은 변화는 Foundation Models가 단일 모델 프레임워크이기를 멈췄다는 점입니다. Apple은 온디바이스 System 모델을 다시 만들고 세 개의 자체 옵션을 추가한 뒤, 다른 모든 이에게 문을 열었습니다. PCC는 추론과 32K 컨텍스트를 갖춘 서버 모델을 가져옵니다. Core AI는 Apple Neural Engine에서 로컬 모델을 효율적으로 실행합니다. MLX는 Hugging Face의 MLX 커뮤니티에 있는 수천 개의 모델을 모델 ID로 풀어줍니다2. 그리고 이 모든 것이 새로운 공개 프로토콜 위에 있기 때문에, 프런티어 공급자들이 자체 Swift 패키지를 출시할 수 있습니다. Apple은 Anthropic과 Google이 같은 프레임워크를 통해 Claude와 Gemini를 Swift 개발자에게 가져온다고 밝혔습니다2.
세션 339의 Christopher Webb: 시스템 모델을 넘어 프레임워크는 PCC, Core AI, MLX를 추가하며, 공개 프로토콜을 통해 Anthropic과 Google 같은 공급자들이 자체 Swift 패키지로 이를 확장할 수 있습니다.
이 프로토콜은 두 부분으로 이루어지며, 그 분할이 설계의 전부입니다. LanguageModel은 프레임워크에 모델을 설명합니다. 기능을 선언하고 구성(configuration)을 돌려줍니다. LanguageModelExecutor는 실제 작업이 있는 곳으로, 그 구성을 받는 이니셜라이저, 첫 요청에 앞서 가중치를 로드하거나 연결을 여는 prewarm, 그리고 생성 결과를 세션으로 스트리밍하는 respond를 가집니다2. 구성은 둘 사이를 잇는 연결 고리이자 조회 키입니다. 각 세션은 executor 저장소를 가지고 있는데, 모델이 저장소가 본 적 없는 구성을 만들어내면 프레임워크가 executor를 빌드해 캐시하며, 세션은 그 구성을 Hashable로 설명하므로 같은 구성을 가진 두 번째 모델은 같은 executor로 해석됩니다2. 그 캐싱 덕분에 상태를 가진 통합이 작업을 다시 하지 않고 호출 사이에 KV 캐시나 지속적인 연결을 유지할 수 있습니다2.
모델 공급자에게 executor의 역할은 번역입니다. 프레임워크는 트랜스크립트, 즉 타입이 지정된 항목들의 시퀀스를 executor에게 건네고, executor는 그 항목들을 자신의 추론 엔진이 사용하는 역할(role)에 매핑합니다2. Apple은 여섯 가지 항목 유형을 정의합니다. instructions, prompts, tool calls, tool outputs, responses, reasoning입니다2. system, user, assistant 역할만 가진 모델은 tool calls와 reasoning을 assistant에 매핑하고, 전용 tool 역할을 가진 모델은 그쪽으로 라우팅합니다2. 또한 각 요청은 개발자의 의도를 두 개의 프로퍼티 묶음에 실어 나릅니다. 프롬프트에 들어가는 것(추론 단계나 응답 스키마 등)을 위한 ContextOptions와, 디코더 루프(샘플링, temperature, 길이 등)를 위한 GenerationOptions입니다2. 나가는 길에 executor는 채널로 이벤트를 스트리밍하는데, 텍스트 델타에 앞서 메타데이터 업데이트(모델 및 요청 ID)와 사용량 업데이트(프롬프트 토큰 수)를 먼저 보내므로, 개발자는 전체 스트림을 기다리지 않고도 요청의 비용을 알 수 있습니다2.
오류 이야기는 공급자를 결코 작성하지 않는 앱 개발자에게도 중요합니다. Foundation Models는 모든 모델이 마주치는 경우를 위해 LanguageModelError를 제공합니다. 컨텍스트 윈도우 초과, 속도 제한, 거부 등이 그것입니다2. 공급자는 들어맞을 때 그중 하나를 던져야 합니다. 어떤 프레임워크 사용자든 이미 이를 잡는 법을 알기 때문입니다. 그리고 구독 등급이나 계정 상태처럼 자체 서비스만 발생시키는 실패에 한해 커스텀 오류 유형을 남겨두세요2. 공급자는 또한 커스텀 응답 메타데이터(초당 토큰 수, 첫 토큰까지의 시간)와, 오디오나 비디오 같은 새 모달리티로 프로토콜을 확장하는 커스텀 세그먼트 유형을 통해 차별화할 여지를 얻으며, 이 모든 것이 같은 세션을 통해 흐릅니다2. 클라우드 공급자에게는 한 가지 콕 짚는 자격 증명 주의가 따릅니다. API 키를 평문 문자열로 받지 말고, 토큰 공급자나 로그인 흐름을 제공하며, 토큰을 Keychain에 보관하고, App Attest를 통한 기기 어테스테이션과 짝지으세요2.
에이전트 측면의 함의: 하나의 세션 안에서 모델 라우팅하기
공급자 프로토콜과 PCC는 앱당 하나의 모델을 생각하기를 멈추고 작업당 하나의 모델을 생각하기 시작할 때 빛을 발합니다. 바로 그것을 DynamicProfile이 가능하게 합니다. 이것은 하나의 LanguageModelSession이 대화 중간에 모델을 전환해, 눈앞의 작업에 가장 알맞은 구성을 선택하게 해줍니다3.
세션 242의 Erik과 Oliver: 공예 앱은 에이전트처럼 동작하는 프로필을 선언해, 높은 temperature로 PCC에서 브레인스토밍하고, deep 추론으로 계획하며, 서버 호출을 아끼려고 온디바이스 모델에서 검토합니다.
세션의 예시는 세 단계로 이루어진 공예 앱입니다. 브레인스토밍은 폭넓은 지식과 창의성을 원하므로, 그 프로필은 temperature를 1로 설정한 PrivateCloudComputeLanguageModel을 사용합니다3. 계획은 깊이를 원하므로 PCC에 머무른 채 reasoningLevel을 deep으로 설정합니다3. 검토는 사용자가 작업하는 동안의 일상적인 안내이므로, 불필요한 서버 호출을 아끼려고 SystemLanguageModel로 내려가며, 이는 정작 필요한 작업을 위해 사용자의 일일 PCC 할당량을 남겨두는 효과도 있습니다3. DynamicProfile의 본문은 모든 프롬프트마다 다시 평가되므로, 앱이 모드를 바꿈에 따라 세션은 페르소나를 바꿉니다. 모자를 바꿔 쓰거나, 에이전트를 바꾸는 것이죠3.
컨텍스트 크기가 다른 모델들 사이를 라우팅하는 것은 온디바이스 전용 프레임워크가 결코 요구하지 않던 규율을 강제합니다. PCC의 32K에서 온디바이스의 4K로 옮기려면 항목을 잘라내 맞춰야 할 수 있는데, 세션은 프라이버시 용도도 짚습니다. 덜 사적인 모델로 옮길 때 기존 항목에서 사적인 정보를 가려내라는 것이죠3. 프레임워크의 historyTransform은 프롬프트를 보내기 전에 로컬에서 비파괴적인 변환을 적용하므로, 다음 차례에 필요할지 모를 컨텍스트를 잃지 않고도 한 모델에 맞게 잘라낼 수 있습니다3. 변형에는 비용이 따릅니다. 트랜스크립트에 덧붙이면 KV 캐시가 보존되고 첫 토큰까지의 시간이 최소화되는 반면, 히스토리를 다시 쓰면(항목 제거, 도구 변경, 지침 업데이트) 보통 캐시가 무효화되고 지연 시간이 늘어납니다3. 작년의 세션 API는 그 최적화를 보장하기 위해 추가 전용이었지만, 올해 Apple은 보조 바퀴를 떼어냈고, 모델의 캐싱 동작을 알 수 있는 유일한 방법은 Xcode의 Foundation Models Instrument로 측정하는 것입니다3.
결정: 온디바이스, PCC, 아니면 직접 만든 공급자
이 세 가지 선택지는 사다리가 아닙니다. 각각 서로 다른 형태의 문제에 알맞습니다.
먼저 온디바이스 System 모델에 손을 뻗으세요. 무료이고, 오프라인에서 동작하며, 요청 한도가 없고, iOS 27 재구축으로 지시 따르기가 더 좋아졌고 이미지 입력이 추가됐습니다2. 4K 컨텍스트가 진짜 천장입니다1. 더 필요하다고 가정하기 전에 먼저 평가하세요. 세션은 이 모델이 얼마나 잘 수행하는지에 놀랄 거라고 경고하기 때문입니다1.
작업이 온디바이스 모델을 넘어서고 데이터가 민감할 때 Private Cloud Compute에 손을 뻗으세요. 32K 윈도우가 필요한 긴 문서, 다단계 추론, 또는 큰 출력을 내는 여러 번의 도구 호출이 그렇습니다1. PCC는 키도, 계정도, 토큰 비용도 없이 Apple의 프라이버시 태세를 유지하는 유일한 클라우드 옵션이며, 그 대가는 여러분이 설계로 다루는 사용자당 일일 한도입니다1. 아니었다면 직접 서버 모델을 세우고 프라이버시 심사를 두려워했을 상황에서 이것을 고르세요.
플랫폼이 주지 않는 특정 모델이 필요할 때 직접 만든 공급자에 손을 뻗으세요. 번들로 묶어 ANE에서 실행하는 로컬 모델을 위한 Core AI, ID로 부르는 오픈소스 모델을 위한 MLX, 또는 프런티어 모델을 위한 공급자 패키지(Claude, Gemini)가 그것입니다2. 자격 증명 처리, 어테스테이션, 프라이버시 공개를 떠안는 대신, 여러분의 앱이 이미 사용하는 같은 LanguageModelSession 뒤에 이름 붙은 모델을 얻습니다2. 세션은 온디바이스 모델과 클라우드 모델이 프라이버시 특성이 매우 다르며, 사용자는 어느 쪽이 답하고 있는지 알 자격이 있다고 분명히 말합니다2.
단계가 다를 때는 하나의 세션 안에서 섞으세요. 그것이 DynamicProfile의 경우입니다. 무거운 창의 또는 추론 차례에는 PCC를, 일상적인 차례에는 온디바이스 모델을 쓰며, 각 프로필은 자체 모델, temperature, 추론 단계를 지닙니다3.
FAQ
온디바이스 모델에서 Private Cloud Compute로 어떻게 전환하나요?
LanguageModelSession에 넘기는 모델을 바꾸세요. 프레임워크는 여러 모델에 걸쳐 통일된 Swift API를 제공하므로, 온디바이스 System 모델에서 PrivateCloudComputeLanguageModel로 옮기는 것은 코드 한 줄짜리 변경이며, 여러분의 프롬프트, Generable 출력, 도구는 똑같이 동작합니다1. PCC는 Apple Intelligence를 지원하는 기기에서만 동작하므로 가용성 확인은 유지하세요1.
Private Cloud Compute는 온디바이스 모델만큼 프라이빗한가요?
Apple은 사용자 데이터가 절대 저장되지 않고 오직 해당 요청에만 사용되도록 PCC를 설계했으며, 그 설계는 연구자들이 독립적으로 검증했습니다1. PCC는 iCloud와 나란히 OS에 통합되어 있어, 여러분이 관리할 API 키도, 계정 설정도, 인증도 없습니다1. 오프라인 동작과 무제한 요청에서는 여전히 온디바이스가 이기고, 컨텍스트 크기와 추론에서는 PCC가 이깁니다1.
PCC의 비용은 얼마이고, 일일 한도는 무엇인가요?
개발자에게 토큰 비용은 없습니다1. 각 사용자는 자신의 iCloud 계정에 집계되는 일일 요청 한도를 받으며, iCloud+를 통해 더 높은 한도로 상향할 수 있습니다1. UI에서는 모델의 할당량 상태(isLimitReached, belowLimit)를 확인하고 알림 대신 지속적이고 실행 가능한 상향 컨트롤을 보여주는 방식으로 한도를 처리하세요1. 이 모델은 다운로드 200만 건 미만인 앱에서 사용할 수 있고, 개발자 웹사이트에서 신청합니다1.
“직접 만든 LLM 공급자 가져오기”는 실제로 무엇을 뜻하나요?
Apple은 공개 LanguageModel 프로토콜을 추가했으므로, 어떤 모델이든 Foundation Models 프레임워크에 연결되어 Apple 자체 모델과 같은 API로 호출될 수 있습니다2. System 모델과 PCC를 넘어, 프레임워크는 ANE의 로컬 모델을 위한 Core AI와 Hugging Face 커뮤니티 모델을 위한 MLX를 추가하며, Apple은 Anthropic과 Google이 Claude와 Gemini를 위한 Swift 패키지를 출시한다고 밝혔습니다2. 공급자는 LanguageModel과, 프레임워크의 트랜스크립트를 자체 형식으로 번역하고 생성 결과를 스트리밍해 돌려주는 LanguageModelExecutor를 구현합니다2.
하나의 세션이 둘 이상의 모델을 사용할 수 있나요?
네. DynamicProfile을 사용하면 하나의 LanguageModelSession이 대화 중간에 모델을 전환해, 작업마다 가장 알맞은 구성을 고를 수 있습니다3. 프로필은 자체 모델, 지침, temperature, 추론 단계를 지니며, 프로필 본문은 모든 프롬프트마다 다시 평가됩니다. 그래서 하나의 세션이 같은 대화 안에서 PCC로 브레인스토밍하고 온디바이스 모델로 검토할 수 있습니다3. 그렇게 할 때는 모델 간 컨텍스트 크기 격차와, 히스토리를 다시 쓸 때의 KV 캐시 비용을 주의하세요3.
전체 Apple Ecosystem 클러스터: Foundation Models 프레임워크 해설, iOS 27 도구 호출 컨트롤, 에이전트형 워크플로의 구분, 그리고 온디바이스 LLM입니다. 허브는 Apple Ecosystem 시리즈입니다. iOS와 AI 에이전트에 대한 더 넓은 맥락은 iOS Agent Development 가이드를 참고하세요.
-
Apple, WWDC 2026 session 319, “Build with the new Apple Foundation Model on Private Cloud Compute”, presented by Louis. Source for: the one-line switch from the on-device model to
PrivateCloudComputeLanguageModel; the 4K vs 32K context comparison; reasoning at light, moderate, and deep levels set when callingrespond; thecontextSizeproperty onSystemLanguageModelandPrivateCloudComputeLanguageModel; the privacy design (data never stored, used only for the request, independently verified); no API keys, no account setup, no token cost, iCloud-counted daily limit upgradeable via iCloud+; availability for apps under 2M downloads and the developer-website application; thequotaUsageisLimitReached/belowLimithandling and the no-alert UI guidance; and the Xcode “Simulate Apple Foundation Models Availability” debug option. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Apple, WWDC 2026 session 339, “Bring an LLM provider to the Foundation Models framework”, presented by Christopher Webb. Source for: the public
LanguageModelprotocol andLanguageModelExecutor; the configuration-as-lookup-key executor store andHashableconfiguration; the additional model options (Core AI on the ANE, MLX via Hugging Face); the rebuilt on-device System model with image input; Anthropic and Google shipping Swift packages for Claude and Gemini; the six transcript entry types and role mapping;ContextOptionsandGenerationOptions; the metadata/usage/text-delta streaming order;prewarm;LanguageModelErrorversus custom errors; custom response metadata and custom segment types; credential and App Attest guidance; and the privacy-characteristics disclosure between on-device and cloud models. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Apple, WWDC 2026 session 242, “Build agentic app experiences with the Foundation Models framework”, presented by Erik and Oliver. Source for:
DynamicProfileswitching models within aLanguageModelSession; the craft-app example (brainstorming on PCC at temperature 1, planning with deepreasoningLevel, reviewing onSystemLanguageModel); profile body re-evaluation per prompt; trimming and redacting the transcript when moving between models;historyTransformas a local non-destructive transform; and the KV-cache implications of appending versus rewriting history, measured with the Foundation Models Instrument in Xcode. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Apple Developer, “Foundation Models” framework and the “Tool” protocol. The framework’s
LanguageModelSession, guided generation via@Generable, and theToolprotocol that the on-device model invokes mid-generation carry over unchanged to the PCC model and to provider models that conform to the newLanguageModelprotocol. ↩ -
Apple, “Expanding Private Cloud Compute”, June 8, 2026, written by Apple Security Engineering and Architecture (SEAR), User Privacy, Core Operating Systems (Core OS), Services Engineering (ASE), and Machine Learning and AI (AIML). Source for: PCC extending to Google Cloud on NVIDIA GPUs for new Apple Intelligence workloads and the “third-party data centers for the first time” framing; the five unchanged core requirements; the implementation stack (NVIDIA Confidential Computing with NVIDIA GPUs, Intel CPUs with TDX, Google’s Titan chip); the append-only hardware ledger and the two-independent-roots-of-trust attestation; Apple’s retained control over PCC software and the device-side trust gate; the summer-preview ramp; and the published binaries plus research-mode node access through the Apple Security Bounty Program. ↩↩↩↩↩↩↩
-
Apple, WWDC 2026 session 8009, “WWDC26 Privacy and Security Group Lab”. Paraphrased from a locally transcribed recording of the WWDC 2026 Privacy and Security Group Lab; Apple publishes no captions for the labs. Source for: PCC’s guarantees (stateless compute, non-targetability, ephemeral storage) not extending to third-party models such as Gemini or Claude reached through the framework’s language model protocol, and the developer owning the provider’s terms and the data-flow disclosure, including in the App Store privacy nutrition labels. ↩