iOS 앱에 요약이나 태그 추출 같은 AI 기능을 넣고 싶다면 애플의 Foundation Models 프레임워크가 가장 짧은 길이에요. 2026년 9월 14일 iOS 27이 배포되면서 이 프레임워크의 온디바이스 모델이 새 버전으로 바뀌었고, 서버에서 도는 Private Cloud Compute 모델도 같은 API로 부를 수 있게 됐어요. 호출 순서와 바뀐 부분을 애플 개발자 문서 기준으로 정리해 봤어요.

먼저 모델을 쓸 수 있는 기기인지 확인해요
문서는 모델을 부르기 전에 availability부터 확인하라고 해요. Apple Intelligence를 지원하는 기기와 지역이어야 하고, 기능을 막 켰다면 모델 내려받기가 끝나지 않았을 수도 있어서예요.
private var model = SystemLanguageModel.default
switch model.availability {
case .available:
// 지능형 기능 화면 보여 주기
case .unavailable(.deviceNotEligible):
// 대체 화면
case .unavailable(.modelNotReady):
// 내려받는 중이거나 시스템 사정으로 준비 안 됨
case .unavailable(let other):
// 이유를 알 수 없는 경우
}
모델이 준비되면 LanguageModelSession()을 만들어 호출해요. 한 번 묻고 끝나는 기능이면 호출할 때마다 세션을 새로 만들고, 대화를 이어 가야 하면 같은 세션을 재사용하라는 것이 문서의 안내예요. 프레임워크가 지원하는 플랫폼은 iOS, iPadOS, macOS, visionOS가 26.0부터이고 watchOS는 27.0부터라고 표시돼 있어요.
모델 버전이 세 개라서 프롬프트도 갈라져요
SystemLanguageModel은 OS 업데이트와 함께 바뀌어요. 문서에는 지금 모델 버전이 세 가지라고 나와 있어요. 26.0부터 26.3까지, 26.4, 그리고 27.0이에요. 사용자가 iOS 27로 올리는 순간 앱이 부르는 모델이 달라지니 기존 프롬프트가 같은 결과를 낸다고 믿으면 안 돼요. 애플은 새 모델이 지시를 더 정확히 따르고 복잡한 상황에서도 결과가 낫다고 설명하면서도, 반드시 프롬프트를 다시 시험해 보라고 당부해요.
대응법도 문서에 있어요. 이전 모델에서 나온 출력을 먼저 기록해 두고, 새 모델 출력과 비교해서 고칠 곳을 찾아요. 고쳐야 한다면 프롬프트에 버전을 붙이고 #available(iOS 26.4, macOS 26.4, visionOS 26.4, *)처럼 OS 버전으로 갈라 써요. 새 버전부터 나열하라는 주의도 붙어 있어요. 프롬프트는 support-ticket-summarizer-v1.0처럼 버전을 붙인 텍스트 파일이나 Xcode 문자열 카탈로그로 빼 두라고 해요. 서버에서 내려받는 방식이면 앱을 새로 배포하지 않고도 프롬프트를 바꾸고 되돌릴 수 있고요.
컨텍스트 4096토큰이 가장 먼저 부딪히는 벽이에요
온디바이스 모델의 컨텍스트 창은 세션당 4096토큰이에요. 프롬프트와 지시문뿐 아니라 도구 정의, 도구의 입출력, @Generable 타입의 스키마, 모델의 응답이 전부 이 안에 들어가요. 영어는 토큰 하나가 대략 3~4글자이고, 한국어를 포함한 한중일 언어는 대체로 글자 하나가 토큰 하나라고 해요. 한글 앱이라면 영어 예제보다 훨씬 빨리 꽉 차요.
한도를 넘기면 contextSizeExceeded 오류가 나요. 이때는 기록을 줄이거나 새 세션을 만들고, 필요한 상태만 transcript로 넘겨서 다시 시도하라고 해요. 미리 재 볼 수도 있어요. tokenCount(for:)로 프롬프트나 세션 기록이 쓰는 토큰을, contextSize로 모델의 최대치를 알 수 있어요. 둘 다 26.4에서 들어온 항목이에요. 응답 길이는 프롬프트에 ""세 문장으로""라고 적어서 줄이고, maximumResponseTokens로 자르면 문장이 중간에 끊길 수 있으니 마지막 수단으로 쓰라고 해요.

4096이 모자라면 PCC로 바꿔요
iOS 27에서 새로 생긴 PrivateCloudComputeLanguageModel은 컨텍스트가 32K토큰이고 추론 수준을 여러 단계로 고를 수 있어요. 문서가 정리한 차이는 이래요. 온디바이스는 오프라인에서도 되고 사용량 제한이 없고 추론은 지원하지 않아요. PCC는 네트워크가 있어야 하고 사용자마다 하루 요청 한도가 있어요. 개인정보 보호 쪽은 둘 다 지켜진다고 표시돼 있어요.
코드는 한 줄이 바뀌어요.
let session = LanguageModelSession(model: PrivateCloudComputeLanguageModel())
두 모델이 같은 LanguageModel 프로토콜을 따르니 respond 호출이나 도구, 지시문 설정은 그대로 써요. 대신 iOS 27 이상에서만 되니 #available로 감싸고 이전 버전은 온디바이스로 돌려야 해요. 네트워크가 끊겨 요청이 실패했을 때도 온디바이스로 되돌리라는 안내가 있어요. 개발하려면 자격 요건을 맞춰 관리형 entitlement 접근을 신청해야 한다는 점도 놓치기 쉬워요. 하루 한도는 quotaUsage로 읽어서 한도에 다가가면 화면에 알리고, iCloud+ 업그레이드 안내를 띄울 수 있어요.
온디바이스가 잘 못하는 일도 문서에 적혀 있어요
요약, 개체 추출, 문장 다듬기, 분류, 태그 생성, 게임 대사에는 잘 맞는다고 해요. 반대로 기본 수학, 코드 생성, 논리 추론은 피하라고 적혀 있어요. ""bagel에 b가 몇 개 있어?"" 같은 질문이 예시로 나와요. 이런 기능이 필요하면 PCC나 다른 모델로 넘기는 편이 맞아요.
그 밖에 이번 개정에서 눈에 띄는 변화는 이미지를 프롬프트에 넣고 Vision 프레임워크의 OCRTool, BarcodeReaderTool을 도구로 쓰는 기능, 모델·도구·지시문을 세션 중에 바꾸는 동적 프로필이에요. 처음 붙이는 단계라면 가용성 확인, 세션 하나, 토큰 계산부터 해 보세요.
참고한 자료
- Apple 뉴스룸 Major updates for Apple’s software platforms are now available https://www.apple.com/newsroom/2026/09/major-updates-for-apples-software-platforms-are-now-available/ (확인일 2026-10-13)
- Apple Developer Documentation Foundation Models https://developer.apple.com/documentation/foundationmodels (확인일 2026-10-13)
- Apple Developer Documentation Foundation Models updates https://developer.apple.com/documentation/updates/foundationmodels (확인일 2026-10-13)
- Apple Developer Documentation SystemLanguageModel https://developer.apple.com/documentation/foundationmodels/systemlanguagemodel (확인일 2026-10-13)
- Apple Developer Documentation Managing the context window https://developer.apple.com/documentation/foundationmodels/managing-the-context-window (확인일 2026-10-13)
- Apple Developer Documentation Adding server-side intelligence with Private Cloud Compute https://developer.apple.com/documentation/foundationmodels/adding-server-side-intelligence-with-private-cloud-compute (확인일 2026-10-13)
- Apple Developer Documentation Updating prompts for new model versions https://developer.apple.com/documentation/foundationmodels/updating-prompts-for-new-model-versions (확인일 2026-10-13)